一。printf函数格式

  printf函数具有强大的输出功能

  %表示格式化字符串输出

  目前printf支持以下格式的输出,例如:

  printf("%c",a);输出单个字符。

  printf("%d",a);输出十进制整数。

  printf("%f",a);输出十进制浮点数.

  printf("%o",a);输出八进制数。

  printf("%s",a);输出字符串。

  printf("%u",a);输出无符号十进制数。

  printf("%x",a);输出十六进制数。

  例如:

  n = 15

  printf("The result is %d", n); //通过屏幕输出十进制数15

  n = 15.2

  printf("The result is %f", n); //通过屏幕输出十进制浮点数15

  二。实现方法

  在uart.c文件中加入

  #include "stdio.h"

  //////////////////////////////////////////////////////////////////

  //加入以下代码,支持printf函数,而不需要选择use MicroLIB

  #if 1

  #pragma import(__use_no_semihosting)

  //标准库需要的支持函数

  struct __FILE

  {

  int handle;

  };

  FILE __stdout;

  //定义_sys_exit()以避免使用半主机模式

  _sys_exit(int x)

  {

  x = x;

  }

  //重定义fputc函数

  int fputc(int ch, FILE *f)

  {

  while((USART1->SR&0X40)==0);//把数据通过串口1循环发送,直到发送完毕 ,如果使用串口2,则改成 USART2

  USART1->DR = (u8) ch;

  return ch;

  }

  #endif

  三。主函数中调用printf函数

  int main(void)

  {

  u16 t;

  u16 len;

  u16 times=0;

  delay_init(); //延时函数初始化

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级

  uart_init(115200); //串口初始化为115200

  LED_Init(); //LED端口初始化

  KEY_Init(); //初始化与按键连接的硬件接口

  while(1)

  {

  if(USART_RX_STA&0x8000)

  {

  len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度

  printf("\r\n您发送的消息为:\r\n\r\n"); //\r\n为回车换行

  for(t=0;t

  {

  USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据

  while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束

  }

  printf("\r\n\r\n");//插入换行

  USART_RX_STA=0;

  }else

  {

  times++;

  if(timesP00==0)

  {

  printf("\r\n战舰STM32开发板 串口实验\r\n");

  printf("正点原子@ALIENTEK\r\n\r\n");

  }

  if(times 0==0)printf("请输入数据,以回车键结束\n");

  if(times0==0)LED0=!LED0;//闪烁LED,提示系统正在运行.

  delay_ms(10);

  }

  }

  }

  

分享些串口方面的资料便于学习参考

(stm32串口应用)
http://www.makeru.com.cn/live/1392_1164.html?s=45051
PWM脉宽调制技术
http://www.makeru.com.cn/live/4034_2146.html?s=45051
基于STM32讲解串口操作
http://www.makeru.com.cn/live/1758_490.html?s=45051
通过Z-stack协议栈实现串口透传
http://www.makeru.com.cn/live/1758_330.html?s=45051

通过串口利用printf函数输出数据的更多相关文章

  1. 修改HAL标准库用printf函数发送数据直接输出

    主函数文件,请直接关注自己写上去的代码: 直接看43行代码:#include "stdio.h"//要添加这个头文件 还有97行到112行:实现用HAL库函数和printf函数发送 ...

  2. 关于C语言中printf函数“输出歧视”的问题

    目录 关于C语言中printf函数"输出歧视"的问题 问题描述 探索问题原因 另一种研究方法 问题结论 关于C语言中printf函数"输出歧视"的问题 问题描述 ...

  3. C笔记01:关于printf函数输出先后顺序的讲解

    关于printf函数输出先后顺序的讲解!! 对于printf函数printf("%d%d\n", a, b);函数的实际输出顺序是这样的先计算出b,然后再计算a,接着输出a,最后再 ...

  4. 使用fwrite()函数和fprintf()函数输出数据到文件时的区别

    使用书上的一个课后题为例 有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学号,姓名,3们课程成绩),计算出每个学生的平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中. ...

  5. 关于printf函数输出先后顺序的讲解!!

    对于printf函数printf("%d%d\n",a,b);函数的实际输出顺序是这样的先计算出b,然后在计算a,接着输出a,最后在输出b:例子如下:#include<ios ...

  6. SQLServer中利用NTILE函数对数据进行分组的一点使用

    本文出处:http://www.cnblogs.com/wy123/p/6908377.html NTILE函数可以按照指定的排序规则,对数据按照指定的组数(M个对象,按照某种排序分N个组)进行分组, ...

  7. 解决IAR printf函数输出中文字符乱码问题

    首先看一下IAR的中文字符的坑 这会对调试造成很大的干扰,因为眼见不一定为实. 你所期望的中文打印输出都成了乱码,心在滴血.... 解决方法详细,纯属个人摸索 1.新建notepad++文件,编码方式 ...

  8. c++用流控制成员函数输出数据

    #include<iostream> #include<iomanip> using namespace std; int main() { ; double b=314159 ...

  9. [STM32F10x] 使用printf函数进行串口调试问题

    硬件:STM32F103C8T6 平台:Keil ARM-MDk V5.11 利用printf函数通过串口(USART)进行调试时遇到的一个问题: printf("Hello, Mini-M ...

随机推荐

  1. el-table回显遇到的坑

    使用element ui 的el-table在做到复选框回显勾中的问题时,整整困惑了我一天,当时百度了一下,好多人都说是  this.$nextTick(() => {})的问提,在组件中监听w ...

  2. python模块--glob, fnmatch

    包/方法 返回值 参数 说明 glob     Unix shell样式的路径扩展 .glob() list 匹配满足规则的所有路径(默认以 . 开头的文件不会匹配到, 可以用 .* 来匹配) pat ...

  3. 从输入 URL 到展现页面的全过程

    总体分为以下几个过程 DNS解析 TCP连接 发送HTTP请求 服务器处理请求并返回HTTP报文 浏览器解析渲染页面 连接结束 DNS解析 域名到ip地址转换 TCP连接 HTTP连接是基于TCP连接 ...

  4. 如何解决SVN Upgrade working copy问题

    电脑还原系统后,安装了最新版本的SVN,发现原来在svn检出的文件夹出现了SVN Upgrade working copy,没有commit ,没有update. 在网上查询到:出现这个的原因是因为你 ...

  5. httprunner开发实践&源码解析

    上次作业讲解 排错 控制台查看报错信息 打开代理工具,调试脚本 注释掉其他接口,先跑一个接口 pip uninstall httprunner 修复断言100为int型问题 修复两次登陆问题 报告 p ...

  6. Jmeter通过正则表达式提取器提取响应结果数据

    Jmeter进行接口测试常常会运到一个问题:就是第二个请求如何接收上一个请求响应中的参数.比如,现在个学生金币充值的接口,得先调用登录接口然后从返回里面复制一下sign的值,放到cookie里这样才能 ...

  7. P6620-[省选联考2020A卷]组合数问题【组合数学,斯特林数】

    正题 题目链接:https://www.luogu.com.cn/problem/P6620 题目大意 给出\(n,x,p,m\)和一个\(m\)次多项式\(f\)求 \[\sum_{k=0}^nf( ...

  8. 深入浅出WPF-09.Command(命令)

    命令 1)命令系统的基本元素 命令(Command),WPF的命令实际上就是实现了ICommand接口的类,平时使用最多的是RoutedCommand类 命令源(Command Source),即命令 ...

  9. Python 文件路径设置

    菜鸟教程:https://www.runoob.com/python/os-chdir.html Python官方文件教程:https://docs.python.org/3.9/library/os ...

  10. 前端快闪三:多环境灵活配置react

    你已经使用Create React App脚手架搭建了React应用,现在该部署了. 一般会使用npm run build或者yarn build构建出静态资源, 由web服务器承载. 您会体验到 多 ...