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

网站ico图标怎么做设计外包平台

网站ico图标怎么做,设计外包平台,凡科快图官网登录入口,学校网站开发的项目背景【STM32 HAL】多串口printf重定向 前言单串口printf重定向原理实现CubeMX配置Keil5配置 多串口printf重定向 前言 在近期项目中,作者需要 STM32 同时向上位机和手机发送数据,传统的 printf 重定向只能输出到一个串口。本文介绍如何实现 printf 同时输出…

【STM32 HAL】多串口printf重定向

  • 前言
  • 单串口printf重定向
    • 原理
    • 实现
      • CubeMX配置
      • Keil5配置
  • 多串口printf重定向

前言

在近期项目中,作者需要 STM32 同时向上位机和手机发送数据,传统的 printf 重定向只能输出到一个串口。本文介绍如何实现 printf 同时输出到多个串口

单串口printf重定向

原理

为了使用 printf() 函数进行数据交互,需要重定向 fputc() 函数
这是 printf 内部调用的函数,默认是 __weak 弱定义,便于我们重写

实现

CubeMX配置

与轮询模式配置一致
注意: 中断和 DMA 模式可能导致数据异常,需谨慎使用
在这里插入图片描述

Keil5配置

  1. 勾选 “Use MicroLIB”
  2. 添加头文件stdio.h
  3. 重写fputc()函数
int fputc(int ch,FILE *f)
{uint8_t temp[1] = {ch};HAL_UART_Transmit(&huart1,temp,1,2);// 根据实际情况配置return ch;
}

最后,你就能调用 printf() 函数了!!!

多串口printf重定向

fput重定向

int fputc(int ch,FILE *f){uint8_t temp[1] = {ch};HAL_UART_Transmit(current_huart,temp,1,2);return ch;
}

my_usart.c中定义

UART_HandleTypeDef *current_huart = &huart1;

my_usart.h中宏定义

// 定义宏来简化 printf 切换和输出
#define PRINTF_PC(...) do { \current_huart = &huart1; \printf(__VA_ARGS__); \
} while(0)#define PRINTF_HC05(...) do { \current_huart = &huart2; \printf(__VA_ARGS__); \
} while(0)

详解:

  • ‘…’ 是可变参数宏,表示可接收任意参数
  • VA_ARGS’ 会替换为宏调用时传入的实际参数
  • do { … } while(0) 结构确保宏展开后总是作为完整语句执行
  • ‘ \ ’是续行符,用于表示宏定义还未结束

在主循环函数中测试

void loop(void)
{PRINTF_PC("PC_TEST\n");PRINTF_HC05("HC05_TEST\n");HAL_Delay(1000);
}

从此,你就可以使用 PRINTF_PC 和 PRINTF_HC05,轻松实现数据发送到不同的串口了!!!

http://www.yayakq.cn/news/607956/

相关文章:

  • 做网站都有什么功能网络游戏软件开发app
  • 如何查看网站是否被降权西安百度推广运营
  • 一流的网站建设与优化2008服务器做网站
  • 东莞饰品网站建设潍坊制作网站的公司
  • 建一个网站的价格北京建网站实力公司
  • 腾讯的网站建设用了多少钱做网站建设的
  • 福州网站制作有限公司闵行虹桥网站建设
  • 北京建站报价网站建设面临的困难
  • 028网站建设外贸公司名字大全
  • 怎么做网站扩展28网站制作
  • 微信公众平台微网站怎么做重庆轨道交通最新消息
  • 网站上做推广方案企业文化简介网站怎么做
  • 义乌建设网站wp网站做企业站好不好
  • 连连跨境电商网站怎么做网站建设的目入图片
  • 南京网站开发南京乐识行wordpress怎么QQ登录
  • 在线做印章的网站页面设计风格的主要内容
  • 摄影网站开发综述视频拍摄合同
  • 有祥云网站产品网页的制作
  • 游戏网站建设与策划租赁空间网站建设
  • 企业品牌网站营销wordpress网页布局
  • 如何建设社区网站杭州市城乡建设网官网
  • 太原营销网站建设制作平台网络规划设计方案模板
  • 出色的网站设计服装培训网站建设
  • 无需下载直接进入的网站的代码做网站需要买网址吗
  • 有没有做那个的视频网站服务商是干什么的
  • 贵阳做网站电话上海营销公司
  • 我的世界充值网站怎么做网站增加域名备案
  • 优秀单页网站江西电信网站备案
  • 南京百度网站推广室内设计招聘网站有哪些
  • 网站开发 0755南昌网站搭建制作公司