IAR中库文件 "iostm8s103f3.h" 和 "stm8s.h" 重定义报警

2019-03-23 16:00发布

我用的是IAR STM8 1.1 的 里面自带的 iostm8s103f3.h stm8s.h 一起定义时 出现 重定义

Warning[Pe047]: incompatible redefinition of macro "AWU_TBR_AWUTB" (declared at line 1689 of "C:Program Files (x86)IAR SystemsEmbedded Workbench 6.0 Evaluationstm8inciostm8s103f3.h") C:UsersDellDesktopST204PLibrariesSTM8S_StdPeriph_Driverincstm8s.h 328

这个只是200多个定义中重复的一个

而且 这个 iostm8s103f3.h 文件中没有定义GPOIC口 PC_ODR_ODR0等关于C口都无法直接使用 是因为IAR版本低了还是什么其他原因? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
piaoxian
1楼-- · 2019-03-24 00:11
/ 那我想,你要么就把2个*,h里交叉定义的名称屏蔽掉一个,要么呢,你就不用iostm8s103f3.h ,用你觉得麻烦的的函数了。其实我觉得函数也不麻烦,都是库里自带的函数,只是增加了代码量:(
baione123
2楼-- · 2019-03-24 01:31
 精彩回答 2  元偷偷看……
piaoxian
3楼-- · 2019-03-24 02:19
建议你不要都引进来,就引一个stm8s.h,然后在stm8s.h里加上#define stm8s103,然后再编译试试。
baione123
4楼-- · 2019-03-24 02:29
如果不定义 iostm8s103f3.h    比如写IO的话 就不能直接用PA_ODR_ODR1=1这种方式了  要用函数来表达  还有很多其他的一些其他的方便的表达方式就不能直接使用了

你说的方法我也用到了  但每次写一些数据  很多情况下都要用函数  有点麻烦
baione123
5楼-- · 2019-03-24 07:42
 精彩回答 2  元偷偷看……
lovedou10000
6楼-- · 2019-03-24 13:23
我也纠结中。

一周热门 更多>