单片机使用printf在串口输出字符串

把字符串使用printf输出的本质

实际上调用了putchar和串口字符输出函数,参考
在这里插入图片描述

以51单片机中的程序为例

在主函数中使用printf函数向串口发送字符串,当然保证已经定义好串口的波特率等参数

while(1){//uart0SendString("start....\n");printf("2rfwetgwg\n");mDelaymS(1000);}

下面是对putchar重定向(对函数重新定义),定义串口发送字符函数

void UART0_SendByte(unsigned char Byte) //向串口发送字符
{SBUF = Byte;    //字符放在寄存器中while (!TI);  //发送完成TI = 0;      //软件清零
}char putchar(char c){UART0_SendByte(c);  //把字符发送到串口return '1';   //平常用不到输出字符的返回值,这里只是为了满足定义}

最终串口助手中显示的输出现象
在这里插入图片描述

keil中输出格式的不同

在这里插入图片描述
以c语言的标准来说,上图中的定义是有问题的,对字符串变量a定义了数字1。但只是从存储数据宽度来看char是8bit位,可以存0-255的无符号整型。只是在显示的时候有问题
下面是keil帮助文档中printf下面的一条注意
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器巡查脚本

脚本编程步骤 脚本编程一般分为以下几个步骤: 需求分析:根据系统管理的需求,分析脚本要实现的功能、功能实现的层次、实现的命令与语句等; 命令测试,将要用到的命令逐个进行测试,以决定使用的选项要设置…

新书速览|解密AI绘画与修图: Stable Diffusion+Photoshop

《解密AI绘画与修图: Stable DiffusionPhotoshop》 本书内容 《解密AI绘画与修图:Stable DiffusionPhotoshop》全面介绍了Photoshop和Stable Diffusion的交互方式,以及各自的AI功能和具体使用方法。除了讲解功能,还通过实际案例加…

SpringBoot防抖方案(防止表单重复提交)

SpringBoot防抖方案(防止表单重复提交) 1.应用场景(什么是防抖) 所谓防抖,一是防用户手抖,二是防网络抖动。在Web系统中,表单提交是一个非常常见的功能,如果不加控制,容…

深度遍历-牛牛的果实迷宫

目录 一、问题描述 二、解题思路 1.返回格式 2.使用深度遍历 3.注意上下左右的实现方式 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 1.返回格式 这个题目的问题返回格式是Point(x,y);x代表最短路径距离,y表示最短路径数量 如果没有…

Linux中的库

什么是库? 库是一组预先编译好的方法/函数的集合,其他程序想要使用源文件中的函数时,只需在编译可执行程序时,链接上该源文件生成的库文件即可。 库分为两类:静态库和动态库 在Linux系统中,以.a为后缀的…

Animate软件基础:删除图层或文件夹

Animate软件中,图层或者图层文件夹同样可以进行删除操作,不过需要注意的是,删除图层或者删除文件夹,都会将其中所有的内容删除。 要选择图层或文件夹,可以单击时间轴中该图层或文件夹的名称,或者单击图层中…

2-自动驾驶关键技术框架

框架 来自《自动驾驶汽车决策与控制》这本书 三大技术 车载平台的关键技术: 环境感知技术:这是自动驾驶车辆能够“看”和“感知”周围世界的技术。它包括使用摄像头、雷达、激光雷达(Lidar)和超声波传感器来检测和识别道路、障…

ZYNQ MPSOC烧写问题记录

1、如果带有ARM代码,则ZYNQ MPSOC烧写的烧写是通过ViTIS进行的,通过JTAG模式进行烧写,如下图的PS_MODEx配置成0000,这个只与硬件相关,硬件拉高拉低。 2、如果不带ARM代码,则烧写过程与前版本一致。

新手做ASO优化必须要了解的8大指标

在进行 ASO 优化时,以下这些指标通常应优先考虑: 1. 关键词排名 - 这是衡量 ASO 效果的关键指标之一。了解您的应用在特定关键词搜索结果中的位置,有助于评估优化策略的有效性。 2. APP下载量 - 直接反映了应用的受欢迎程度和ASO工作对吸…

ONLYOFFICE8.1版本桌面编辑器——功能测评

一、编辑DOCX 相信大家都有写word文档的经历,不知道大家是不是跟我一样,感觉做一个word不难,但想做好一个word却很麻烦,功能太多,看的人眼花缭乱,有时候一个功能要找很久,甚至有的功能用一辈子都…

[数据库]事务的隔离级别存储引擎

事务的隔离级别 存储引擎 举例 myisam 进行回滚操作后可以发现有一个警告没有行受到影响 memory 比如用于qq的在线离线状态

选专业,适合理科女生的大学专业有哪些?

对于理科女生来说,选择大学专业时,既要考虑自己的兴趣和优势,也要考虑未来的就业前景和发展趋势。以下是一些适合理科女生的大学专业推荐。 一、专业选择要综合考虑 有的人的爱好只是一时兴起,有的人只是愿意为了兴趣爱好&#x…

vscode 使用正则将/deep/ 替换成 :deep()

在VSCODE编辑器的SEARCH中按上图书写即可,正则表达式如下:(\/deep\/)(.*?)(?\{) 替换操作如下::deep($2) 如果有用,号隔开的用:(\/deep\/)(.*?)(?,)替换操作如下::deep($2) 即可实现快速替换所有/deep/写法; 同理…

【C语言】--操作符详解

🌭个人主页: 起名字真南 🍿个人专栏:【数据结构初阶】 【C语言】 目录 1 算术操作符1.1 和 -1.2 *1.3 /1.4 % 2 赋值操作符 :2.1 复合赋值符 3 单目操作符3.1 和- - 4 强制类型转换5 printf 和 scanf5.1 printf5.1.1 基本用法5.1.2 占位符5.…

【教学类65-05】20240627秘密花园涂色书(中四班练习)

背景需求: 打印以下几款秘密花园样式(每款10份)给中四班孩子玩一下,看看效果 【教学类65-01】20240622秘密花园涂色书01(通义万相)(A4横版2张,一大3小 38张纸76份)-CSDN博客文章浏览…

后端加前端Echarts画图示例全流程(折线图,饼图,柱状图)

本文将带领读者通过一个完整的Echarts画图示例项目,演示如何结合后端技术(使用Spring Boot框架)和前端技术(使用Vue.js或React框架)来实现数据可视化。我们将实现折线图、饼图和柱状图三种常见的数据展示方式&#xff…

黄子韬直播风暴揭秘经济人风波

黄子韬直播风暴:揭秘经纪人风波,真诚道歉小马丁6月27日晚,娱乐圈再次掀起波澜,黄子韬在直播中罕见地谈及了去年那场业界的经纪人风波,并意外地再次回应了与DJ小马丁的演出争议,这无疑让广大粉丝和网友们热血…

葡萄串目标检测YoloV8——从Pytorch模型训练到C++部署

文章目录 软硬件准备数据准备数据处理脚本模型训练模型部署数据分享软硬件准备 训练端 PytorchultralyticsNvidia 3080Ti部署端 fastdeployonnxruntime数据准备 用labelimg进行数据标注 数据处理脚本 xml2yolo import os import glob import xml.etree.ElementTree as ETxm…

SpringBoot-SpringBoot中文文档

简介 Spring Boot是由Pivotal团队提供的一套开源框架,可以简化spring应用的创建及部署。它提供了丰富的Spring模块化支持,可以帮助开发者更轻松快捷地构建出企业级应用。Spring Boot通过自动配置功能,降低了复杂性,同时支持基于J…

【51单片机入门】矩阵键盘

文章目录 前言矩阵键盘介绍与检测原理原理图代码讲解总结 前言 在嵌入式系统设计中,键盘输入是一种常见的人机交互方式。其中,矩阵键盘因其简单、方便和易于扩展的特性,被广泛应用于各种设备中。本文将介绍如何使用51单片机来实现矩阵键盘的…