我贴一段我觉得可能有问题的程序,有没有可能是SCIA的发送和接收冲突了
interrupt void ISRTimer0(void)
{
PieCtrl.PIEACK.bit.ACK7=1;
Timer2++;
Timer5++;
if(Timer2==300)
{
Scib_RX();/////////////这是用SCIB做的外部数据接收,功能没问题
Timer2=1;
}
if(Timer2>350)Timer2=1;
if(Timer5==500)
{
Scia_TX();////////////////////这是SCIA的发送,就是DSP处理后的数据由SCIA发送到下一级
Timer6++;
}
if(Timer6==3)
{
Scia_RX();////////////////////这是SCIA的接收,现在就是这块有点问题,这块接受我是按照上面SCIB的接收方法做的,应该没问题
Timer5=1;
Timer6=1;
}
if(Timer5>1600)Timer5=1;
if(Timer6>3)Timer6=1;
}
|