a.接受中断请求。顷雹必须由软件中断(从程序代码)或硬件中断(从一个引脚或一个基于
芯片的设备)提出请求去暂停当前主程序的执行。
b.响应中断。必须能够响应中断请求。如果中断是可屏蔽的,则必须满足一定的条件,
按照一定的顺序去执行。而对于非可屏蔽中断和软银乎岁件中断,会立即作出响应。
c.准备执行中断服务程序锋睁并保存寄存器的值。
d.执行中断服务子程序。调用相应得中断服务程序ISR,进入预先规定的向量地址,并
且执行已写好的ISR。
3.中断类别
可屏蔽中断:这些中断可以用软件加以屏蔽或解除屏蔽。
不可屏蔽中断:这些中断不能够被屏蔽,将立即响应该类中断并转入相应的子程序去执
行。所有软件调用的中断都属于该类中断。
4.中断的优先级
如果多个中断被同时激发,将按照他们的中断优先级来提供服务。中断优先级是芯片内部
已定义好的,不可修改。
仅供参考
TMS320F28035例程 例程采用CCS4.4编译,包含各部分功能配棚伏置,为学习TMS320F28035程序编写提供方便。F2812有3个32位CPU定时器(TIMER0/1/2),其中定时携肆器1和2预留给实时 *** 作系统DSP/BIOS使用,只有定时器0才可以供user使用。
TINIT频率 = 输入时钟频率 /(TDDRH:TDDR+1)(PRDH:PRD+1)
假如CPUTimer0预分频寄存器为0,且SYSCLKOUT为150MHZ,则定辩和轿时器的周期寄存器的值为150 * 中断时间(单位为微秒)。
源程序如下码察竖://迟大就是通过这个循环来实现没岁信号的输入
while(1)
{
GpioDataRegs.GPADAT.all=0xAAAA
GpioDataRegs.GPBDAT.all=0xAAAA
GpioDataRegs.GPDDAT.all=0x0022
GpioDataRegs.GPEDAT.all=0x0002
GpioDataRegs.GPFDAT.all=0xAAAA
GpioDataRegs.GPGDAT.all=0x0020
delay_loop()//´ËÐÐÌí¼Ó¶Ïµã
GpioDataRegs.GPADAT.all=0x5555
GpioDataRegs.GPBDAT.all=0x5555
GpioDataRegs.GPDDAT.all=0x0041 // Four I/Os only
GpioDataRegs.GPEDAT.all=0x0005 // ThreeI/Os only
GpioDataRegs.GPFDAT.all=0x5555
GpioDataRegs.GPGDAT.all=0x0010 // Two I/Os only
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)