你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
printf函数打印乱码该怎么解决
[复制链接]
zzuzph
提问时间:2018-5-2 21:48 /
悬赏
20
ST金币
未解决
我用的STM32F107VC芯片,调用printf打印测距信息
printf重定向
要打印的信息
时钟使能和GPIO配置等
这一部分有点疑惑,尤其是HSEStartUpStatus != ERROR,我看了网上一些教程改成SUCCES,结果测距功能就没法实现,不知道为什么
管脚配置应该没问题
求大神帮忙看看
我来回答
赞
0
收藏
0
评论
14
分享
发布时间:2018-5-2 21:48
举报
请先
登录
后回复
14个回答
七哥
回答时间:2018-5-2 22:26:09
a1024a.1 32b0c
本帖最后由 toofree 于 2018-5-2 22:27 编辑
用示波器卡一下,打印乱码,一般是波特率不对。
初始化串口的波特率设置,又跟系统时钟有关系,那么有可能是你的系统时钟不对。
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
0
评论
回复
feixiang20
回答时间:2018-5-2 22:28:48
a1024a.1 32b0c
乱码是因为语句没设置结束符么,至于出错是不是程序里调用了一些标准C的函数呢
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
zcl201207
回答时间:2018-5-2 23:07:33
a1024a.1 32b0c
强制转换一下打印变量试试
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
wenyangzeng
回答时间:2018-5-3 07:16:06
a1024a.1 32b0c
本帖最后由 wenyangzeng 于 2018-5-3 07:18 编辑
波特率有误,应该检查系统时钟配置。本贴供你参考:
https://www.stmcu.org.cn/module/forum/thread-614091-1-1.html
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
wudianjun2001
回答时间:2018-5-3 08:28:52
a1024a.1 32b0c
要不是波特率的问题,要么是显示字符的问题,用hex显示看看和发的数据对比下是不是一样,hex显示不会乱的,字符串显示方式有些特殊字符会显示乱
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
GKoSon
回答时间:2018-5-3 14:13:57
a1024a.1 32b0c
查查晶振 HSE_VALUE
8M 12M
https://www.stmcu.org.cn/module/forum/thread-615572-1-1.html
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
GKoSon
回答时间:2018-5-3 14:14:52
a1024a.1 32b0c
晶振
赞
0
评论
回复
jjbboox
回答时间:2018-5-3 16:41:12
a1024a.1 32b0c
可能的几种情况,楼主自己检查一下看看。
1.晶振频率不对。
2.和上位机的串口速率不一致。
3.使用了蓝牙等透传模块实现串口通讯时,上位机,单片机和蓝牙模块的串口速率必须3者一致。
4.代码文件的字符集不对,可能你的C源代码文件是UTF-8的或者是非ANSI文本。
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
0
评论
回复
mjjtim
回答时间:2018-5-5 15:28:19
a1024a.1 32b0c
检查波特率看下?或者晶振坏了?
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
zzuzph
回答时间:2018-5-5 21:36:25
a1024a.1 32b0c
谢谢大家的回答,我还是没有调出来
我看了一下大家说的晶振和波特率的问题
我用STM32F107的板子,上面焊的8M晶振,HES改过了,时钟也改过了
时钟
波特率串口和串口助手上设置的都是115200
输出应该是这样的
但是实际上出来全是乱码
我真的找不到哪里出问题了
赞
0
评论
回复
andey
回答时间:2018-5-5 22:57:30
a1024a.1 32b0c
提示:
作者被禁止或删除 内容自动屏蔽
赞
0
评论
回复
qsm198
回答时间:2019-11-2 11:41:40
a1024a.1 32b0c
怎么解决呀,现在我也遇到这个问题
赞
0
评论
回复
qsm198
回答时间:2019-11-2 11:49:56
a1024a.1 32b0c
怎么解决呀楼主,求助
赞
0
评论
回复
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
用示波器卡一下,打印乱码,一般是波特率不对。
初始化串口的波特率设置,又跟系统时钟有关系,那么有可能是你的系统时钟不对。
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
波特率有误,应该检查系统时钟配置。本贴供你参考:
https://www.stmcu.org.cn/module/forum/thread-614091-1-1.html
评分
查看全部评分
评分
查看全部评分
8M 12M
https://www.stmcu.org.cn/module/forum/thread-615572-1-1.html
评分
查看全部评分
1.晶振频率不对。
2.和上位机的串口速率不一致。
3.使用了蓝牙等透传模块实现串口通讯时,上位机,单片机和蓝牙模块的串口速率必须3者一致。
4.代码文件的字符集不对,可能你的C源代码文件是UTF-8的或者是非ANSI文本。
评分
查看全部评分
评分
查看全部评分
我看了一下大家说的晶振和波特率的问题
我用STM32F107的板子,上面焊的8M晶振,HES改过了,时钟也改过了
时钟
波特率串口和串口助手上设置的都是115200
输出应该是这样的
但是实际上出来全是乱码
我真的找不到哪里出问题了