首页 > 其他分享 >cubemx 串口重载与打印

cubemx 串口重载与打印

时间:2022-12-05 15:27:09浏览次数:64  
标签:ch int UART CODE USER cubemx 串口 重载

1)cubemx生成工程,配置串口

2)在main.c中添加代码

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

 /* USER CODE BEGIN 3 */
 printf(" the uart is ready! \r\n" );                
        
  }
 /* USER CODE END 3 */


/* USER CODE BEGIN 4 */
 //重定向c库函数printf到串口USARTx,重定向后可使用printf函数
 int fputc(int ch, FILE *f)
 {
     /* 发送一个字节数据到串口USARTx */
     HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);
     return (ch);
 }

 //重定向c库函数scanf到串口USARTx,重写向后可使用scanf、getchar等函数
 int fgetc(FILE *f)
 {
     int ch;
     /* 等待串口输入数据 */
     while (__HAL_UART_GET_FLAG(&huart2, UART_FLAG_RXNE) == RESET);
     HAL_UART_Receive(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
     return (ch);
 }
/* USER CODE END 4 */

这里使用的是 串口1,根据需要可以修改成相应的串口句柄。

标签:ch,int,UART,CODE,USER,cubemx,串口,重载
From: https://www.cnblogs.com/excellentHellen/p/16952370.html

相关文章

  • usb-serial usb 串口
      方驱动文件op    https://baijiahao.baidu.com/s?id=1746671372715034944&wfr=spider&for=pc......
  • 9.C++运算符重载
    运算符重载本文包括了对C++类的6个默认成员函数中的赋值运算符重载和取地址和const对象取地址操作符的重载。运算符是程序中最最常见的操作,例如对于内置类型的赋值我们直......
  • 使用NodeMcu(ESP-12E)的串口通信淘晶驰串口屏
    目录1.背景2.准备工作-硬件准备-软件准备3.程序编写-串口屏-NodeMcu总结1.背景没有原因,我开心。2.准备工作-硬件准备NODEMCU(NodeMcu官网)选用的IO......
  • 【Python】笔记:正确重载运算符
    正确重载运算符一元运算符-(__neg__)+(__pos__)最好返回self的副本~(__invert__)对整数位按位取反(~x==-(x+1))print(~2)-3中辍运算符+fromarray......
  • 多态与方法重载
    ......
  • 虚拟串口vspd下载
    关注微信公众号【工控羊】或者微信号【gksheep】,微信公众号后台输入数字编号【1005】即可获取下载链接。......
  • 串口助手UartAssist下载
    关注微信公众号【工控羊】或者微信号【gksheep】,微信公众号后台输入数字编号【1009】即可获取下载链接。......
  • 串口模块驱动下载
    关注微信公众号【工控羊】或者微信号【gksheep】,微信公众号后台输入数字编号【1017】即可获取下载链接。......
  • 一根串口线畅玩imx6ul开发板
    Linux最近在学习正点原子IMX6ULL开发板,非常想跨入Linux开发的行列。学习知道如何搭建开发环境,也知道了原来交叉编译是在x86上进行arm架构程序的编译(原本都是在ide中开发m......
  • 展锐Android平台增加gadget 虚拟usb串口
    方案一:需要修改展锐现有Windows端驱动,增加一组MI接口。由于无法推动展锐修改Windows驱动,该方案不推荐。SL8541E/device/sprd/sharkle/common/rootdir/root/init.common.us......