这几天在调试STM32F407的485总线,有个问题没弄明白,问一下,可能我的问题有问题,不要见怪我用的波特率是57600,发送一个字节是10波特,发送1波特17点几微秒,发送一个字节10波特不到180微秒。
我的部分程序如下:
delay_us(20);
USART1->DR=u2;
delay_us(180);
USART1->CR1&=~(1<<3); //关发送rxd;
接收数据,延时20微秒,再发送u2,u2=2,rxd是切换485芯片至接收模式,现在的问题是:监控线上数据,如果延时180微秒,第一次监控到的数据是2,然后是0xFF,延时至260微秒,监控到的数据是0xE2,延时360微秒,监控到的数据才是2,我搞不明白,发送一个字节用不到180微秒,为什么要延时360微秒才能正确接受呢?