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

怎样在定时器运行中改变定时时间

[复制链接]
xinnian-400985 提问时间:2013-7-10 17:28 /
定时器初始化后,就确定了其定时周期,在应用中,想在定时器运行时改变定时时间,即要某个PGIO口输出一个脉宽信号,随着时间的变化,这个脉宽信号的周期也在变化。怎样实现?
请指点,谢谢!
1 收藏 评论6 发布时间:2013-7-10 17:28

举报

6个回答
王zheng 回答时间:2013-7-23 20:18:34

RE:怎样在定时器运行中改变定时时间

TIM_TimeBaseStructure.TIM_Period = 0xffff; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值          ///此处是重点,设定重的时间长度
        //TIM_Period设置了在下一个更新事件装入活动的自动重装载寄存器周期的值。它的取值必须在0x0000和0xFFFF之间
        TIM_TimeBaseStructure.TIM_Prescaler =72-1; //设置用来作为TIMx时钟频率除数的预分频值  不分频
        //TIM_Prescaler设置了用来作为TIMx时钟频率除数的预分频值。它的取值必须在0x0000和0xFFFF之间
        TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式,TIM_CounterMode_DownTIM向下计数模式
        TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
只需改变0xffff,即可,即把0xffff设置为变量
人生之际 回答时间:2013-7-23 20:44:32

RE:怎样在定时器运行中改变定时时间

可参考ST库例子程序里面\tim\octrigger\(好像是记不清了),使用一个定时器,同时输出四种不同频率的脉冲。
实际上是在某个捕捉通道触发比较值后(此时管脚已经翻转),在中断里修改这个通道的CCR值,以决定下一次比较值触发管脚翻转的时间间隔。
xinnian-400985 回答时间:2013-7-25 08:59:54

回复:怎样在定时器运行中改变定时时间

回复第 2 楼 于2013-07-23 20:18:34发表:
TIM_TimeBaseStructure.TIM_Period = 0xffff; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 ///此处是重点,设定重的时间长度
//TIM_Period设置了在下一个更新事件装入活动的自动重装载寄存器周期的值。它的取值必须在0x0000和0xFFFF之间
TIM_TimeBaseStructure.TIM_Prescaler =72-1; //设置用来作为TIMx时钟频率除数的预分频值 不分频
//TIM_Prescaler设置了用来作为TIMx时钟频率除数的预分频值。它的取值必须在0x0000和0xFFFF之间
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式,TIM_CounterMode_DownTIM向下计数模式
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
只需改变0xffff,即可,即把0xffff设置为变量 

意思是每次要改变TIM_TimeBaseStructure.TIM_Period的值,都要初始化定时器,TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
当然可以在定时器中断服务里完成,是这样吗?
谢谢!
xinnian-400985 回答时间:2013-7-25 09:02:19

回复:怎样在定时器运行中改变定时时间

回复第 3 楼 于2013-07-23 20:44:32发表:
可参考ST库例子程序里面\tim\octrigger\(好像是记不清了),使用一个定时器,同时输出四种不同频率的脉冲。
实际上是在某个捕捉通道触发比较值后(此时管脚已经翻转),在中断里修改这个通道的CCR值,以决定下一次比较值触发管脚翻转的时间间隔。 

谢谢人生之际,我参考下这个例子。
bfl111 回答时间:2016-6-12 15:41:52
楼主问题解决了吗?怎么解决的?可以告诉我一下吗?
黯之醉 回答时间:2017-2-23 11:35:06
楼主问题解决了吗?怎么解决的,能告诉一下我吗?我的QQ623429749邮箱是QQ邮箱,谢谢

所属标签

相似问题

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