sincomaster 发表于 2018-8-2 14:48:53

COSMIC编译器头文件IOSTM8.H的问题,大家有遇到吗?

如下图所示,我的时钟CLK_ICKR在两个头文件中不一样,我没更改过头文件,这是什么情况呢?请大家说说
RM0016中的名字是:CLK_ICKR
iostm8.h中的名字是:CLK_ICKR
iostm8s.h中名字是:CLK_ICKCR(错误)
但编译器头文件不应有错的呀,你们有遇到吗?????

toofree 发表于 2018-8-2 18:07:30

本帖最后由 toofree 于 2018-8-2 18:34 编辑

我想问,你这两个文件哪来的?
用ST官网的库吧,STM8S/A Standard Peripherals Library V2.2.0库里没这两个文件。

自始至终,一直没说你用的哪款芯片。
时钟配置基地址 0x50C0是对的,或许只是跟你的芯片不同罢了。

toofree 发表于 2018-8-2 18:31:33

本帖最后由 toofree 于 2018-8-2 18:34 编辑

那么就以STM8S103F2、STM8S103F3、STM8S103K3数据手册为例




stm8s.h中基地址宏定义


把基地址,转为结构体的基地址


时钟控制部分结构体内部定义





feixiang20 发表于 2018-8-2 22:18:51

用官网的资料和例程来套用吧,先保证正确后再改

sincomaster 发表于 2018-8-3 17:13:46

toofree 发表于 2018-8-2 18:07
我想问,你这两个文件哪来的?
用ST官网的库吧,STM8S/A Standard Peripherals Library V2.2.0库里没这两个 ...

谢谢toofree大神的回复,这两个文件是cosmic/hstm8/文件夹下的,用的STM8S207CBT6主控,我直接操作寄存器(CLK_CCOR |= 0x02)只包函stm8s.h会提示错误,要包函iostm8s.h文件才可以,还不明白是怎么回事,在您的提醒下我在相论坛下了V2.2.0的库(想请教下您为什么我下的库内都没有stm8s_conf.h这个文件,但库的Project文件下的例程每个文件内都有一个这个文件,我随便拷了一个到我的项目内).最后再次感谢toofree.

sincomaster 发表于 2018-8-3 17:16:08

feixiang20 发表于 2018-8-2 22:18
用官网的资料和例程来套用吧,先保证正确后再改

谢谢您的回复,现在刚学,还有很多不懂,在你们的帮助下会慢慢成长的,谢谢

sincomaster 发表于 2018-8-3 17:21:32

本帖最后由 sincomaster 于 2018-8-3 17:22 编辑

只添加stm8s.h
这样写可以:CLK->CCOR |= 0x02;
这样写不行:CLK_CCOR   |= 0x02;       //这样写报错,增加iostm8s.h就没问题了,
页: [1]
查看完整版本: COSMIC编译器头文件IOSTM8.H的问题,大家有遇到吗?