0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用串口进行调试

CHANBAEK 来源:头条号科G栈 作者:头条号科G栈 2023-03-23 10:02 次阅读

串口是MCU最重要的一个通信端口,几乎所有的嵌入式产品都会用到串口,可能是产品预研的时候用来调试,可能是与某一个外设连接收发数据,还可能用来对产品进行固件升级。这篇文章主要给大家介绍一下如何用串口进行调试,也就是打印log。

打印log最常用的方法是printf,所以要解决的问题是将printf的输出重定向到串口,然后通过串口将数据发送出去。

首先要配置串口,串口的配置包括:

1、 开启串口和GPIO时钟

2、 GPIO引脚模式配置

3、 串口波特率、数据位、停止位、校验位的配置

4、 使能串口

代码如下(使用stm32 LL库):

pYYBAGQbszOACgoaAALZpgKCzk0231.jpg

此时,已经可以通过串口来收发数据了,但是只能通过库函数一个一个从数据寄存器读写单个字符,非常的不方便。

下面说一下如何重定向printf。这里我在Ubuntu下用make编译源码,所以重定向的方式与用keil有所区别。

首先要在源码文件开头包含头文件#include ,然后在串口初始化时调用setvbuf(stdout, NULL, _IONBF, 0),设置buffer缓存为0,这样一有数据就发送,不然会等到缓存满或有回车换行符才发送。如果没有这句,你的printf又没n,log就会打不出来。

poYBAGQbszSALyXTAAAHLlnSrlc452.jpg

接下来是重定向的代码

poYBAGQbszaABeIiAAEGeLJBQAA936.jpg

这里有两个地方需要注意,第一,用gcc编译需要加_write()函数,然后在函数内部调用__io_putchar()函数将字符串一个一个发送出去。第二,使用LL库发送数据,要查看发送寄存器是否为空或者发送是否完成标志,否则发的太快会导致前面的数据还没发完,后边的数据又来了,后边的覆盖掉前面的,导致发送错误。

到此,就可以尽情使用printf调试了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16840

    浏览量

    349727
  • 时钟
    +关注

    关注

    10

    文章

    1710

    浏览量

    131241
  • 调试
    +关注

    关注

    7

    文章

    571

    浏览量

    33853
  • 串口
    +关注

    关注

    14

    文章

    1540

    浏览量

    75991
  • GPIO
    +关注

    关注

    16

    文章

    1186

    浏览量

    51795
收藏 人收藏

    评论

    相关推荐

    何用ESP32简单进行蓝牙串口调试

    串口调试工具对于广大电子工程师和电子爱好者来说再熟悉不过了,常见的有USB转TTL串口线,另外还有一些无线串口调试工具,通过蓝牙、2.4G、
    发表于 05-01 11:17 1.9w次阅读

    如何对USB转串口模块进行调试

    目录2、如何在USB转串口模块调试?3、如何用Arduino对JDY-40设置参数(其他单片机也可参考,需要自己写代码)?4、如何两个模块通信(透传)?5、有没有什么需要注意的? (请忽略我的灵魂
    发表于 01-18 08:17

    请问k210如何用串口进行调试

    k210如何用串口进行调试
    发表于 09-15 06:04

    串口调试软件下载

    串口调试软件下载     功能较强的串口调试软件。既可可手动发送数据,也可自动发
    发表于 01-11 20:03 10次下载
    <b class='flag-5'>串口</b><b class='flag-5'>调试</b>软件下载

    串口调试助手

    串口调试助手
    发表于 03-15 12:15 62次下载
    <b class='flag-5'>串口</b><b class='flag-5'>调试</b>助手

    串口调试助手_Android版

    常用的串口调试助手,方便进行串口数据显示,
    发表于 11-19 15:27 0次下载

    串口调试工具

    串口调试工具 便于单片机下载 串口调试工具 串口调试工具
    发表于 11-20 16:35 42次下载

    UartAssist串口调试助手

    UartAssist串口调试助手是非常好的调试软件
    发表于 07-14 18:14 33次下载

    串口调试工具

    串口调试工具
    发表于 12-28 10:16 172次下载

    串口调试助手怎么用_串口调试助手使用方法

    串口是嵌入式开发和单片机开发中不可缺少的外设设备,通用也要运用于整个平台。所以如何利用串口调试助手是十分重要的,接下来为大家介绍下如何使用串口调试
    发表于 11-28 16:22 7.2w次阅读
    <b class='flag-5'>串口</b><b class='flag-5'>调试</b>助手怎么用_<b class='flag-5'>串口</b><b class='flag-5'>调试</b>助手使用方法

    关于如何用示波器查看串口数据资料下载

    关于如何用示波器查看串口数据
    发表于 04-10 11:16 17次下载

    如何进行单片机的串口调试详细实例说明

    串口调试助手 发送一字节的数据,单片机马上会回发同样的数据在串口调试助手上显示,如果回发给串口调试
    发表于 07-08 17:14 1次下载
    如何<b class='flag-5'>进行</b>单片机的<b class='flag-5'>串口</b><b class='flag-5'>调试</b>详细实例说明

    串口调试助手工具

    串口调试助手非常有用串口调试工具
    发表于 08-22 09:34 20次下载

    何用串口软件调试变频器?

    每一个做工控的都必须要会利用串口调试软件来和我们的外围设备来做通讯测试。今天我们就来学习怎么用串口调试软件控制台达的这款变频器。废话不多说,直接进入正题。
    发表于 03-16 15:47 1881次阅读

    串口调试工具

    串口调试工具
    发表于 04-28 13:53 7次下载