IAR编译stm32工程报错Error[Li005]: no definition for “assert_param” [referenced from E:\stm32编程文件\编程文件\Project\Debug\Obj\stm32f10x_gpio.o]
原因:options中的包含外设的宏名设置错误。或者是添加了USE_FULL_ASSERT。
步骤:project→options→c/c++compiler→preprocessor→defined symbols
检查是否添加USE_STDPERIPH_DRIVER以及是否拼写正确,另外如果添加了USE_FULL_ASSERT这条的话去掉,这条语句也会导致报同样的错。
其实正常情况下不会出现这种错误,未添加USE_STDPERIPH_DRIVER时会报错未定义GPIO外设之类的信息,只是我才疏学浅,遇到这个问题后自己给main文件前面添加了#include’‘stm32f10x_gpio.h’‘和#include’‘stm32f10x_rcc.h’’,GPIO未定义的问题消除后就出现了这个错误。