打印
[STM8]

CFG_GCR寄存器设置

[复制链接]
292|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
songqian17|  楼主 | 2022-7-4 22:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想对CFG_GCR寄存器中的AL位置1,从而使Halt模式下的中断直接返回Halt状态。可是具体要如何置1,求C语言代码,我试过如下写法 CFG_GCR = 0x02;   CFG_GCR_bit.AL = 1; ,编译器都提示没有该关键字。

使用特权

评论回复
沙发
xxrs| | 2022-7-4 22:19 | 只看该作者
这种问题应该查阅什么手册或者哪个.h文件?

使用特权

评论回复
板凳
xxrs| | 2022-7-4 22:22 | 只看该作者

CFG->GCR =CFG_GCR_AL;

使用特权

评论回复
地板
wyjie| | 2022-7-4 22:24 | 只看该作者
引用文件有没有问题

使用特权

评论回复
5
stly| | 2022-7-4 22:27 | 只看该作者

手册有吗,在哪个位置呢

使用特权

评论回复
6
dengdc| | 2022-7-4 22:28 | 只看该作者

stm8L.h文件;
没有的话,自己添加关键寄存器,和芯片存储地址对应起来就可以了;

使用特权

评论回复
7
jiaxw| | 2022-7-4 22:35 | 只看该作者

看到CFG_GCR这个寄存器 AL位,也就是第二位0和1的不同功能
那是不是这个寄存器在不禁用swim模式的情况下,赋值0x02即可

使用特权

评论回复
8
wyjie| | 2022-7-4 22:37 | 只看该作者
在标准库里面去找相关的内容:
STM8S头文件有这几个东西(stm8s.h)
typedef struct CFG_struct
{
  __IO uint8_t GCR; /*!< Global Configuration register */
}
CFG_TypeDef;

#define CFG_GCR_SWD ((uint8_t)0x01) /*!< Swim disable bit mask */
#define CFG_GCR_AL  ((uint8_t)0x02) /*!< Activation Level bit mask */

使用特权

评论回复
9
xxrs| | 2022-7-4 22:40 | 只看该作者

用库函数查到这个定义后,要将CFG_GCR_AL这个赋值给哪个CFG_GCR这个寄存器,那这个寄存器是用CFG_TypeDef表示吗?

使用特权

评论回复
10
llljh| | 2022-7-4 22:41 | 只看该作者

也就是
CFG_TypeDef = CFG_TypeDef|CFG_GCR_AL; 这样吗?
更多操作

使用特权

评论回复
11
huangchui| | 2022-7-4 22:43 | 只看该作者
有可能缩写不相符合

使用特权

评论回复
12
songqian17|  楼主 | 2022-7-4 22:45 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

463

主题

5749

帖子

1

粉丝