聊聊ST MCU定时触发ADC的话题 某工程师利用STM8S芯片开发产品,想用定时器定时触发ADC采样。技术资料上也说是可以通过TIM1的TRGO触发AD采样,可发现根本不定时采样。 他确认正确配置了TIM1并使其正常工作,定时溢出,同时在ADC相关寄存器里也做了外部触发使能和触发源[TIM1 TRGO]的选择。 按理说,到此应该可以正常定时AD采样了,可往往好事多磨。结果并不是所期待的定时AD采样。 后来发现问题出在TRGO事件这个地方,误以为TIM1每次溢出就会产生所期待的TRGO事件。其实,事实并非如此。 显然,对于TIM1,TRGO的事件源有多个选项可以选择,默认状态时只有RESET事件才产生TRGO ,这分明不是当事人所期望的,应该配置为UPDATE 事件才合适。客户工程师增加相关代码后正常运作。 说实在的,对于操作寄存器的人来说,尤其头次使用该功能的话的确容易出现类似上面的疏忽。当然,如果用STM32系列的MCU做同样的事情,也有类似的配置问题,即除了使能外部触发和选择外部触发事件TRGO外,还要记得对TRGO事件的进一步选择配置,默认的可能并非你要的。 文章出处: 茶话MCU |
谢谢分享! |
初次接触STM8,请问在STVD中,为什么这个Struct会报错
正在使用stm8作为从机与esp32进行i2c通讯,但是发现主机扫描的i2c地址与stm8从机设置的i2c地址不一样,请问如何解决?
STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
IAR代码编辑太费劲了,想问一下有没有好的方法,试了VScode但是头文件老是报错,调了很久也没调好,想换个方法了。
想问一下各位大佬,IAR下载调试代码时出现 warning: is an illegal data sample expression IAR是什么意思啊?
stm8s批量烧录问题
IAR无法跳转定义,系统库文件文件名后有[RO]
STM8S标准库TIM1编码器功能不计数,请大师帮我看看
cosmic stm8 license网页申请按键没反应,可能是什么原因?