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

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

[复制链接]
DAHAIGE-355079 提问时间: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就行了。
DAHAIGE-355079 回答时间:2015-9-24 13:44:29
你好我好大家好! 发表于 2015-9-24 12:30
这样配置当然不能同步了,在cc4中断中调用TIM1_SelectOutputTrigger(TIM1_TRGOSOURCE_UPDATE)后,是在计 ...

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

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版