打印
[技术讨论]

倒霉!难道6个超声波都坏了吗?(解决了但不知道原因)

[复制链接]
840|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 新下级学 于 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 就好了。怎么会这样?!



使用特权

评论回复

相关帖子

沙发
王栋春| | 2022-4-14 22:00 | 只看该作者
对此技术不懂,不过非常感兴趣,期待有坛友解答。

使用特权

评论回复
板凳
elife| | 2022-4-15 08:42 | 只看该作者
用示波器看看波特率是不是误差大了,按说9600的波特率应该都是准的,高的波特率可能会不同单片机误差不一样。

使用特权

评论回复
地板
xch| | 2022-4-15 09:42 | 只看该作者
真便宜

使用特权

评论回复
5
m564522634| | 2022-4-15 14:19 | 只看该作者
测量要时间的了,你不可能一发指令下云,传感器就把数据上报上来

使用特权

评论回复
6
新下级学|  楼主 | 2022-4-15 15:14 | 只看该作者
m564522634 发表于 2022-4-15 14:19
测量要时间的了,你不可能一发指令下云,传感器就把数据上报上来

我加的这 1ms 是发、收之后再等 1ms,此时测量已经结束。

使用特权

评论回复
7
xch| | 2022-4-15 15:26 | 只看该作者
新下级学 发表于 2022-4-15 15:14
我加的这 1ms 是发、收之后再等 1ms,此时测量已经结束。

可能最近都要等核酸结果才能回岗。

使用特权

评论回复
8
m564522634| | 2022-4-15 16:07 | 只看该作者
新下级学 发表于 2022-4-15 15:14
我加的这 1ms 是发、收之后再等 1ms,此时测量已经结束。

我估计他们更新了固件了,变了处理机制了

使用特权

评论回复
9
deerdda| | 2022-4-15 22:21 | 只看该作者
多看看手册,读一下时序,以及厂家的更新说明

使用特权

评论回复
10
hugewinner| | 2022-4-17 19:41 | 只看该作者
现在疫情期间,传感器有点无症状感染,带疫工作打了个盹,慢了一点嘛,宽容一点吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

254

主题

668

帖子

3

粉丝