Linux系统中如何实现串口的格式化功能方法

news2024/10/6 20:39:16

      大家好,今天的话,主要和大家聊一聊,如何实现串口格式化功能实验。

       

目录

第一:串口格式化基本简介

第二:实验程序的操作

 第三:具体的代码实现

第一:串口格式化基本简介

       前面虽然实现了串口的功能,但是只能输出字符。如果需要输出数字的时候需要自己将数字转换为字符,非常不方便。可以模仿单片机将printf函数映射到串口上,这样就可以使用printf函数来完成格式化输出了。

       格式化函数包括printf、sprintf和scanf这样的函数,分为格式化输入和输出两类函数。学习C语言的时候常常通过printf函数在屏幕上显示字符串,通过scanf函数从键盘获取输入。这样就有了输入和输出,实现了基本的人机交互,那么我们也可以将printf函数映射到串口上,这样就可以使用超级终端作为开发板的终端,完成与开发板的交互。

第二:实验程序的操作

        在进行移植的过程中,需要使用到相应的源码文件,文件夹stdio里面的文件就是我们要移植的源文件。stdio里面有两个文件夹:include 和 lib,这两个文件夹里面的内容如下:

                                            

        stdio 里面的文件其实是从 uboot 里面移植过来的。后面学习 uboot 以后大家有兴趣的话可以自行从 uboot 源码里面“扣”出相应的文件,完成格式化函数的移植。这里要注意一点,stdio 中并没有实现完全版的格式化函数,比如 printf 函数并不支持浮点数,但是基本够我们使用了。

 第三:具体的代码实现

#include "stdio.h"
#include "uart.h"

int main(void)
{
    unsigned char state = OFF;
    int a, b ;
    
    uart_init();    //初始化串口,对应的波特率115200

    while(1)
    {
        printf("输入两个整数, 使用空格隔开:");
        scanf("%d %d",&a,&b);  //输入两个整数
        printf("\r\n数据 %d + %d = %d\r\n",a,b,a+b);  //输出和
        
        state = !state;
    }
        return 0;
}

总结:串口中的功能函数,可以通过移植的方式实现,利用其中的函数,可以将字符串的信息进行输出和打印。

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

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

相关文章

[附源码]计算机毕业设计基于vuejs的爱宠用品销售appSpringboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【vue】中英文切换(多语言国际化)

一、安装i18n插件 npm install vue-il8n8.23.0 --save二、创建语言包文件夹与配置 (1)index.js中 import Vue from vue // 引入vue import VueI18n from vue-i18n // 引入i18n模块 import elementEnLocale from element-ui/lib/locale/lang/en // elem…

新手使用wvp-pro和ZLMediaKit的菜鸟说明(手把手教)

