搜索
bottom↓
回复: 30

stm32串口部分乱码,定位到了电源问题,还没想出办法

[复制链接]

出0入99汤圆

发表于 2019-1-24 18:39:18 | 显示全部楼层 |阅读模式
本帖最后由 lovewind 于 2019-1-25 18:35 编辑



用电脑的电源5V的,完美;用12V转5V,就会出现这个。。。
确定了硬件问题,1、外接12V一个是电源不纯,加了个电容就好了,2、还一个是GPRS模块,开机的前一段时间会导致乱码的无法看,后来就好多了。。。不过还是偶尔误码


两个板子自己供电,自己就乱码,但是,如果用一个板子给另外一个板子供电,被供电的板子居然不乱码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2019-1-24 18:41:04 | 显示全部楼层
STM32 吗?哪个芯片?

出0入99汤圆

 楼主| 发表于 2019-1-24 18:48:32 | 显示全部楼层
pengtaoABC 发表于 2019-1-24 18:41
STM32 吗?哪个芯片?

STM32F103C8T6

出0入0汤圆

发表于 2019-1-24 19:15:26 来自手机 | 显示全部楼层
最后一段话完全看不懂,没法分析

出250入8汤圆

发表于 2019-1-24 19:23:23 | 显示全部楼层
用示波器啊,示波器看看拨行。

出0入99汤圆

 楼主| 发表于 2019-1-24 20:06:12 | 显示全部楼层
nanfang2000 发表于 2019-1-24 19:15
最后一段话完全看不懂,没法分析

串口1中断采用的是定时接收法,接收50ms超时人为是一帧,然后处理。。在处理函数里面随便加了两句话之后,居然不乱吗了。。。而串口助手显示的应该是串口1 发送的,跟接收函数应该无关,

出0入42汤圆

发表于 2019-1-24 20:19:34 来自手机 | 显示全部楼层
语无伦次。完全不知所云!

出0入99汤圆

 楼主| 发表于 2019-1-24 20:41:17 | 显示全部楼层
n0831 发表于 2019-1-24 20:19
语无伦次。完全不知所云!

重新整理了

出0入22汤圆

发表于 2019-1-24 21:01:23 | 显示全部楼层
反正 我还是没有看懂。用示波器看波特率时候正确。

出0入99汤圆

 楼主| 发表于 2019-1-24 21:09:01 | 显示全部楼层
lixin91985 发表于 2019-1-24 21:01
反正 我还是没有看懂。用示波器看波特率时候正确。

已经修改了很简洁啊,注释那个函数,完全不会乱码,但是延时变得不准确了(差好几倍),生效那个函数,延时准确了,但是会出现乱码

出0入8汤圆

发表于 2019-1-24 23:53:42 来自手机 | 显示全部楼层
逻辑分析仪,来一发,金沙滩,69元吧

出0入8汤圆

发表于 2019-1-24 23:55:02 来自手机 | 显示全部楼层
也可能是震荡电路,复位电路的问题

出0入0汤圆

发表于 2019-1-25 07:46:26 来自手机 | 显示全部楼层
发送函数重入了,来一发

出0入0汤圆

发表于 2019-1-25 08:31:17 | 显示全部楼层
楼主这个应该是用来控制ESP8266的把

出0入42汤圆

发表于 2019-1-25 10:09:52 | 显示全部楼层
很明显是 波特率不对。

出0入0汤圆

发表于 2019-1-25 10:23:18 | 显示全部楼层
建議嘗試更換晶體振蕩器看看

出0入0汤圆

发表于 2019-1-25 10:28:41 来自手机 | 显示全部楼层
调用 RCC_GetClocksFreq()  看下系统时钟设置对不对

出0入99汤圆

 楼主| 发表于 2019-1-25 11:46:09 | 显示全部楼层
tangnyzl 发表于 2019-1-25 07:46
发送函数重入了,来一发

不太懂你说的,求解

