for(i =0 ;i<65000;i++);
USART3_Puts(str,len);
for(i =0 ;i<10000;i++);
GPIO_ResetBits(RS485_GPIO,RS485_TX_EN_PIN);//TXE = 0 RS485接收使能
GPIO_ResetBits(RS485_GPIO,RS485_RX_EN_PIN);
这样子不行,
for(i =0 ;i<65000;i++);
USART3_Puts(str,len);
for(i =0 ;i<20000;i++);
GPIO_ResetBits(RS485_GPIO,RS485_TX_EN_PIN);//TXE = 0 RS485接收使能
GPIO_ResetBits(RS485_GPIO,RS485_RX_EN_PIN);
这样子就可以,太奇怪了.从逻辑上讲再怎么样也得等到数据全部发送完成才会进入接收啊,可从未波器上看到却是数据还未发送完毕,使能脚已经拉低了.
|