用C语言编写一个具有中断功能的TMS320C50程序,用硬件仿真器进行调试。
/*本程序是TMS320C50的一个串行口输入输出程序。TMS320C50与PCM编译码器MC14LC5480通过串行口相接。中断程序从串行口读人8位数据,并将它写回串行口*/
#define VEC_ADDR(volatile int * )0x00; /*矢量地址*/
Fvolatile int * RCV_ADD=(volatile int *)0x20; /*C50串行口接收寄存器地址*/
volatile int * XMT_ADD=(volatile int *)0x21; /*C50串行口发送寄存器地址*/
int indata; /*定义全局变量*/
main()
{
volatile int * INTVEC=VEC_ADDR; /*矢量指针*/
INTVEC[]=(volatile int)c_int5; /*置串行口接收中断矢量*/
/*初始化串行口*/
asm("SPLK #0CH,SPC "); /*F0=FSM=1,DLB=MCM=TXM=0*/
asm("OPL #0C0H,SPC "); /*XRST=RRST=1*/
for(;;); /*等待中断*/
}
void c_int5() /*串行口接收中断*/
{
indata=RCV_ADD[0];
XMT_ADD[0]=indata;