[STM32] 单片机中断程序中加入了延时 主程序不怎么执行请大家帮忙

[复制链接]
2369|13
 楼主| aimi0921 发表于 2016-7-3 09:49 | 显示全部楼层 |阅读模式
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1))
                                     {
                                     delay_ms(2);
                                     for(i=0;i<100;i++)
                                               {
                                               tempbuf=Get_Adc(6,1);//ADC0
                                               }
}
                            else
                                     {
                                              delay_ms(2);
                                               for(i=0;i<100;i++)
                                               {
                                               tempbuf[i+100]=Get_Adc(7,1);//ADC1
                                               }
                                      }
                  

xuyaqi 发表于 2016-7-3 16:54 | 显示全部楼层
只给这点信息不好判断。
huangxz 发表于 2016-7-4 07:12 | 显示全部楼层
对单片机编程来说,中断里面加延时是不好的做法
主程序不执行的原因有很多,不一定是加延时引起的,而且关键一点,你是确定主程序不执行了吗
dzz1989 发表于 2016-7-4 08:33 | 显示全部楼层
仿真一下。或者没有清狗。
冰零分子 发表于 2016-7-4 09:31 | 显示全部楼层
就上面一点看不出有没有其他原因,

但是中断里耗时太长不是明智的选择,

有可能这个中断没完成下个中断又到来,

僵死在中断里也会死机
anvy178 发表于 2016-7-4 09:34 | 显示全部楼层
你这个是什么中断里面的内容呀 ,别告诉我是在定时器里面这样弄
jekey 发表于 2016-7-4 09:38 | 显示全部楼层
把中断里面的延时去掉。换个思路实现。
 楼主| aimi0921 发表于 2016-7-4 09:56 | 显示全部楼层
jekey 发表于 2016-7-4 09:38
把中断里面的延时去掉。换个思路实现。

关键是没有思路 高人提醒一下吧!
 楼主| aimi0921 发表于 2016-7-4 09:56 | 显示全部楼层
huangxz 发表于 2016-7-4 07:12
对单片机编程来说,中断里面加延时是不好的做法
主程序不执行的原因有很多,不一定是加延时引起的,而且关键一 ...

主程序在执行 就是慢很多
lgq1542380129 发表于 2016-7-4 09:57 | 显示全部楼层
中断服务函数中,尽量不要用延时。楼主程序中可能有多个中断,在延时式可能触发了(根据优先级是否执行),待此中断结束后,看楼主的函数用的应该是STM32,对于cortex-m3中断有咬尾机制,如果这个中断时定期触发,就会出现楼主的情况。
ningling_21 发表于 2016-7-4 15:56 | 显示全部楼层
aimi0921 发表于 2016-7-4 09:56
主程序在执行 就是慢很多

时间都被中断中的延时耗掉了,主程序能不慢么
 楼主| aimi0921 发表于 2016-7-6 09:45 | 显示全部楼层
lgq1542380129 发表于 2016-7-4 09:57
中断服务函数中,尽量不要用延时。楼主程序中可能有多个中断,在延时式可能触发了(根据优先级是否执行), ...

关键是有没有什么好的解决办法?
wangyy608 发表于 2016-7-6 10:01 | 显示全部楼层
你想要实现什么样的目的,这样大家才能提供思路
lgq1542380129 发表于 2016-7-6 12:08 | 显示全部楼层
aimi0921 发表于 2016-7-6 09:45
关键是有没有什么好的解决办法?

分析原因,才能找到解决办法。如果中断很频繁这样写程序架构就有问题了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

26

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部