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

简介: 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;
}

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

目录
相关文章
|
4天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
19 3
|
4天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
4天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3
|
6天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
23 6
|
7天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
31 6
|
11天前
|
缓存 监控 Linux
|
15天前
|
Linux Shell 数据安全/隐私保护
|
15天前
|
域名解析 网络协议 安全
|
21天前
|
运维 监控 网络协议
|
22天前
|
监控 Linux Shell