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

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

3天内不再提示

STM32串口发送字符串的几种写法

STM32嵌入式开发 来源:STM32嵌入式开发 2023-10-26 10:35 次阅读

STM32用USART发送字符串

wKgaomU50ZmAKw2bAAAfHxJ28As247.png

pYYBAGIB2JCANeDlAABaPG26uyU307.jpg

poYBAGIB2JKAAgOoAADcQH4C2Vw401.jpg

wKgZomU50ZmActA2AAAG7s8GorM412.png

代码含义是:

当接收引脚有数据时,状态寄存器的USART_FLAG_RXNE就会为1,此时USART_GetFlagStatus(USART1,USART_FLAG_RXNE)的返回值就为1(SET),若无数据则为RESET。

代码常见写法,及其接收数据效果

1

poYBAGIB2JSAYHr3AAALTrKKaP4183.png

pYYBAGIB2JWAEg8vAAAdFRfPn5I835.png

这种写法在不是特殊(不掉电、不待机等)情况下,问题不大,USART数据会成功发送出去。但是在上面说的特殊情况下,问题就来了,代码只将数据放到了发送缓冲区,而没有发送出去就掉电或待机了,这个时候其实最后两个字符是没有发送出去的。

2

pYYBAGIB2JeAQgDlAAAKWjsaLQQ970.png

poYBAGIB2JiAVDcbAAAc5wK0SCo307.png

这种写法达到的效果和上面存在不同的就是倒数第二个数据发送出去了,也就是只有最后一个字符是没有发送出去的。

3

poYBAGIB2JmAOj7BAAALWgTxmTA496.png

pYYBAGIB2JqAEEQAAAAdF6NcPn4113.png

这种写法达到的效果和上面两种写法有不一样,发送了10个字符。

4

pYYBAGIB2JuAP9qiAAAJIDOgFXs339.png

poYBAGIB2J2AGqmWAAAgHdBothY493.png

这种写法按理说可以实现功能,但实际多次试验结果确实第一字节数据丢失了。

5

poYBAGIB2J6AVfi8AAAJtYBIDMc825.png

pYYBAGIB2J-AUs4EAAAdl4VsIbs308.png

这种写法是比较完成,为了保守起见,在特殊情况下使用该写法。

审核编辑:汤梓红

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

    关注

    31

    文章

    5284

    浏览量

    119773
  • STM32
    +关注

    关注

    2264

    文章

    10852

    浏览量

    354180
  • 串口
    +关注

    关注

    14

    文章

    1540

    浏览量

    76017
  • 字符串
    +关注

    关注

    1

    文章

    570

    浏览量

    20462

原文标题:STM32串口发送字符串的几种写法

文章出处:【微信号:c-stm32,微信公众号:STM32嵌入式开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32串口发送数据和接收数据方式总结

    STM32串口发送数据和接收数据方式总结
    的头像 发表于 09-19 09:14 7055次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>串口</b><b class='flag-5'>发送</b>数据和接收数据方式总结

    STM32串口发送字符串出现乱码如何解决?

    STM32串口发送字符串出现乱码如何解决?
    发表于 12-03 07:15

    怎样将STM32串口1的字符串字符发送出来呢

    怎样将STM32串口1的字符串字符发送出来呢?其程序该如何去实现呢?
    发表于 12-08 06:27

    stm32串口发送字符串,第一个字符丢失如何解决?

    stm32串口发送字符串,第一个字符丢失如何解决?
    发表于 12-09 07:10

    STM32串口发送字符串出现乱码怎么解决?

    STM32串口发送字符串出现乱码怎么解决?
    发表于 02-18 06:58

    请教visa如何用同一串口同时接收和发送字符串

    现在需要实现同一串口同时接收和发送字符串的功能,如图1所示,发送以CFG开头的蓝色字符串给控制板,控制板会返回以ACKRD开头的绿色
    发表于 07-24 11:03

    如何利用STM32单片机串口发送字符串

    最近由于要调试一个SMS发送短信的模块,该模块需要发送一系列AT指令,且需要字符串发送,但是STM32官方给的usart.c中并没有直接
    发表于 12-10 16:01 1.6w次阅读

    基于STM32单片机发送字符串的函数

    最近由于要调试一个SMS发送短信的模块,该模块需要发送一系列AT指令,且需要字符串发送,但是STM32官方给的usart.c中并没有直接
    发表于 01-04 15:05 4830次阅读

    利用STM32单片机串口发送字符串

    最近由于要调试一个SMS发送短信的模块,该模块需要发送一系列AT指令,且需要字符串发送,但是STM32官方给的usart.c中并没有直接
    发表于 11-19 10:36 13次下载
    利用<b class='flag-5'>STM32</b>单片机<b class='flag-5'>串口</b><b class='flag-5'>发送</b><b class='flag-5'>字符串</b>

    STM32踩坑:STM32串口发送乱码问题

    STM32串口发送乱码问题小编是一个嵌入式初学者,才学没多久,将近两个月的样子,在学习过程中遇到了一些问题,在这里给大家分享一下解决方案。今天要分享的问题是 STM32
    发表于 12-24 18:40 10次下载
    <b class='flag-5'>STM32</b>踩坑:<b class='flag-5'>STM32</b><b class='flag-5'>串口</b><b class='flag-5'>发送</b>乱码问题

    5. STM32——串口发送字符字符串 + printf 的重定向

    STM32——串口发送字符字符串 + printf 的重定向基本框架1. 配置时钟:配置GPIO时钟、窗口时钟、引脚复用时钟2. 配置GP
    发表于 12-24 18:53 11次下载
    5. <b class='flag-5'>STM32</b>——<b class='flag-5'>串口</b><b class='flag-5'>发送</b><b class='flag-5'>字符</b>、<b class='flag-5'>字符串</b> + printf 的重定向

    STM32串口的介绍与使用(原理、结构体、发送字符串、printf函数重定向)

    串口相关知识1.定义2.通信概念3.USART简介串口的结构体串口发送字符STM32
    发表于 12-24 19:08 20次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>串口</b>的介绍与使用(原理、结构体、<b class='flag-5'>发送</b><b class='flag-5'>字符串</b>、printf函数重定向)

    嵌入式单片机基础篇(二十五)之stm32F103串口接收发送固定大小字符串程序

    stm32F103串口接收发送固定大小字符串程序#include "stm32f10x.h"#include "string.h"#incl
    发表于 12-27 19:26 22次下载
    嵌入式单片机基础篇(二十五)之<b class='flag-5'>stm32</b>F103<b class='flag-5'>串口</b>接收<b class='flag-5'>发送</b>固定大小<b class='flag-5'>字符串</b>程序

    解决STM32串口丢失第一个字符

    在使用STM32串口时可能会发现一个问题就是发送字符串时第一个字符缺失情况。解决办法在发送
    发表于 12-27 19:28 10次下载
    解决<b class='flag-5'>STM32</b><b class='flag-5'>串口</b>丢失第一个<b class='flag-5'>字符</b>

    strtok拆分字符串

    大家好,我是惊觉,今天聊聊字符串字符串的使用场景非常之多,人机交互和双机通信都会用到。比如:通过串口向单片机发送指令,以执行操作或配置参数。单片机读取传感器数据,数据格式是
    发表于 01-13 15:46 8次下载
    strtok拆分<b class='flag-5'>字符串</b>