好久没有写STM8的项目了,今天打开IAR准备试试写写小项目的时候,发现错误如题所示,报错打不开<intrinsics.h>头文件了,报错截图如下:
非常简单的一个main.c文件,就包含了stm8s.h头文件,这个报错搞得我纳闷了半天,找到之前写的项目运行了下,发现同样的头文件没有这个问题,定位了半天发现是由于自己手欠设置了不该设置的地方,如图所示:
正确做法是:把勾选去掉,保留加载默认include目录的选项
设置好了之后就不会报错了,看下这个<intrinsics,h>是哪里的
原来这个是软件安装时候默认的头文件存放位置,所以需要去掉勾选,让IAR自己去这个默认路径下加载头文件,可以打开看下这里的头文件,如果以后有遇到类似的报错,可以看看这个设置能不能解决问题!
另外补充一点小建议,在Options -->> C/C++ Complier -->> Preprocessor 中设置的自己的文件位置的时候,记得使用相对路径,可以只包括inc文件夹,也就是头文件xx.h文件存放的路径。
另外还有一个注意的地方,如果是使用示例中stm8s.h头文件,记得去掉只读属性,并放开自己对应的系列单片机的定义,如图:
好了,以上就是重玩IAR和stm8s踩坑记录,防止下次再犯!!