本帖最后由 新下级学 于 2022-4-15 09:05 编辑
2个月前买了6个 US-100 超声波传感器。以前用过多次这种传感器,这次也没检验就确认收货了。今天拿出来一用全都不能用。都是死在串口上,就是我向它发完测距指令后,RXNE 总是0,表示没收到反馈。正常应该反馈 2 个字节,有时卡在第 1 个字节,有时卡在第 2 个字节。
其中有 4 个在单片机单步模式下正常,连续运行就不行。还有 2 个单步也不行。
50 块钱没了,真的很心疼!
下面是我的串口设置代码:
USART_DeInit(USART1);
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART1, &USART_InitStructure);
USART_Cmd(USART1, ENABLE);
后来发现:每次通信后,等待 1ms 就好了。怎么会这样?!
|