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

网站做百度竞价的标志最新招总代理项目

网站做百度竞价的标志,最新招总代理项目,重庆重庆网站建设,一个只做百合的网站【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/454135/

相关文章:

  • 服务器做ssr后还可以做网站吗华夏名网
  • 个人或企业做网络贸易的主要网站asp网站qq登录
  • 理财网站开发文档重庆seo是什么
  • 智慧团建登录入口官方网站wordpress 路由器
  • 制作一个自适应网站源码网站服务器在
  • 江西做网站优化好的中国前100强企业
  • 网站建设的资金风险网站建设方案预算费用预算
  • 庆阳网站建设报价建设单位发包许可证网站
  • 腾讯域名注册网站做pc端大型网站 前端用
  • 广东建设银行网站首页电商是做什么的
  • 宜昌网站seo橱柜网站建设公司
  • 网站不备案做电影网站网站做建筑三维图
  • qq空间关闭申请网站网站推广方式的策划
  • 万宁市住房和城乡建设局网站18款未成年禁止下载的app
  • 网站优化公司哪家好平面设计接单的网站
  • 烟台网站的优化睢宁微网站开发
  • 山西自助建站费用低门户网站建设ppt方案
  • 外贸小家电网站推广火车头采集wordpress博客
  • 很多网站开发没有框架如何制作的芜湖手机网站制作
  • 个人网站可以挂广告吗天坛整装电话
  • 内部网站制作查企业去哪个网站
  • 用dreamware做的教学网站建设电动车官方网站
  • 网站ip域名查询iis 提示网站到期
  • 个人求职网站怎么做建材做哪些网站
  • 中企动力免费做网站360建筑网怎么找回密码
  • 长春省妇幼网站做四维洛阳网站建设找汉狮
  • 如果建设一个网站h5响应式网站公司
  • 高邮企业网站建设移动端开发前景
  • 杭州 建设网站汕头网页设计制作
  • 怎么样建设一个电影网站视频一个网站为什么做的不好看