你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

32为定时器TIM2的CNT为什么首次必须计到0xffffffff

[复制链接]
懵☆锤子 提问时间:2015-7-29 15:18 /
我设置的重装载值无论多少第一个周期特别长,设置时必须手动将CNT置最大值才行。恳请专家指导!
收藏 评论14 发布时间:2015-7-29 15:18

举报

14个回答
废鱼 回答时间:2015-7-29 15:35:17
配置发一下,TIM有向上计数和向下计数。
懵☆锤子 回答时间:2015-7-29 15:52:27
安 发表于 2015-7-29 15:35
配置发一下,TIM有向上计数和向下计数。

void TIM2_init(void)
{
        RCC->APB1ENR|=0x01;
        TIM2->CR1=0x80;
        TIM2->DIER=0x0001;
        TIM2->ARR=2000;
  TIM2->PSC=99;
        TIM2->CNT=0xffffffff;
        TIM2->CR1|=1;
        NVIC->ISER[0]|=1<<28;
        NVIC->IP[28]|=0xf0;
}
懵☆锤子 回答时间:2015-7-29 15:52:46
安 发表于 2015-7-29 15:35
配置发一下,TIM有向上计数和向下计数。

求大神指教
懵☆锤子 回答时间:2015-7-29 15:53:26
TIM2->CNT=0xffffffff; 为什么没这句就出问题,第一个周期,之后就OK了
废鱼 回答时间:2015-7-29 16:01:27
用的是哪个芯片?
懵☆锤子 回答时间:2015-7-29 16:13:22
安 发表于 2015-7-29 16:01
用的是哪个芯片?

我用的是 STM32F411RET6
废鱼 回答时间:2015-7-29 16:46:31
CNT默认值是0。如果CNT不设置,这个时候需要计数到0才能产生更新事件。建议配置是设置CNT值。
楼主可以仿真一下,在不设置CNT值,进入中断以后,CNT的值是多少。
懵☆锤子 回答时间:2015-7-30 09:57:05
安 发表于 2015-7-29 16:46
CNT默认值是0。如果CNT不设置,这个时候需要计数到0才能产生更新事件。建议配置是设置CNT值。
楼主可以仿真 ...

不是到重装载值产生更新时间吗。。。。
yanhaijian 回答时间:2015-7-30 10:36:40
定时器计数分向上计数和向下计数。
废鱼 回答时间:2015-7-30 10:40:00
懵☆锤子 发表于 2015-7-30 09:57
不是到重装载值产生更新时间吗。。。。

重装也需要满足CNT值以后重装。
懵☆锤子 回答时间:2015-7-30 16:18:38
安 发表于 2015-7-30 10:40
重装也需要满足CNT值以后重装。

有相关的技术说明吗
废鱼 回答时间:2015-7-30 17:34:10
看手册308页
懵☆锤子 回答时间:2015-7-31 16:35:39

多谢版主大人
废鱼 回答时间:2015-7-31 16:51:04

不客气。。

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版