STM32/STM8技术论坛
直播中

王燕

7年用户 1749经验值
私信 关注
[问答]

如何设置STM8L的CFG_GCR寄存器,从而使Halt模式下的中断直接返回Halt状态?

想对CFG_GCR寄存器中的AL位置1,从而使Halt模式下的中断直接返回Halt状态。可是具体要如何置1,求C语言代码,我试过如下写法 CFG_GCR = 0x02;   CFG_GCR_bit.AL = 1; ,编译器都提示没有该关键字。

回帖(12)

李艳

2018-10-12 15:10:27
这种问题应该查阅什么手册或者哪个.h文件?
1 举报

张伟

2018-10-12 15:12:01
CFG->GCR =CFG_GCR_AL;
举报

王伟

2018-10-12 15:14:35
引用文件有没有问题
举报

王伟

2018-10-12 15:14:39
引用文件有没有问题
举报

王敏

2018-10-12 15:14:57
手册有吗,在哪个位置呢
举报

刘勇

2018-10-12 15:15:11
stm8L.h文件;
没有的话,自己添加关键寄存器,和芯片存储地址对应起来就可以了;
举报

李丽

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

h1654155275.5748

2018-10-12 15:15:43
在标准库里面去找相关的内容:
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 */
举报

李芳

2018-10-12 15:16:03
用库函数查到这个定义后,要将CFG_GCR_AL这个赋值给哪个CFG_GCR这个寄存器,那这个寄存器是用CFG_TypeDef表示吗?
举报

王燕

2018-10-12 15:16:19
也就是
CFG_TypeDef = CFG_TypeDef|CFG_GCR_AL; 这样吗?
举报

王燕

2018-10-12 15:16:33
其实还是不大明白,我再琢磨琢磨吧,
举报

李玲

2018-10-12 15:16:44
有可能缩写不相符合
举报

更多回帖

发帖
×
20
完善资料,
赚取积分