打印
[STM32F1]

STM32F103的通用定时器,定时请教。

[复制链接]
1168|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Ant110|  楼主 | 2016-4-15 16:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32F103的通用定时器,设置了TIM2的基本时基(使能了计数器溢出中断),并没有用CCRx,但是到了第一次及以后计数器溢出,TIM2_SR的CCxIF都被置'1'了。这是为什么呀!纠结了很久。。。。
void TIM2_IRQHandler(void)
{
        TIM2->SR=~0x0001;// TIM_ClearFlag(TIM2, TIM_FLAG_Update);//
        GPIOB->ODR^=0X0001;
}
沙发
Ant110|  楼主 | 2016-4-15 17:26 | 只看该作者
为什么,没人给我说说。在线等呀!!

使用特权

评论回复
板凳
xmshao| | 2016-4-15 18:08 | 只看该作者
手册里有讲。
学会关注各外设及寄存器的默认值。

使用特权

评论回复
地板
Ant110|  楼主 | 2016-4-15 19:23 | 只看该作者
xmshao 发表于 2016-4-15 18:08
手册里有讲。
学会关注各外设及寄存器的默认值。

没看到手册里有默认值的说明呀。而且从寄存器状态中也能看到,SR初始全部为零呀。

QQ截图20160415192118.png (139.87 KB )

QQ截图20160415192118.png

QQ截图20160415192304.png (20.38 KB )

QQ截图20160415192304.png

使用特权

评论回复
5
Ant110|  楼主 | 2016-4-18 15:12 | 只看该作者
问题应该说解决了80%吧  当产生UG的时候 SR的CCxF 和UIF都会被置1.只有配置了相应的CCx通道的时候 CCxF的初始值才会是'0'  只有产生了相应的事件才会被置'1'

使用特权

评论回复
6
yexing123| | 2016-4-18 15:14 | 只看该作者
F401资料怎么下载不成功啊,怎么下载呢

使用特权

评论回复
7
Ant110|  楼主 | 2016-4-18 15:18 | 只看该作者
yexing123 发表于 2016-4-18 15:14
F401资料怎么下载不成功啊,怎么下载呢

官网下载

使用特权

评论回复
8
yexing123| | 2016-4-18 16:23 | 只看该作者

你可以把链接发我下吗,我在官网下载老提示失败啊

使用特权

评论回复
9
Brand2| | 2016-4-18 22:22 | 只看该作者
当产生UG的时候 SR的CCxF 和UIF都会被置1

使用特权

评论回复
10
Ant110|  楼主 | 2016-4-27 11:15 | 只看该作者
Brand2 发表于 2016-4-18 22:22
当产生UG的时候 SR的CCxF 和UIF都会被置1

应该说是,TIMx的默认模式是 比较模式,所以SR的CCxF和UIF位是按照比较输出模式的时序在走!

使用特权

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

本版积分规则

5

主题

16

帖子

0

粉丝