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

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Time limit is exhausted. Please reload the CAPTCHA.