2808 SCI中断发送

#include "DSP280x_Device.h"
#include "DSP280x_Examples.h"
char dat=0;
void delay(void)
{
 long int i,j;
 for(i=0;i<10000;i++)
  for(j=0;j<1000;j++);
}
interrupt void Scia_init(void)
{
 SciaRegs.SCITXBUF=dat;
 while(SciaRegs.SCICTL2.bit.TXRDY==1);
  dat++;
  if(dat>255)
   dat=0;
  delay(); 
 PieCtrlRegs.PIEACK.all=0xffff;
}
void Init_Sci(void)
{
 InitSysCtrl();
 InitSciGpio();
 InitPieCtrl();
 EALLOW;
 SciaRegs.SCIHBAUD=0x01;
 SciaRegs.SCILBAUD=0x44;
 SciaRegs.SCICCR.bit.SCICHAR=7;
 SciaRegs.SCICCR.bit.STOPBITS=0;
 SciaRegs.SCICTL1.bit.TXENA=1;
 SciaRegs.SCICTL2.bit.TXINTENA=1;
 PieVectTable.SCITXINTA=&Scia_init;
 SciaRegs.SCICTL1.bit.SWRESET=1;
 EDIS;
 DINT;
 IER=0x0000;
 IFR=0x0000;
 EINT;
 PieCtrlRegs.PIECTRL.bit.ENPIE=1;
 PieCtrlRegs.PIEIER9.bit.INTx2=1;
 IER|=M_INT9; 
}

void main(void)
{
 Init_Sci();
 SciaRegs.SCITXBUF=dat;
 while(1); 
}

原文地址:https://www.cnblogs.com/luxiaolai/p/3102482.html