STM32串口映射printf——发送中文字符乱码

这篇具有很好参考价值的文章主要介绍了STM32串口映射printf——发送中文字符乱码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

        在将之前的工程使用Notepad++修改代码后,加载到现有工程中,使用串口打印输出测试串口功能,发现输出的中文字符全为乱码。对照keil设置,确保与之前工程中设置一样,莫名的就是不能输出中文字符。

解决过程

        此处串口已输出为乱码,说明移植过来的fputs代码没问题(一直在用),可以输出。下面指出可能出现乱码的几处。

        首先,检查的就是波特率,确认代码中的波特率与串口助手中的一致。

stm32printf输出文字为乱码,STM32,stm32,嵌入式硬件,单片机stm32printf输出文字为乱码,STM32,stm32,嵌入式硬件,单片机

         然后,检测keil设置Usb MicroLIB确认勾选。

stm32printf输出文字为乱码,STM32,stm32,嵌入式硬件,单片机

         再检测keil编译器的编码设置,是否为Chinese GB2312,打开方式Edit->Configration。

stm32printf输出文字为乱码,STM32,stm32,嵌入式硬件,单片机

        以上配置都没问题,代码编写也没问题,串口输出就是乱码!

最终参考:01_STM32串口printf中文乱码解决方法_stm32printf输出文字为乱码_Tree-gg的博客-CSDN博客

         我这里使用Notepad++直接打开编辑,打开编码发现我的Notepad++默认编码为UTF-8。将编码重新改ANSI编码保存,在次下载问题解决。

stm32printf输出文字为乱码,STM32,stm32,嵌入式硬件,单片机

 总结:

        以前也遇到过不能输出中文,或者输出中文乱码,按照前面三个点去查找修改也就解决问题了。但是之前是直接将代码复制到keil工程下修改,而此次修改代码是直接用Notepad++修改,导致编码格式放生变化。此处将几个可能出现乱码的地方进行整理,希望能够帮助到遇到同样问题的朋友。文章来源地址https://www.toymoban.com/news/detail-529274.html

到了这里,关于STM32串口映射printf——发送中文字符乱码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32串口发送字符串

    在STM32串口学习中,串口发送字符串是必不可少的,但是 在学习过程中可能会遇到下面这个问题,就由我来给大家分享一下吧。 下面是封装的串口发送字符串的函数: 在mian.c文件中我们运行代码不会报错,但是我们可以看到Usart_SendString函数打印字符串时会出现警告。 当我们

    2024年02月12日
    浏览(30)
  • stm32串口发送字符、字符串(标准库)

    目录 一 芯片概述  二 代码编写 2.1 以串口2为例配置初始化代码 2.2 发送自定义长度的字符串 2.3 发送单个字符 2.4 自定义printf函数 三 完整代码 3.1 usart2.c 3.2 usart2.h 3.3 while(1) 本文以stm32f103c8t6系列芯片为例,使用自定义函数发送串口数据。 PA2为TX引脚,PA3为RX引脚 第一个变量

    2024年04月15日
    浏览(38)
  • P27[9-3]STM32:串口通信(串口发送)(内含:1.接线图+2.实物图+3.代码部分+4.解决串口发送数据,数据是汉字,结果发送结果为乱码的现象)

    1.接线图如下: 跳线帽接在4~5引脚,2,3引脚连接PA9和PA10引脚。下图也可得出USART接PA9和PA10引脚。 TX和RX是交叉连接。PA9(黄线)是TX,接RXD。PA9(绿线)是RXD,接TX. 图中的串口模块和STINK都接电脑上,使之拥有独立供电。 2.实物图: 黄色为跳线帽,接4~5引脚。

    2024年02月09日
    浏览(35)
  • 基于STM32F1以及STM32CubeMx实现串口中断通讯(字符串发送与接收)

    首先选好自己的板子并打开软件设置,本实验基于STM32F103ZET6实现,打开软件后如图: 打开外部高速晶振,然后接着配置时钟: 将时钟频率修改为72MHz,接着设置接线方式为SW 接下来需要使用串口中断通讯,打开我们的串口设置并打开中断 这里波特率设置为115200,数据位为

    2024年02月09日
    浏览(37)
  • 【STM32学习5】STM32使用printf函数 打印到电脑串口助手

    本文所使用的方法与代码参考自正点原子,如果想要详细了解这方面的知识,请阅读正点原子官方提供的文档。 在开发STM32应用时,将一些信息通过串口打印到电脑上是常用的调试手段。C语言标准库中的printf函数是我们常用的打印函数。但是在STM32应用下一般无法直接使用这

    2024年02月02日
    浏览(38)
  • STM32-HAL-串口的printf重定向

    一、C语言的格式化输出 C语言的printf是一个标准库函数,用于将格式化的数据输出到标准的输出设备(通常是终端) 基本语法: 其中的第一个参数 const char *format 表示输出格式,后面的参数是可变参数,用于填充格式化字符串中的占位符。 字符输出原理: 格式化字符串处理

    2024年02月11日
    浏览(42)
  • stm32 串口调试配置及printf重定向

    stm32使用串口调试打印时,需要对串口进行配置并对printf进行重定向,本文介绍如何配置串口以及printf重定向。 示例: 1、配置选项选中要配置的usart 2、模式选择异步模式,硬件流控制disable 3、配置串口参数 生成代码后可以在工程中usart.c中查看到串口相关代码 在工程配置中

    2024年02月11日
    浏览(50)
  • STM32+HAL库调试printf串口打印

    目录 1 新建cubemx工程  2 配置系统时钟 3 配置串口引脚 4 生成keil工程 5 补充代码 5.1 重定向printf 5.2 main函数 6 编译烧录 7 实验现象         选择对应芯片         主频为64MHz         对应给到usart2的时钟也为64MHz            查阅原理图,可知usart2引脚连接了USB串口      

    2024年02月09日
    浏览(40)
  • stm32 ->HAL库重定向printf,实现串口打印

    在CubeMX中初始化uart引脚 包含printf函数的头文件 stdio.h 重定义printf函数 勾选 Use MicroLIB 编译烧录

    2024年02月16日
    浏览(34)
  • stm32(HAL库)使用printf函数打印到串口

    目录 1、简介 2.1 基础配置 2.1.1 SYS配置  2.1.2 RCC配置 2.2 串口外设配置  2.3 项目生成  3、KEIL端程序整合   4、效果测试 在HAL库中,常用的printf函数是无法使用的。本文通过重映射实现在HAL库中进行printf函数。 2.1.1 SYS配置  2.1.2 RCC配置 在usart.c函数最下方复制如下代码 接着在

    2024年02月14日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包