ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
1039161 Топик полностью
teap0t (23.09.2020 08:32, просмотров: 567) ответил teap0t на Несколько интервью по личным вопросам. Продолжение_3. Продолжение_2 по ссылке
#12 MISRA. Имеется куча ошибок (кстати в библиотеке периферии, про которую ST заявляет, что она совместима с сабжем). Error[Pm049]: all non-null statements shall have a side-effect (MISRA C 2004 rule 14.2). Ругань идёт на следующий фрагмент: 
assert_param( IS_NVIC_OFFSET( Offset ));


Сам ассерт задаётся так:


#ifdef  USE_FULL_ASSERT
  #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
  void assert_failed(uint8_t* file, uint32_t line);
#else
  #define assert_param(expr) ((void)0)
#endif /* USE_FULL_ASSERT */


Я в макроопределениях полный нуль. Можно ли чего-нибудь сделать, кроме удаления ассертов?

Это я, здравствуйте. http://the-epic-file.com/bookshelf.htm