出0入0汤圆

发表于 2019-1-25 12:01:48 | 显示全部楼层
为什么不看看SystemInit里面写的什么呢?

出0入0汤圆

发表于 2019-1-25 12:03:35 | 显示全部楼层
lovewind 发表于 2019-1-25 11:46
不太懂你说的,求解

就是上一个发送函数没执行完的时候,又有别的地方调用了发送函数
查查发送函数是否有限制条件,本次没发送完的时候,不该发下一次的数据

出0入0汤圆

发表于 2019-1-25 12:04:44 | 显示全部楼层
lovewind 发表于 2019-1-25 11:46
不太懂你说的,求解


可能是上一个字节只发送了一半,又灌了一个新的进去

出0入99汤圆

 楼主| 发表于 2019-1-25 12:10:37 | 显示全部楼层
Gline77 发表于 2019-1-25 10:28
调用 RCC_GetClocksFreq()  看下系统时钟设置对不对

读取了SYSCLOCK
[12:09:52.002]收←◆F=7200?00?

[12:09:52.987]收←◆F=72000000-

[12:09:53.972]收←◆F=72000000-

[12:09:54.959]收←◆F=72000000-

[12:09:55.944]收←◆F=7200000?

[12:09:56.928]收←◆F=720?000-

[12:09:57.915]收←◆F=72000000-

72M是的

出0入99汤圆

 楼主| 发表于 2019-1-25 12:15:16 | 显示全部楼层
go2deathward 发表于 2019-1-25 12:01
为什么不看看SystemInit里面写的什么呢?

看了这个函数,没啥异常。都是以前的工程复制过来的,应该不是这个问题,再入问题也应该不是,因为刚才弄了测频率的代码,别的什么都不干,还是有这个现象

出0入0汤圆

发表于 2019-1-25 12:19:27 | 显示全部楼层
发送函数被多个任务同时调用了

出0入99汤圆

 楼主| 发表于 2019-1-25 12:29:38 | 显示全部楼层
wzavr 发表于 2019-1-25 12:19
发送函数被多个任务同时调用了

刚才试了下,在没有任务启动前,死循环发送读取的时钟频率,也会有部分乱码,现在准备放弃了,用别的工程搞个模板再试试

出0入0汤圆

发表于 2019-1-25 12:44:04 | 显示全部楼层
感觉时钟配置不正确

出0入99汤圆

 楼主| 发表于 2019-1-25 14:10:15 | 显示全部楼层
openm4 发表于 2019-1-25 12:44
感觉时钟配置不正确

现在用别的模板做了,确定了硬件问题,一个是电源不纯,加了个电容就好了,还一个是GPRS模块,开机的前一段时间会导致乱码的无法看,后来就好多了。。。不过还是偶尔误码

出0入99汤圆

 楼主| 发表于 2019-1-25 14:10:32 | 显示全部楼层
wzavr 发表于 2019-1-25 12:19
发送函数被多个任务同时调用了

现在用别的模板做了,确定了硬件问题,一个是电源不纯,加了个电容就好了,还一个是GPRS模块,开机的前一段时间会导致乱码的无法看,后来就好多了。。。不过还是偶尔误码

出0入0汤圆

发表于 2019-1-25 14:40:01 | 显示全部楼层
看你的晶体振荡器和设置的一样吗?

出0入99汤圆

 楼主| 发表于 2019-1-25 14:42:17 | 显示全部楼层
王涛 发表于 2019-1-25 14:40
看你的晶体振荡器和设置的一样吗?

确定了硬件问题,一个是电源不纯,加了个电容就好了,还一个是GPRS模块,开机的前一段时间会导致乱码的无法看,后来就好多了。。。不过还是偶尔误码

出255入0汤圆

发表于 2019-1-26 21:01:05 | 显示全部楼层
不清楚为什么要发贴?你这贴有什么意义?自己跟自己对话?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-25 08:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表