打印
[STM32F4]

OC1FE 会变1

[复制链接]
608|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bqyj|  楼主 | 2021-6-16 22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//下面是头文件中的内容。
#ifdef __IAR_SYSTEMS_ICC__
typedef struct
{
  unsigned char CC1S        : 2;
  unsigned char OC1FE       : 1;
  unsigned char OC1PE       : 1;
  unsigned char OC1M        : 3;
  unsigned char OC1CE       : 1;
} __BITS_TIM1_CCMR1;
#endif
__IO_REG8_BIT(TIM1_CCMR1,  0x5258, __READ_WRITE, __BITS_TIM1_CCMR1);

//自己写的程序。
__BITS_TIM1_CCMR1    NEW_CCMR1;
NEW_CCMR1.OC1FE=1;  //执行完这句,OC1FE位还是0;直接操作TIM1_CCMR1=0X04,OC1FE 会变1。

使用特权

评论回复
沙发
huangchui| | 2021-6-16 22:43 | 只看该作者
会不会是SFR的原因,有些就是写1清零的

使用特权

评论回复
板凳
zwll| | 2021-6-16 22:45 | 只看该作者
要在关中断的情况下测试

使用特权

评论回复
地板
bqyj|  楼主 | 2021-6-16 22:49 | 只看该作者
验证过了不是。

使用特权

评论回复
5
tian111| | 2021-6-16 22:51 | 只看该作者

volatile __BITS_TIM1_CCMR1    NEW_CCMR1;
试试

使用特权

评论回复
6
bqyj|  楼主 | 2021-6-16 22:54 | 只看该作者
还是不行。

使用特权

评论回复
7
juventus9554| | 2021-6-16 22:56 | 只看该作者
看看对的反汇编,或看列表文件,那段代码到底被编译成了什么汇编代码

使用特权

评论回复
8
dingy| | 2021-6-16 22:58 | 只看该作者
这一位是干嘛用的啊

使用特权

评论回复
9
wyjie| | 2021-6-16 23:00 | 只看该作者
看不明白 可以单步运行 看看在哪里变化的

使用特权

评论回复
10
bqyj|  楼主 | 2021-6-16 23:02 | 只看该作者
嗯,预料中的结果,多谢大家啦

使用特权

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

本版积分规则

390

主题

4526

帖子

2

粉丝