ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
1039493
teap0t (23.09.2020 21:26, просмотров: 1075)
#13bis Народ, гляньте, у кого IAR есть, что написано в #define assert_param (в каком-то из заголовочных файлов примеров и библиотек) в вашей версии. Процессор не имеет значения, т.к. речь о языке Си. В версии 5.20 код выглядит так: 
#ifdef  DEBUG
  #define assert_param(expr) ((expr) ? (void)0 : assert_failed((u8 *)__FILE__, __LINE__))
  void assert_failed(u8* file, u32 line);
#else
  #define assert_param(expr) ((void)0)
#endif /* DEBUG */


В версии 7.40:

#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 */


Иначе говоря, то же самое. Но эта конструкция не совместими с MISRA2004 в ветке "#else". Может в более свежих версиях IAR чего-нибудь новое придумал?

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