我在用28335的SCI-C和SCI-B写了一段modbus协议通信程序。DSP做为从机,接收用的中断接收,接收一切正常。发送放在主函数的大循环当我接收到数据之后返回7个字节的数。 void ScicTex(void)放在主函数调用,用调试助手观察发现当我PWM开始控制的时候,我回的7个字节是正常但是7个字节后面一直会有FF或者FE这样一个字节多出来,PWM没去控制的时候一切正常,不知道是哪里出错了。求大神帮忙解答
void ScicTex(void)
{
unsigned char ucRetScic;
if(TexScic_Point<=Rex_ScicLong)
{ ucRetScic = ScicTx(TexScic[TexScic_Point]);
if(ucRetScic != 0)
{
TexScic_Point++;
}
}
else
{
Rex_ScicEnd=0;
TexScic_Point=0;
RexFinish_Scic=0;
RexScic_Point=0;
DisableMax485C(); //接受使能
}
unsigned short ScicTx(unsigned char ucSendVal) //SCIC单个字节发送
{
if(ScicRegs.SCICTL2.bit.TXEMPTY == 1)
{ if(ScicRegs.SCICTL2.bit.TXRDY == 1)
{
ScicRegs.SCITXBUF = ucSendVal;
return 1;
}
else {
return 0;
}
}else
return 0;
}
Shine:
28335属于C2000系列,有专门的C2000论坛可以咨询。
e2echina.ti.com/…/