微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 关于中断程序的一些处理,我是不是有强迫症?

关于中断程序的一些处理,我是不是有强迫症?

时间:10-02 整理:3721RD 点击:
1,中断ISR执行周期必须短。
2,中断中尽量少做循环和跳转,少用函数调用,调用函数尽量用 __in_line
3,对于51这样的单片机,中断程序不要切换code bank,不要用xdata做堆栈。
4,中断程序中,不做通讯协议的处理。有数据通讯(以太网,SPI,UART)的,中断只是负责搬运数据,而对数据的处理交给主程序。
5,优先级越高的中断,中断服务程序就越短。
6,编译后会查看中断服务程序的汇编代码,尽量优化执行周期。
7,跑OS,tick时间通常会设置在1ms,因此每一个中断服务ISR都控制在1ms以内。

分享自己的经验呵,大家进来和LZ讨论讨论

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top