你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

求助:“STM8S.H”中的错误!

[复制链接]
懂事儿 提问时间:2016-3-14 16:27 /
MCU"STM8S003F3P6"。
在IAR中建立项目,加入CLK.C后,编译提示:“Please select first the target STM8S/A device used in your application (in stm8s.h file)”

别笑,新手。

求高手指点!
收藏 评论6 发布时间:2016-3-14 16:27

举报

6个回答
zhuoyemp4 回答时间:2016-3-14 17:18:14
亲,你好!
这是因为你在stm8s.h里没有加入宏定义或宏定义不是你的器件,
在stm8s.h里有这样几行,
#if !defined (STM8S208) && !defined (STM8S207) && !defined (STM8S105) && !defined (STM8S103) && !defined (STM8S903) && !defined (STM8AF52Ax) && !defined (STM8AF62Ax) && !defined (STM8AF626x)
#error "Please select first the target STM8S/A device used in your application (in stm8s.h file)"
#endif
在你编译时,如果没有以上宏定义,就会报这个错。

在stm8s.h里有一段选择器件的代码:
// #define STM8S207      /*!< STM8S High density devices without CAN */

/* #define STM8AF52Ax */    /*!< STM8A High density devices with CAN */
/* #define STM8AF62Ax */    /*!< STM8A High density devices without CAN */
/* #define STM8S105 */      /*!< STM8S Medium density devices */
/* #define STM8AF626x */    /*!< STM8A Medium density devices */
/* #define STM8S903 */      /*!< STM8S Low density devices */

你选的器件是STM8S Low density devices ,所以可以 把/* #define STM8S903 */的注释符去掉,或者自己定义  #define STM8S003

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

zcl201207 回答时间:2016-3-14 22:29:28
懂事儿 回答时间:2016-3-15 14:54:08
这段代码我也看到了,可是上面没有我的“STM8S003F3P6”呀!
可以用哪个替代吗?
zcl201207 回答时间:2016-3-15 23:25:27
STM8S103
仙景 回答时间:2016-3-16 08:39:06
二楼正解
懂事儿 回答时间:2016-3-16 10:21:16
谢过各位!
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版