原始的单片机串口只能发送单字节数据,再加个封装也就能发送个字符串,但是无法发送数字变量,要发送数字变量那基本要引入C语言的库函数printf,但是这个pintf函数 好用确实是好用但是有个很大的缺点相对于小存储容量的单片机来说,就是占用存储容量特别大,我曾在51单片机上测试 引入个printf函数占用1KB ROM空间,这就离谱了 我那个51单片机一共才8KB ROM,这就不能使用printf函数了,太占用存储器空间了!但是在开发的时候 有时候为了调试,比如的输出个温度数据,ADC检测到的电压值,不接显示屏的情况下又必须得用到串口打印,所以我就自己DIY了个串口打印函数

char* number[]={"0","1","2","3","4","5","6","7","8","9","10"};void print(char*str, int x)
{SCI_SendString(str);if(x>0 && x<100){SCI_SendString(number[x/10]);//串口发送字符串函数SCI_SendString(number[x%10]);}else if(x>=100 && x<1000){SCI_SendString(number[x/100]);SCI_SendString(number[(x%100)/10]);SCI_SendString(number[x%10]);}else if(x>=1000 && x<10000){SCI_SendString(number[x/1000]);SCI_SendString(number[(x%1000)/100]);SCI_SendString(number[(x%100)/10]);SCI_SendString(number[x%10]);}SCI_SendString("\r\n");
}
//example:  print("ADC: ",a);

这个打印函数的算法原理比较简单粗糙,只能打印正整数,函数的实现思路在这里了,大家如果有需要打印负数,浮点数的可以在这个基础上改改

DIY单片机串口打印函数print相关推荐

  1. 51单片机串口打印函数

    51单片机串口通信调试printf函数重定向输出打印 1.首先需要实现串口的发送和接收. 2.输出printf需要哪些步骤: 1)需要引入头文件 <stdio.h> 2)添加如下代码: c ...

  2. ZYNQ开发中SDK输出串口选择以及打印函数print、printf、xil_printf的差别

    ZYNQ开发系列--SDK输出串口选择以及打印函数print.printf.xil_printf的差别 前言 两个串口到底是谁在打印? print 和 printf 和 xil_printf 前言 在 ...

  3. ZYNQ开发系列——SDK输出串口选择以及打印函数print、printf、xil_printf的差别

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ZYNQ开发系列--SDK输出串口选择以及打印函数print.printf.xil_printf的差别 前言 两个串口到底是谁在打印? ...

  4. STM32软件学习笔记(一)基于HAL库的STM32F429单片机串口打印程序

    |版权声明:本文为博主原创文章,转载请注明出处.https://blog.csdn.net/NeverImagine_/article/details/95517664   目前ST官方有提供两种库文 ...

  5. STC15单片机-串口打印printf重定向

    printf函数重定向为往串口打印信息 在UART.h.UART1.h和UART.c文件的内容编写好后,在main函数中实现通过串口发送一串字符串和一个不断加1的变量 方法一: 使用sprintf函数 ...

  6. 51单片机串口打印不管是中文还是英文都是乱码的问题

    讲道理都tm大三暑假了还搞51单片机而且关键是还遇到了一个问题解决了一天才解决出来真的是很丢人了. 不过我会珍惜这个机会的,毕竟这有可能是我辈子最后一次跟着老师搞这个破玩意了. 好了不废话了 收! 昨 ...

  7. Python的打印函数print()中占位符%和format()使用以及f格式化字符串

    目录 一.print中占位符分为3种: 1.% 2.format() 3.f格式化字符串 二.举例说明: 1.%占位符: 2.format()函数: 3.f-字符串格式化: 一.print中占位符分为 ...

  8. STM32 KEIL 串口打印printf使用详解

    常规打印方法 在STM32的应用中,我们常常对printf进行重定向的方式来把打印信息printf到我们的串口助手. 在MDK环境中,我们常常使用MicroLIB+fputc的方式实现串口打印功能,即 ...

  9. 使用单片机的串口打印功能

    转载请注明出处 个人看法,仅供分享 单片机调试手段: 1.在线调试 部分芯片支持该功能,典型的有STM32系列的SWD接口,沁恒的CH32V和CH32F系列.CH56X部分RISC-V的两线调试. 2 ...

最新文章

  1. 在大厂干了几年开发后,太真实了。
  2. block作用域与流程控制(块block、if-else、while、do-while、for-foreach、switch-case、break、continue、label)
  3. HDU1823(二维线段树)
  4. 练习:每一分钟产生一个文件,保存本分钟内所有数字之和。
  5. 一觉醒来,借呗竟然被封了
  6. java程序员个人能力介绍_Java操作员能力问题
  7. Week06-接口、内部类
  8. POJ 2912 Rochambeau(难,好题,枚举+带权并查集)
  9. html导航栏模板代码生成器,关于代码生成器的html页面模板支持更多类型的问题...
  10. 蓝桥杯省赛真题C++java2013-2019
  11. Qemu架构解析(二)
  12. 【ACL2020】今日放榜,779篇论文被接收,姚班校友陈丹琦首日演讲
  13. 防火墙旁挂,策略路由引流
  14. 如何解决端口冲突的问题???
  15. FPGA概述(对FPGA的基本认识)
  16. 已知树节点获取树的节点路径(js树节点路径)
  17. 菜鸡随笔第二笔:insmod模块时显示已杀死
  18. win10 使用苹果耳机没有声音解决方案
  19. 第二章:华为VRP(理论+实验命令)
  20. 快速查找论文的源代码网站资料

热门文章

  1. linux获取控制台窗口句柄,C#获取控制台句柄的方法
  2. Proteus仿真工程文件打不开
  3. 删库不跑路-详解MySQL备份策略
  4. CorelDRAW X7导出pdf发现部分有白边如何处理
  5. 第10节_我的日记本开发手记(10)——使用自定义图标字体
  6. 字体设计编辑软件Glyphs 2 for mac中文版v2.6.6(1350)
  7. spring中自带的缓存springcache
  8. 创立达摩院,马云是想当武林盟主吗?
  9. 怎样在网站网页中插入音乐?
  10. 使用el-tag文字过长超出隐藏