avr中断在code中写法

avr中断在code中写法

ID:23975314

大小:35.00 KB

页数:3页

时间:2018-11-12

avr中断在code中写法_第1页
avr中断在code中写法_第2页
avr中断在code中写法_第3页
资源描述:

《avr中断在code中写法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、AVR中断//注意:本文使用的GCC-AVR版本为WinAVR20100110中断不是C语言的一部分,中断的实现是由编译器实现的。所以,不同版本的编译器的中断的写法有很大的不同;即便同样是WinAVR,不同版本中的中断向量竟然都是略有区别的!1.头文件如果使用GCC-AVR的中断操作,必须包括头文件interrupt.h,即:#include进一步说明:WinAVR20100110版本已经不支持使用头文件signal.h了,为了向后兼容,如果执意引入signal.h,其实相当于也是引入的interrupt.h。打开signal.h文件

2、,除了前面一大堆‘没用的’版权信息和说明,只有如下几行内容:#ifndef_AVR_SIGNAL_H_#define_AVR_SIGNAL_H_//这两句加上最后的#endif是条件定义,防止重复引用的#warning"Thisheaderfileisobsolete.Use."//这一句【警告】指出,让我们使用interrupt.h#include//这一句告诉我们,即使你忘了或者不知道使用interrupt.h,那么也不会出错,引用signal.h相当于引如了interrupt.h。不过何必脱了裤

3、子放屁——多此一举呢,直接引用interrupt.h就好了!#endif2.中断函数格式现在官方推荐的中断书写格式就有一种:ISR(INTERRUPT_vect)//INTERRUPT_vect是中断向量名称(即后面INT0_vect,TIMER1_OVF_vect等){//中断处理代码}3.中断向量的名称中断向量的名称在WinAVR的最近几个版本中有所变化,是微调。正是因为是微调,如果不注意,将会出现难以发现的错误。最好的办法就是打开查看X:WinAVR-20100110avrincludeavr路径下的你使用的处理器所对应的IO定义头文件。比如我使用的是A

4、Tmega16A,我就在此路径下找到了iom16a.h,打开它,找到这两句话后面的,就是本型号单片机定义的所有中断。以下就是ATmega16A的中断,全部照抄如下:============================开始====================================#defineINT0_vect_num1#defineINT0_vect_VECTOR(1)#defineINT1_vect_num2#defineINT1_vect_VECTOR(2)#defineTIMER2_COMP_vect_num3#defineTIMER2_COM

5、P_vect_VECTOR(3)#defineTIMER2_OVF_vect_num4#defineTIMER2_OVF_vect_VECTOR(4)#defineTIMER1_CAPT_vect_num5#defineTIMER1_CAPT_vect_VECTOR(5)#defineTIMER1_COMPA_vect_num6#defineTIMER1_COMPA_vect_VECTOR(6)#defineTIMER1_COMPB_vect_num7#defineTIMER1_COMPB_vect_VECTOR(7)#defineTIMER1_OVF_vect_nu

6、m8#defineTIMER1_OVF_vect_VECTOR(8)#defineTIMER0_OVF_vect_num9#defineTIMER0_OVF_vect_VECTOR(9)#defineSPISTC_vect_num10#defineSPISTC_vect_VECTOR(10)#defineUSARTRXC_vect_num11#defineUSARTRXC_vect_VECTOR(11)#defineUSARTUDRE_vect_num12#defineUSARTUDRE_vect_VECTOR(12)#defineUSARTTXC_vect_num1

7、3#defineUSARTTXC_vect_VECTOR(13)#defineADC_vect_num14#defineADC_vect_VECTOR(14)#defineEE_RDY_vect_num15#defineEE_RDY_vect_VECTOR(15)#defineANA_COMP_vect_num16#defineANA_COMP_vect_VECTOR(16)#defineTWI_vect_num17#defineTWI_vect_VECTOR(17)#defineINT2_vect_num18#defineINT2_vect_VEC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。