当前位置: 首页 > news >正文

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

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

       

目录

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

第二:实验程序的操作

 第三:具体的代码实现

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

       前面虽然实现了串口的功能,但是只能输出字符。如果需要输出数字的时候需要自己将数字转换为字符,非常不方便。可以模仿单片机将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.dtcms.com/a/368.html

相关文章:

  • [附源码]计算机毕业设计基于web的建设科技项目申报管理系统Springboot程序
  • 【Linux】Linux的常见指令详解(下)
  • AI 让观众成为 3D 版《老友记》的导演了?
  • HTML做一个简单的页面(纯html代码)地球专题学习网站
  • 用Python画一个足球
  • C语言百日刷题第十三天
  • Frida - App逆向 JavaScript代码注入 基本语法以及数据类型介绍
  • 智慧天气系统 - 可视化大屏(Echarts)管理系统(HTTP(S)协议)物联网平台(MQTT协议)
  • RK3568平台开发系列讲解(系统优化篇)系统卡顿了怎么办
  • 防火墙豁免实验
  • [激光原理与应用-45]:《焊接质量检测》-2- 常见焊接缺陷与检验方法
  • 用HTML+CSS做一个漂亮简单大学生校园班级网页
  • Day42——Dp专题
  • 高通平台开发系列讲解(UART篇)高速串口代码流程
  • STC 51单片机61——呼吸灯
  • 还有13天圣诞节,用python整个简易版的圣诞树玩一下.......
  • 西湖大学张岳老师NLP课程笔记1 Introduction
  • Vue 使用socket.io实现聊天室
  • 笔试题之编写SQL按要求查询用户阅读行为数据
  • 用python给女朋友写个圣诞树玩玩~
  • JAVA毕业设计汇美食电子商城计算机源码+lw文档+系统+调试部署+数据库
  • Qt之天气预报——功能实现篇(含源码+注释)
  • STL常用生成算法和集合算法(20221207)
  • 基于遗传算法解决TSP问题(Matlab代码实现)
  • Python操作Excel表格
  • 2022年Python面试题汇总【面试官爱问】
  • 【Linux学习】进程概念(下)
  • 认知电子战 | 认知电子战简介
  • 5G无线技术基础自学系列 | NSA组网场景下移动性管理
  • 深度解读 | 如何构建以指标为核心的ABI平台?