打印
[STM32F0]

F0系列在外部事件时清除OCxREF信号

[复制链接]
1026|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
对于一个给定的通道,设置TIMx_CCMRx 寄存器中对应的OCxCE 位为’1’,能够用ETRF
输入端的高电平把OCxREF 信号拉低,OCxREF 信号将保持为低直到发生下一次的更新事件
UEV。
该功能只能用于输出比较和PWM 模式,而不能用于强置模式。
例如,OCxREF 信号可以联到一个比较器的输出,用于控制电流。这时,ETR 必须配置如下:
1. 外部触发预分频器必须处于关闭:TIMx_SMCR 寄存器中的ETPS[1:0]=00。
2. 必须禁止外部时钟模式2:TIMx_SMCR 寄存器中的ECE=0。
3. 外部触发极性(ETP) 和外部触发滤波器(ETF) 可以根据需要配置。


看起来只要配置完成GPIO然后完成上述3点配置便可以实现题目中的功能,但事实上并非如此
坑爹的是数据手册(注意是中文翻译的数据手册)中,只写了这么多
下图是中文翻译的数据手册中需要配置的寄存器(注意看位3),位3此处为保留

再看英文原版的收据手册,位3并非是保留的。此位关系到题目中功能的实现


所以说在配置寄存器时还是要多看看英文原版,翻译的版本中可能会因为各种原因出现错误
事实上翻译版本中应该是直接抄F1系列单片中出现的错误,因为M3内核则不需要配置该位
F1系列该部分寄存器如下图

















沙发
309030106| | 2015-12-16 21:19 | 只看该作者
所以说在配置寄存器时还是要多看看英文原版,翻译的版本中可能会因为各种原因出现错误

有道理,但是英语是硬伤啊

使用特权

评论回复
板凳
狼牙0354|  楼主 | 2015-12-17 08:40 | 只看该作者
309030106 发表于 2015-12-16 21:19
有道理,但是英语是硬伤啊

是啊,还是愿意看中文的起码在意思上看着不费劲

使用特权

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

本版积分规则

12

主题

318

帖子

1

粉丝