本帖最后由 kinshen 于 2018-12-2 21:53 编辑
有2个定时器,TIM2做10ms定时中断,在中断里做模式控制,另外一个中断是TIM5捕获中断,测量外部脉冲的频率。
TIM2单独工作的时候,没有问题!
加上TIM5的时候,会出现程序进不来主程序的情况!但是这个时候不固定,有的时候很快就跑飞,有的时候时间长点才跑飞!
TIM2和TIM5的配置如图(代码粘贴后注释是乱码,所以截图了)?
请帮忙分析下是什么原因!谢谢了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
u16 Get_Adc_Average(u8 ch,u8 times)
{
u32 temp_val=0;
u8 t;
u16 k;
u16 min,max;
for(t=0;t<times;t++)
{
temp_val+=Get_Adc(ch);
for(k=0;k<200;k++);
// delay_us(100);
}
return temp_val/times;
}
发现:如果用delay_us(10)函数,程序就会出问题(主程序执行不了,一直运行定时器中断程序);如果吧延时时间调的大些,比如delay_us(100)就没关系。
好像频繁采集AD数据造成了影响?
不知道这样是什么原因呢?哪位高手帮忙分析一下!
放main函数里面试试
仿真看看
一周热门 更多>