cc2530手册翻译 中断.doc_第1页
cc2530手册翻译 中断.doc_第2页
cc2530手册翻译 中断.doc_第3页
cc2530手册翻译 中断.doc_第4页
cc2530手册翻译 中断.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

cc2530手册翻译 中断cc2530手册翻译(中断) 2011年10月21日1、中断源 cc2530的cpu有18个中断源,每个中断源都有它自己的位于一系列sfr寄存器中的中断请求标志。每个中断请求都需要中断使能位来使能或禁止,具体定义如下表: 表1 interrupt number 中断号 description 描述 interrupt name 中断名称 interrupt vector 中断向量 interrupt mask,cpu 中断屏蔽 interrupt flag, cpu 中断标志 0 rf tx fifo underflow and rx fifo overflow 射频发送队列空和接收队列溢出 rferr 03h ien0.rferrie tcon.rferrif (1) 1 adc end of conversion adc转换完成 adc 0bh ien0.adcie tcon.adcif (1) 2 usart 0 rx complete 串口0接收完毕 urx0 13h ien0.urx0ie tcon.urx0if (1) 3 usart 1 rx complete 串口1接收完毕 urx1 1bh ien0.urx1ie tcon.urx1if (1) 4 aes encryption/decryption complete aes加/解密完成 enc 23h ien0.encie s0con.encif 5 sleep timer compare 睡眠定时器比较 st 2bh ien0.stie ircon.stif 6 port 2 inputs/usb 端口2输入/usb p2int 33h ien2.p2ie ircon2.p2if (2) 7 usart 0 tx complete 串口0发送完毕 utx0 3bh ien2.utx0ie ircon2.utx0if 8 dma transfer complete dma发送完成 dma 43h ien1.dmaie ircon.dmaif 9 timer 1 (16-bit) capture/compare/overflow 定时器1(16位)捕获/比较/溢出 t1 4bh ien1.t1ie ircon.t1if (1) (2) 10 timer 2 定时器2(mac定时器) t2 53h ien1.t2ie ircon.t2if (1) (2) 11 timer 3 (8-bit) compare/overflow 定时器3(8位)比较/溢出 t3 5bh ien1.t3ie ircon.t3if (1) (2) 12 timer 4 (8-bit) compare/overflow 定时器4(8位)比较/溢出 t4 63h ien1.t4ie ircon.t4if (1) (2) 13 port 0 inputs 端口0输入 p0int 6bh ien1.p0ie ircon.p0if (2) 14 usart 1 tx complete 串口1发送完毕 utx1 73h ien2.utx1ie ircon2.utx1if 15 port 1 inputs 端口1输入 p1int 7bh ien2.p1ie ircon2.p1if (2) 16 rf general interrupts rf通用中断 rf 83h ien2.rfie s1con.rfif (2) 17 watchdog overflow in timer mode 看门狗计时溢出 wdt 8bh ien2.wdtie ircon2.wdtif (1) hardware-cleared when interrupt service routine is called(当中断服务例程被调用后,硬件清除标志位) (2) additioal irq mask and irq flag bits exist.(附加中断屏蔽和中断标志位存在) 2、中断屏蔽 每个中断通过ien0、ien1、ien2里的相应中断使能位来禁止或启用,具体如下表。 中断使能寄存器(ien0,ien1,ien2)(0:中断禁止 1:中断使能) 表2 端口 bit位 名称 初始化 读/写 描述 ien0 7 ea 0 r/w 禁止所有中断 0:无中断被确认。 1:通过设置对应的使能位,将每个中断源分别使能或禁止。 6 0 r0 不使用,读取为0值 5 stie 0 r/w 睡眠定时器中断使能 4 encie 0 r/w aes加解密中断使能 3 urx1ie 0 r/w 串口1接收中断使能 2 urx0ie 0 r/w 串口0接收中断使能 1 adcie 0 r/w adc中断使能 0 rferrie 0 r/w rf接收/发送队列中断使能 ien1 7:6 00 r0 不使用,读取为0值 5 p0ie 0 r/w 端口0中断使能 4 t4ie 0 r/w 定时器4中断使能 3 t3ie 0 r/w 定时器3中断使能 2 t2ie 0 r/w 定时器2中断使能 1 t1ie 0 r/w 定时器1中断使能 0 dmaie 0 r/w dma传输中断使能 ien2 7:6 00 r0 不使用,读取为0值 5 wdtie 0 r/w 看门狗中断使能 4 p1ie 0 r/w 端口1中断使能 3 utx1ie 0 r/w 串口1中断使能 2 utx0ie 0 r/w 串口0中断使能 1 p2ie 0 r/w 端口2中断使能 0 rfie 0 r/w rf通用中断使能 注意某些外部设备会因为若干事件产生中断请求。这些中断请求可以作用在端口0、端口1、端口2、定时器1、定时器2、定时器3、定时器4或者无线上。这些外部设备在相应的寄存器里都有一个内部中断源的中断屏蔽位。 为了启用中断,需要以下步骤: (1)清除中断标志位(clear interrupt flags); (2)如果有,则设置sfr寄存器中对应的各中断使能位; (3)设置寄存器ien0、ien1和ien2中对应的中断使能位为1; (4)设置全局中断位ien0.ea为1; (5)在该中断对应的向量地址上,运行该中断的服务程序。 下图给出了所有中断源及其相关的控制和状态寄存器的概述图;当中断服务程序被执行后,阴影框的中断标志位将被硬件自动清除; 3、中断处理 当中断发生时,cpu就指向表1所描述的中断向量地址。一旦中断服务开始,就只能够被更高优先级的中断打断。中断服务程序由指令reti终止,当执行reti后,cpu将返回到中断发生时的下一条指令。 当中断发生时,不管该中断使能或禁止,cpu都会在中断标志寄存器中设置中断标志位。当中断使能时,首先设置中断标志,然后在下一个指令周期,由硬件强行产生一个lcall到对应的向量地址,运行中断服务程序。 新中断的响应,取决于该中断发生时cpu的状态。当cpu正在运行的中断服务程序,其优先级大于或等于新的中断时,新的中断暂不运行,直至新的中断的优先级高于正在运行的中断服务程序。中断响应的时间取决于当前的指令,最快的为7个机器指令周期,其中1个机器指令周期用于检测中断,其余6个用来执行lcall。 中断标志 寄存器 bit位 名称 初始化 读/写 描述 tcon 7 urx1if 0 r/w h0 usart 1 rx中断标志。当中断发生时设1,当cpu向量指向中断服务例程时清0。 0:无中断未决 1:中断未决 6 0 r/w 不使用 5 adcif 0 r/w h0 adc中断标志。当中断发生时设1,当cpu向量指向中断服务例程时清0。 0:无中断未决 1:中断未决 4 0 r/w 不使用 3 urx0if 0 r/w h0 usart 0 rx中断标志。当中断发生时设1,当cpu向量指向中断服务例程时清0。 0:无中断未决 1:中断未决 2 it1 1 r/w 保留。必须一直设1。 1 rferrif 0 r/w h0 rf tx/rx fifo中断标志。当中断发生时设1,当cpu向量指向中断服务例程时清0。 0:无中断未决 1:中断未决 0 it0 1 r/w 保留。必须一直设1。 s0con 7:2 000000 r/w 不使用 1 encif_1 0 r/w aes中断。enc有两个中断标志位,encif_1和encif_0。设置其中一个标志就好请求中断服务。当aes协处理器请求中断时,两个标志都有设置。 0:无中断未决 1:中断未决 0 encif_0 0 r/w aes中断。enc有两个中断标志位,encif_1和encif_0。设置其中一个标志就好请求中断服务。当aes协处理器请求中断时,两个标志都有设置。 0:无中断未决 1:中断未决 s1con 7:2 000000 r/w 不使用 1 rfif_1 0 r/w rf一般中断。rf有两个中断标志,rfif_1和rfif_0,设置其中一个标志就会请求中断服务。当无线电请求中断时两个标志都有设置。 0:无中断未决 1:中断未决 0 rfif_0 0 r/w rf一般中断。rf有两个中断标志,rfif_1和rfif_0,设置其中一个标志就会请求中断服务。当无线电请求中断时两个标志都有设置。 0:无中断未决 1:中断未决 ircon 7 stif 0 r/w 睡眠定时器中断标志位 0:无中断未决 1:中断未决 6 - 0 r/w 必须一直设0。 5 p0if 0 r/w 端口0中断标志 0:无中断未决 1:中断未决 4 t4if 0 r/w h0 定时器4中断标志。当中断发生时设1,当cpu向量指向中断服务例程时清0。 0:无中断未决 1:中断未决 3 t3if 0 r/w h0 定时器3中断标志。当中断发生时设1,当cpu向量指向中断服务例程时清0。 0:无中断未决 1:中断未决 2 t2if 0 r/w h0 定时器2中断标志。当中断发生时设1,当cpu向量指向中断服务例程时清0。 0:无中断未决 1:中断未决 1 t1if 0 r/w h0 定时器1中断标志。当中断发生时设1,当cpu向量指向中断服务例程时清0。 0:无中断未决 1:中断未决 0 dmaif 0 r/w dma完成中断标志 0:无中断未决 1:中断未决 ircon2 7:5 000 r/w 不使用 4 wdtif 0 r/w 看门狗定时器中断标志 0:无中断未决 1:中断未决 3 p1if 0 r/w 端口1中断标志 0:无中断未决 1:中断未决 2 utx1if 0 r/w usart 1 tx中断标志 0:无中断未决 1:中断未决 1 utx0if 0 r/w usart 0 tx中断标志 0:无中断未决 1:中断未决 0 p2if 0 r/w 端口2中断标志 0:无中断未决 1:中断未决 4、中断优先级 中断可划分为6个中断优先组,每组的优先级通过设置寄存器ip0和ip1来实现。为了给中断(也就是它所在的中断优先组)赋值优先级,需要设置ip0和ip1的对应位。 表4-1 端口 bit位 名称 初始化 读/写 描述 ip1 7:6 - 00 r/w 没使用 5 ip1_ipg5 0 r/w 中断第5组,优先级控制位1,参考表4-3 4 ip1_ipg4 0 r/w 中断第4组,优先级控制位1,参考表4-3 3 ip1_ipg3 0 r/w 中断第3组,优先级控制位1,参考表4-3 2 ip1_ipg2 0 r/w 中断第2组,优先级控制位1,参考表4-3 1 ip1_ipg1 0 r/w 中断第1组,优先级控制位1,参考表4-3 0 ip1_ipg0 0 r/w 中断第0组,优先级控制位1,参考表4-3 ip0 7:6 - 00 r/w 没使用 5 ip0_ipg5 0 r/w 中断第5组,优先级控制位0,参考表4-3 4 ip0_ipg4 0 r/w 中断第4组,优先级控制位0,参考表4-3 3 ip0_ipg3 0 r/w 中断第3组,优先级控制位0,参考表4-3 2 ip0_ipg2 0 r/w 中断第2组,优先级控制位0,参考表4-3 1 ip0_ipg1 0 r/w 中断第1组,优先级控制位0,参考表4-3 0 ip0_ipg0 0 r/w 中断第0组,优先级控制位0,参考表4-3 表4-2 优先级设置 ip1_x ip0_x 优先级 0 0 0 最低级别 0 1 1 1 0 2 1 1 3 最高级别 中断优先级及其赋值的中断源显示在表4-3中,每组赋值为4个中断优先级之一。当进行中断服务请求时,不允许被同级或较低级别的中断打断。 表4-3 中断优先组 组 中断 ipg0 peerr rf dma ipg1 adc t1 p2int ip

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论