芯片:TMS320C6455
描述 :通过DSP 的MCBSP配置为232串口,与PC进行通信。DSP的发送采用中断的方式。
中断函数如下:
//发送中断
void SerialPortSendInt()
{
CSL_mcbspWrite (hMcbsp, CSL_MCBSP_WORDLEN_16, &xmitbuf[sendCount]);
sendCount++;
if(sendCount == NUM)
{
//发送标志
sendCount = 0;
semFlag = MCBSP_SEND;
SEM_post(&SEM_MCBSP_RECE);
}
}
经过测试,可以与pc正常通讯。
问题:*************************
我在上面的程序基础上增加了一个GPIO中断,用来做数据采集。GPIO中断优先级高于串口发送中断。增加后,串口通信出现异常。主要表现为:最高位经常翻转。例如本来是00000000,接收到却是10000000.不知是何原因。
我将两个的优先级调换后,还是出现此问题。有没有人遇到相通的问题,请教!
depeng kong:
等待回复…