Вам может понадобиться сделать это:
могу сделать, чтобы 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;