TM4C1230E6PM 晶振16M的在485通信 波特率1200时出现怪现象

2019-07-19 13:16发布

TM4C1230E6PM 晶振16M的在485通信 波特率1200时出现怪现象
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
lizye
2019-07-19 19:00
波特率1200 单独发AA,
如果只用以下
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,GPIO_PIN_3); //RDE=1        
ROM_UARTCharPutNonBlocking(UART2_BASE, data_buffer);
while(UARTBusy(UART2_BASE));        //等待发送完成        
结果显示 35
如果加延时1MS
SysCtlDelay(SysCtlClockGet() / (1000 * 3));
结果显示 75
如果加延时2MS
结果显示 F5
如果加延时3MS
才显示 AA

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,GPIO_PIN_3); //RDE=1        
ROM_UARTCharPutNonBlocking(UART2_BASE, data_buffer);
while(UARTBusy(UART2_BASE));        //等待发送完成        
SysCtlDelay(3*SysCtlClockGet() / (1000 * 3));        
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,~GPIO_PIN_3); //RDE=0        

但该命令在2400的时候,就会出现发完一个字节AA,后面会一直发字节E0
感觉和数据关断设置有关
如果不加SysCtlDelay(3*SysCtlClockGet() / (1000 * 3));
2400的时候,就正常

一周热门 更多>