Вам может понадобиться сделать это:

могу сделать, чтобы MISRA не выдавала эту ошибку для кода ниже? Я пробовал кастовать с (unit16_t). Но тогда это не позволило явное преобразование.

Незаконное неявное преобразование из базового типа MISRA "unsigned char" в "unsigned int" в сложном выражении (правило 10.1 MISRA C 2004)

 uint8_t rate = 3U; 
 uint8_t percentage = 130U;      
 uint16_t basic_units = rate * percentage;