[STM32L0] 一样的串口配置,USB_to_TTL的TX数据可以响应AT指令,LPUART不行

[复制链接]
 楼主| Marco-Marco 发表于 2020-6-14 14:29 | 显示全部楼层 |阅读模式
本帖最后由 Marco-Marco 于 2020-6-14 23:12 编辑

是这样的。我有一个模块通过AT指令控制。通过USB转TTL(CP2102)的TX连接模块RX,发送“AT”+回车(hex: 0x41,0x54,0x0D,0x0A.)然后模块的RX可以正常响应。但通过MCU(STM32L011F4P6)的LPUART的TX发出的数据模块死活不响应。确定一样的数据(0x41,0x54,0x0D,0x0A),确定MCU有发出数据。而且确定是MCU的TX连到模块RX。一样的串口配置:9600,8,none,1
串口配置.jpeg

USB to TTL 和模块间的通信。(“AT”+回车(hex: 0x41,0x54,0x0D,0x0A)
usb ttl tx 波形.jpeg

MCU发出的TX波形“AT”+回车(hex: 0x41,0x54,0x0D,0x0A)

mcu tx.jpeg



USB TTL抓出的TX波形电压1.5V,但万用表量3.3V左右。 MCU的一直都是3.3V左右。波特率和实际差不多。所以我2个TX波形都一样的情况下我应该从哪些方面去分析呢。模块可以响应USB TTL的指令,所以本身应该不存在问题。


MCU tx波形.jpeg
香水城 发表于 2020-6-14 15:15 | 显示全部楼层
输出波形及时序一样,会不会是电平方面的差异导致的?

你说“USB TTL抓出的TX波形电压1.5V,但万用表量3.3V左右”, 这个地方怎么回事?不妨采用相同通道配置对二者测试比较下。
 楼主| Marco-Marco 发表于 2020-6-14 23:23 | 显示全部楼层
香水城 发表于 2020-6-14 15:15
输出波形及时序一样,会不会是电平方面的差异导致的?

你说“USB TTL抓出的TX波形电压1.5V,但万用表量3.3 ...

应香版主的建议,重新采集了一次。之前应该是示波器设置问题。串口助手CP2102发送AT指令的波形。
WechatIMG602.jpeg



MCU发送AT指令的波形。确实是一摸一样。
WechatIMG603.jpeg

MCU的RX(模块的TX)是低电平。看了模块的资料,应该是floating的。MCU的RX(PA3)设置为上拉也收不到数据。
WechatIMG601.png

模块建议原理图
WechatIMG600.jpeg

我的原理图
WechatIMG598.png

cubemx lpuart串口配置
WechatIMG597.png WechatIMG599.png WechatIMG596.png

不是串口是否有相关驱动能力强弱的说法。另外不知道是不是LPUART跟一般的UART有相关特性差异引起。发出的波形确实是一摸一样的。
香水城 发表于 2020-6-15 10:14 | 显示全部楼层
LPUART我最近也用过,从UART通信讲跟其它通用UART没啥差别。

你如果担心这点,我看L011还有个UART2,你可以基于它做个测试,如果还不行。

建议检查下链接,不要被一些最基础的问题卡住了,包括TX/RX是否接对了。
 楼主| Marco-Marco 发表于 2020-6-15 11:45 来自手机 | 显示全部楼层
嗯,TX,RX肯定反复检测了的。我提供的原理图截图也能看。以前经常接反。准备拿个STM32103C8的串口先测下。
 楼主| Marco-Marco 发表于 2020-6-15 22:16 | 显示全部楼层
真相找到了。模块有一个RST引脚。我在MCU的cubemx界面把那个脚配置成输出后就没管它,潜意识里面认为是浮空。其实默认是低电平了。模块一直处于复位状态自然无法响应AT指令。而用USB转TTL模块控制时该脚并没有初始化,所以浮空。 QQ20200615-0.png
香水城 发表于 2020-6-15 23:12 | 显示全部楼层
很好!
很多问题源于我们忽略些小细节了!
Jenghiz 发表于 2020-6-16 10:23 | 显示全部楼层
这都不能算是问题,只能算是个大乌龙。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:www.jhe-iot.com

32

主题

155

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部