日期:2014-05-16  浏览次数:20751 次

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();