打印

请好心人帮我看看STM32F103RE 的TIMER2 通道4为何不能输出方波

[复制链接]
2977|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tubie|  楼主 | 2009-4-20 00:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基本原理是将Timer2的比较输出设置到PB11上,然后配置Timer2并从该引脚输出方波。          
代码如下,但是引脚PB11上什么都没有,一直保持低电平,哪位能帮我看看怎么回事。

RCC->APB1ENR |= 0x01;    //Enable timer2 clock.
TIM2->CR2 = 0x00;
TIM2->CCMR2 = 0x3000;    //CH4, 发生比较匹配时切换状态(方波)
TIM2->CCR4 = 1000;    //比较值是1000
TIM2->CCER = 0x1000;  //允许CH4

temp = GPIOB->CRH;    //引脚PB11的配置
temp &= 0xFFFF0FFF;
temp |= 0x0000B000;
GPIOB->CRH = temp;  //PB11 是高速输出引脚,与外设相连

temp = AFIO->MAPR;  //启用引脚映射,采用PB11作为Timer2的CH4输出。
temp &= 0xFFFFFCFF;
temp |= 0x00000200;
AFIO->MAPR = temp;

TIM2->CR1 |= 0x01;    //启动Timer2的计数

通过调试可以看到代码执行过程中Timter2的状态寄存器中的CH4位已经被置位。
沙发
成成| | 2009-4-20 00:21 | 只看该作者

输出引脚的时钟,你配置了吗?

使用特权

评论回复
板凳
tubie|  楼主 | 2009-4-20 20:38 | 只看该作者

配置了,已经打开了PB端口的时钟。

刚才注意到keil的例子里面有关于时钟的部分,先去学习一下。

使用特权

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

本版积分规则

135

主题

428

帖子

0

粉丝