打印
[STM8]

STM8L的CFG_GCR寄存器的设置问题

[复制链接]
828|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Soraka|  楼主 | 2017-8-29 15:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
想对CFG_GCR寄存器中的AL位置1,从而使Halt模式下的中断直接返回Halt状态。可是具体要如何置1,求C语言代码,我试过如下写法 CFG_GCR = 0x02;   CFG_GCR_bit.AL = 1; ,编译器都提示没有该关键字。
这种问题应该查阅什么手册或者哪个.h文件呢?
沙发
Garen2| | 2017-8-29 15:48 | 只看该作者
CFG->GCR =CFG_GCR_AL;

使用特权

评论回复
板凳
Ryze| | 2017-8-29 16:00 | 只看该作者
手册有吗,在哪个位置呢

使用特权

评论回复
地板
mmuuss586| | 2017-8-29 16:01 | 只看该作者
stm8L.h文件;
没有的话,自己添加关键寄存器,和芯片存储地址对应起来就可以了;

使用特权

评论回复
5
Varus| | 2017-8-29 16:12 | 只看该作者
看到CFG_GCR这个寄存器 AL位,也就是第二位0和1的不同功能
那是不是这个寄存器在不禁用swim模式的情况下,赋值0x02即可

092502y9u8k.jpg (134.35 KB )

092502y9u8k.jpg

使用特权

评论回复
6
Snow7| | 2017-8-29 16:21 | 只看该作者
在标准库里面去找相关的内容:
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 */

使用特权

评论回复
7
android2| | 2017-8-29 16:42 | 只看该作者
用库函数查到这个定义后,要将CFG_GCR_AL这个赋值给哪个CFG_GCR这个寄存器,那这个寄存器是用CFG_TypeDef表示吗?

使用特权

评论回复
8
拉克丝| | 2017-8-29 16:54 | 只看该作者
也就是
CFG_TypeDef = CFG_TypeDef|CFG_GCR_AL; 这样吗?

使用特权

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

本版积分规则

178

主题

865

帖子

5

粉丝