stm32F103,DIY无刷电调。当中遇到一个貌似是外设冲突的问题,特此来请教各位,见图

2019-03-23 18:04发布

发现了一个现象,stm32f103rc的定时器3跟AD模块不能同时使用,不然会出现问题。我用定时器3产生3路pwm波驱动逆变桥H-pwm-L-on的方式。(1)然后将定时器3作为主机,定时器4作为从机,工作在主从门控方式下。当TIM3输出的PWM为低电平时,打开TIM4,并利用TIM4触发AD转换。————————————————————————————————————————————————
(2)为了指示程序运行。我在AD中断程序里面写了一个 LED1on;delay_us(2); LED1off;(也就是说如果程序跑起来,会观察到PA8引脚,接led的引脚出现窄脉冲,后来确实能观察到)—————————————————————————————————————————————————
(3)这样一来由tim3产生pwm斩波并在pwm波为低电平时候启动tim4,tim4的频率要比tim3要高,tim4的中断函数里面就启动AD转换。
——————————————————————————————————————————————————
接上分析仪,观察LED1的引脚是否有小脉冲就可以知道程序运行情况。一切都好像挺自然的,我自己也觉得没什么问题,但是现在发现一使能AD时候,TIM3的引脚输出就有问题了,请见图,不知道是不是AD跟TIM3冲突了,他俩确实在引脚上有复用,但我重映射TIM3之后,还是老样子







谢谢大家
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
jonny0811
1楼-- · 2019-03-24 02:12
/ 我所谓的利用tim4触发中断是在TIM4中断里面使能ADC_SoftwareStartConvCmd(ADC2, ENABLE);并不是说使用TIM4的边沿直接触发AD转换。不过这样也没关系吧,因为ADC是配置在单次转换模式的,也就是使能一次转换一次,我想应该是这样的

一周热门 更多>