对CMS8S6990的串口通信例程修改,想改成RS485的通信,只添加了对RS485方向控制的引脚,并修改了串口中断部分,不知道问题出在哪里,串口软件发出后,收不到信息,修改或添加的代码如下:
GPIO_SET_MUX_MODE(P24CFG,GPIO_MUX_GPIO); //配置IO口,P24给RS485
GPIO_ENABLE_OUTPUT(P2TRIS,GPIO_PIN_4); //推挽输出
P24 = 0; //拉低,关闭RS485发送
void UART0_IRQHandler(void) interrupt UART0_VECTOR
{
if(UART_GetSendIntFlag(UART0))
{
UART_ClearSendIntFlag(UART0);
}
if (UART_GetReceiveIntFlag(UART0))
{
Delayn10ms(100); // 延时等待接收完成
P24 = 1;// 开启RS485发送
UART_SendBuff(UART0, UART_GetBuff(UART0));// 发送接收到的数据
Delayn10ms(100); // 延时等待发送完成
UART_ClearReceiveIntFlag(UART0);
P24 = 0;// RS485转为接收
}
}