linux下avr单片机开发:中断服务程序

     不管是什么单片机程序,中断总是非常重要的一部分 ,linux 下的avr开发,主要是依靠avr-gcc,以及avr-libc,它们对中断程序的格式要求,与window下的icc-avr以及win-avr有所差异,这里对linux下中断服务程序编写做个简要介绍。

   个人原创,转载请注明出处:http://blog.csdn.net/embbnux/article/details/12448053 

   首先是要引入的库:

          

#include <avr/io.h>

#include <avr/interrupt.h>


      这两个是中断程序所要用到的,中断程序的编写位置,只要是在工程里的某个c文件里面就可以了。

 

     具体格式:

ISR(INT1_vect)

{

//...................................// 

}

 

其中的INT1_vect为各种中断种类,也可以理解为中断的端口,avr单片机还有其他的“INT0_vect”、“INT2_vect”

以及串口中断的  “USART_RXC_vect” 以及“USART_TXC_vect” 等,具体按不同的中断选取。

还有很重要的一点是要记得在初始化里面打开总中断开关:

 

sei();


 




 

你可能感兴趣的:(linux)