对于wvp-pro的使用,很多大佬都是白嫖菜鸟党,很多都第一次使用wvp,甚至第一次接触国标,连国标最基本流程都不清楚。所以写此文档以供各位菜鸟大佬点评指正 看此文档前提:(下文ZLMediaKit简称zlm&#xff09…

springBoot中日志的使用

springBoot中日志的使用 日志基础 首先你需要知道日志门面,日志实现,日志桥接器。 基于日志实现,常用的有logback,log4j2,这两个日志实现是的创始人是同一个,概念差不多,这里以log4j2为例,有如…

迭代器和生成器

文章目录迭代器和生成器图解迭代器和生成器的关系迭代器容器生成器yield函数生成器表达式总结迭代器和生成器 图解迭代器和生成器的关系 图1-1​ 不管是生成器还是我们的容器,最终都是迭代器,使用next方法进行有规律的获取元素,不需要将元素…

免费的在线3D CAD【BimAnt】

BimAnt托管了可以免费使用的在线三维CAD,采用BRep内核,支持几何约束求解,支持二维草图,支持挤压、放样、扫掠和旋转等操作。访问地址:BimAnt三维CAD。 一、添加基础图元 BimAnt三维CAD支持圆柱、圆锥、球体、圆环体…

STM32的最小系统组成的详解

经常使用STM32开发的工程师对于它的开发环境的最小系统是必须要有所了解的,特别是硬件工程师在设计硬件的时候对这个最小系统就要更加的深入了解了,如果最小系统的搭建都有问题,那以后的使用很难避免不出现问题。 话不多说,进入正…

【自省】使用Executors.xxx违反阿里Java代码规范,那还不写定时任务了?

一、背景 在《分布式锁主动续期的入门级实现-自省 | 简约而不简单》中通过【自省】的方式讨论了关于分布式锁自动续期功能的入门级实现方式,简单同步一下上下文: 客户端抢到分布式锁之后开始执行任务,执行完毕后再释放分布式锁。持锁后因客…

微服务守护神-Sentinel-热点-授权-系统规则

引言 书接上篇 微服务守护神-Sentinel-降级规则 ,上面介绍了Sentinel降级规则,本篇继续来Sentinel的热点、授权、系统规则。 热点规则 何为热点?热点即经常访问的数据。很多时候我们希望统计某些热点数据中访问频次最高的 Top K 数据&…

# String-security(配置异常处理器,封装JWT工具类)

1 JWT是做什么的? 为了在前后端分离项目中使用 JWT ,我们需要达到 2 个目标: 在用户登录认证成功后,需要返回一个含有 JWT token 的 json 串。 在用户发起的请求中,如果携带了正确合法的 JWT token ,后台需要放行&a…

ELK日志分析系统

目录 一.ELK概述 1.1 ELK简介 1.2 ELK日志组件 1.2.1 ELK组件介绍 1.3 日志处理步骤 二. Elasticsearch 集群部署 2.1 关闭防火墙 ​2.2 ELK Elasticsearch 集群部署(在Node1,Node2节点上操作) ​ 2.2.1 更改主机名​ 2.2.2 配置域名…

RCE漏洞简介

今天继续给大家介绍渗透测试相关知识,本文主要内容是RCE漏洞简介。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设备进行…

高级篇之如何升级5GCPE固件

高级篇之如何升级5GCPE固件1. 准备工作2. 安装5GCPE串口驱动3. 升级固件3.1 选择固件3.2 选择串口号3.3 下载固件3.4 下载固件意外情况4. 重新启动结束!LINKPI-5GCPE是LINKPI推出的可以做户外移动直播的 5G无线网关,可以支持三种模式: 网卡模…

计算机网络-分组交换与电路交换

有志者,事竟成 文章持续更新,可以关注【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。 文章目录一、分组…

普乐蛙VR航天科技馆太空体验馆VR太空舱体验馆vr飞碟遨游太空

什么是航天航空主题馆 普乐蛙VR航天航空体验馆系列 普乐蛙VR航天航空主题馆可以根据客户的需求,用航天航空的科技氛围方案进行布置,大多用最新的黑科技,让整个馆充满科技科幻的感觉,使人沉浸,容易进入主题。馆内设置不…

MySQL函数:列转行CONCAT、CONCAT_WS、GROUP_CONCAT的使用(精要)

前言 很久没有接触Mysql了。 今天心血来潮,突然想了解一下Mysql列转行,看了一些文章,重点不清晰,遂有下文! Mysql官网、 社区版下载( Windows版_mysql.8.0.31下载 ) 概述 Mysql内部提供了列转…

UNIAPP实战项目笔记50 登录和注册页面的布局

UNIAPP实战项目笔记50 登录和注册页面的布局 实际案例图片 登录页面布局 注册页面布局 显示登录和注册页面布局 页面布局的切换 具体内容图片自己替换哈&#xff0c;随便找了个图片的做示例 具体位置见目录结构 完善布局页面和样式 代码 login.vue部分 <template><v…

拉线援(AD PADS Cadence快捷键汇总)

年纪越大&#xff0c;记性就不太好了&#xff0c; 要干的活越多&#xff0c; 还要盯盘&#xff0c; 效率得提升一下。 总结下平时拉线容易用到的快捷键、评审资料等。 以后不断更新完善。 公众号发消息&#xff08;Download|拉线援&#xff09;可获得源文档。 一、Altium Desi…

水文气象站远程监测物联网系统,彰显水利治理智慧

我国在几千年的历史中都对水利设施建设十分重视&#xff0c;修建了各种类型的水利设施&#xff0c;在古代的生活、农业生产、防洪排水、漕运等多个方面发挥着非常重要的作用&#xff0c;如都江堰、郑国渠、坎儿井等设施更是青史留名。 到了现代&#xff0c;水资源治理依旧是民生…

开源SCRM营销平台-MarketGo产品介绍(二)

1、MarketGo概述 MarketGo中国式营销自动化开源项目标杆。 MarketGo更像是一个 SDK 、引擎&#xff0c;通过提供的标准化功能和基础能力&#xff0c;让开发者能快速搭建一个营销自动化系统&#xff0c;快速完成从0-1的过程&#xff0c;并且能基于开放的能力和源码&#xff0c…