在HAL库使用printf打印串口信息

以STM32F103为例,在hal库中选择usart1,设置按下图配置
image
并在usart.c文件内新增以下函数:

点击查看代码
#if 1
#pragma import(__use_no_semihosting)             
//标准库需要的支持函数                 
struct __FILE 
{ int handle; 
}; FILE __stdout;       
//定义_sys_exit()以避免使用半主机模式    
void _sys_exit(int x) 
{ x = x; } //重定义fputc函数 
int fputc(int ch, FILE *f)
{      while((USART1->SR&0X40)==0);//循环发送,直到发送完毕   USART1->DR = (uint8_t) ch;      return ch;
}
#endif 

main.c内可使用printf("%d",i);来输出数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第3章 day03 xpath+反爬虫

上次直播作业下厨房的菜谱搜索(多个请求参数)通过抓包工具的分析发现,搜索菜谱的数据包有两个请求参数:keyword:搜索的关键字 cat:1001固定形式import requests#请求头 headers = {User-Agent:Mozilla/5.0 (Macint…

装修公司营销网站模板查询注册公司

正整数 A 的“D​A​​(为 1 位整数)部分”定义为由 A 中所有 D​A​​ 组成的新整数 P​A​​。例如:给定 A3862767,D​A​​6,则 A 的“6 部分”P​A​​ 是 66,因为 A 中有 2 个 6。 现给定 A、D​A​​…

ttkefu2026迎来永久免费的客服系统分享

ttkefu2026迎来永久免费的客服系统分享在数字化浪潮席卷全球的当下,客户服务已成为企业核心竞争力的重要组成部分。然而,传统客服系统高昂的部署成本、复杂的功能配置以及多渠道整合的痛点,始终制约着中小企业服务效…

002- 学习环境搭建

学习环境搭建1、开发工具下载 Visualstudio 2022  https://visualstugio.microsoft.com/zh-hans/vs/ 【产品链接,失效自己找和谐版本】  https://docs.microsoft.com/zh-cn/visualstudio/releases/2022/system…

网页建站点seo实战密码在线阅读

最近看到一道面试题:内部类可以引用它的包含类的成员吗?有没有什么限制? 答案大部分都是这样子的: 完全可以。如果不是静态内部类,那没有什么限制! 一个内部类对象可以访问创建它的外部类对象的成员包括私有…

第10章 day10 DrissionPage详细教程

DrissionPage详细教程 1. 基本概述 DrissionPage 是一个基于 python 的网页自动化工具。它既能控制浏览器,也能像requests一样收发数据包,更重要的是还能把两者合二为一。因此,简单来说DrissionPage可兼顾浏览器自动…

求局部最小值

求局部最小值局部最小值 题目:给定一个数组,每两个相邻的数组不等,找到该数组上任意一个局部最小值。 定义:nums[1] > nums[0] nums[len(nums) - 2] > nums[len(nums) - 1] nums[n-1] > nums[n] &&am…

Element-UI的transfer穿梭框组件数据量大解决方案

一、面临问题 数据量大,渲染慢,搜索、勾选、关闭、右移卡顿 二、解决方案 1. 总体思路 改写 Element-UI 的 transfer 穿梭框组件,形成自己的自定义组件 2. 具体步骤 2.1 复制 Element-UI 的 transfer 穿梭框组件出来…

第9章 day09 hook插件

二. hook插件 1.概念 在JavaScript中,hook是一种能够拦截和修改函数或方法行为的技术。通过使用hook,开发者可以在现有的函数执行前、执行后或者替换函数的实现逻辑。hook目的是找到函数入口以及一些参数变化,便于分…

nginx 一致性hash和流量检查模块

nginx-module-vts:这是一个Nginx的监控模块,能够收集Nginx自身详细的虚拟主机流量状态信息,如请求次数、响应字节、响应时间等,并以JSON、HTML或Prometheus格式输出。nginx-vts-exporter依赖于这个模块。nginx-vts…

网站开发的试用期条款疏肝益阳胶囊有哪些功效与作用

阿里妹导读:日常工作中,我们多少都会遇到应用的性能问题。在阿里面试中,性能优化也是常被问到的题目,用来考察是否有实际的线上问题处理经验。面对这类问题,阿里工程师齐光给出了详细流程。来阿里面试前,先…

深入解析:10月底实习准备-Mysql(按面试频率准备)

深入解析:10月底实习准备-Mysql(按面试频率准备)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

CEXE的%你赛5-题解

T1 简单 dfs,记录数组 \(vis\) 表示一个点有没有被搜索过,从小到大遍历 \(vis\),如果 \(vis_i=0\) 则从 \(i\) 开始遍历图,遍历时记录答案即可。 #include<bits/stdc++.h> using namespace std; int n,m; lo…

C++语言(1)

.数制的前缀 二进制:0b或0B。 八进制:0。注意代码中012的十进制数值是10。 十六进制:0x(字母小写)或0X(字母小写)。 .输入和输出 .1.scanf和printf 格式符 常见类型的格式符:类型 格式符int %dlong long %llds…

Windows多人共享文件夹全流程,附2025新共享文件快90%

针对传统Windows共享文件夹设置繁琐、不安全、仅限局域网的痛点,本文提出用坚果云创建多人共享文件夹。其操作简便,支持跨地域协作、精细权限管理与文件版本回溯,无缝替代传统方式,是实现团队安全、高效协同办公的…

第11章 day11-day12关于json请求体/逆向爬虫实战

第1知识点:关于json请求体 第2知识点:关于精准请求(如何排除干扰请求) 第3知识点:入口定位 一、关键字方法 (1) 方法关键字 encrypt decrypt (2) key关键字 第4知识点:断点与断点调试 普通断点 XHR断点 条件断点…

容斥与二项式反演

先挖坑,后填坑。容斥 容斥,实际上就是用总的方案数减去不合法的方案数。 我们考虑以下组合恒等式: \[\sum_{i = 0}^{n} (-1) ^ {i} C_{n}^{i} = [n = 0] \]为什么这个式子跟容斥有关呢? 我们考虑不合法的数量为 \(…

网上怎样做电缆网站建设网站公司怎么建站

centos7 mysql 基本测试&#xff08;7&#xff09;主从并行简单测试 重启MySQL服务使配置生效。 注意&#xff1a;并行复制需要slave的硬件资源充足&#xff0c;并且确保网络通信和IO性能不是瓶颈。不是所有的应用场景都适合并行复制&#xff0c;比如写密集型应用或者slave负…

react useCallback Hook详解

什么是 useCallback Hook? useCallback 是一个 React Hook,用于缓存函数,防止函数在每次组件渲染时被重新创建。它的主要目的是优化性能,特别是在将函数作为 props 传递给子组件或在依赖数组中使用时。 简单来说,…

从Docker构建失败到CRA被淘汰:一个React项目的ES模块探索记录

开头 最近给一个React项目配Docker构建,碰到了一个看起来简单实际很麻烦的错误: Failed to compile. The target environment doesnt support dynamic import() syntax so its not possible to use external type mo…