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

TIM1的CH4输出进行同时采样问题

[复制链接]
陈金华 提问时间:2015-9-24 11:07 /
悬赏9ST金币已解决
MCU:stm8s105s4
准备实现功能:TIM1,PWM中央对齐模式,CH1~3用于产生PWM; CH4用于产生同步信号触发ADC采样;
思路描述:CH4的CCiF进入中断,在中断里查询如果是CH4的TIM1_IT_CC4中断,就调用TIM1_SelectOutputTrigger(TIM1_TRGOSOURCE_UPDATE),触发ADC开始采样,ADC采样完成周触发完成中断,在中断中获得ADC结果。
问题描述:现在用CH4产生1/10占空比PWM信号已经可以输出,在TIM1_CAP_COM_IRQHandler中if(TIM1_GetITStatus(TIM1_IT_CC4) == SET)也可以进去,在这里面反转一个IO,用示波器观查这两个波形不是同步的,TIM1_IT_CC4中断的波形超前CH4输出的PWM;
请问:1:我的思路有问题吗?
      2:如果没有问题为什么不同步?

最佳答案

查看完整内容

这样配置当然不能同步了,在cc4中断中调用TIM1_SelectOutputTrigger(TIM1_TRGOSOURCE_UPDATE)后,是在计数器发生更新时间的时候才触发adc,而io口的反转是在进入cc4中断后马上翻转的。要实现cc4同步adc采样,直接用将cc4作为定时器的触发输出触发adc就行了。
收藏 评论2 发布时间:2015-9-24 11:07

举报

2个回答
你好我好大家好! 回答时间:2015-9-24 11:07:05
这样配置当然不能同步了,在cc4中断中调用TIM1_SelectOutputTrigger(TIM1_TRGOSOURCE_UPDATE)后,是在计数器发生更新时间的时候才触发adc,而io口的反转是在进入cc4中断后马上翻转的。要实现cc4同步adc采样,直接用将cc4作为定时器的触发输出触发adc就行了。
陈金华 回答时间:2015-9-24 13:44:29
你好我好大家好! 发表于 2015-9-24 12:30
这样配置当然不能同步了,在cc4中断中调用TIM1_SelectOutputTrigger(TIM1_TRGOSOURCE_UPDATE)后,是在计 ...

谢谢回复,还有疑问:
cc4中断里面翻转IO输出的坡形,为什么和CH4通道里面输出的PWM波形没有同步?
按照我的理解应该有一个边沿保持同步,两个边沿相差时间应只是入栈和翻转IO的时间?

所属标签

相似问题

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