appcan 手机网站开发洛阳西工区做网站哪家好

张小明 2025/12/28 23:55:42
appcan 手机网站开发,洛阳西工区做网站哪家好,长沙装修公司哪家好,wordpress 安装中文字体(1)实验平台#xff1a;普中STM32F103朱雀、玄武开发板 上一章我们介绍了 STM32F1 的 USART 串口通信#xff0c; 这一章我们来学习如何在STM32 上使用 printf 输出函数。 相信只要学习过 C 语言的朋友#xff0c; 都会使用 printf函数。 本章要实现的功能是#xff1a; 通…(1)实验平台普中STM32F103朱雀、玄武开发板上一章我们介绍了 STM32F1 的 USART 串口通信 这一章我们来学习如何在STM32 上使用 printf 输出函数。 相信只要学习过 C 语言的朋友 都会使用 printf函数。 本章要实现的功能是 通过 printf 函数将信息打印在串口调试助手上显示。 学习本章的可以参考串口通信章节内容。 本章分为如下几部分内容22.1 printf 重定向介绍22.1.1 printf 重定向简介22.1.2 printf 函数格式22.2 硬件设计22.3 软件设计22.3.1 USART1 初始化函数22.3.2 printf 重定向函数22.3.3 主函数22.4 实验现象课后作业22.1 printf 重定向介绍22.1.1 printf 重定向简介我们知道 C 语言中 printf 函数默认输出设备是显示器 如果要实现在串口或者 LCD 上显示 必须重定义标准库函数里调用的与输出设备相关的函数。 比如使用 printf 输出到串口 需要将 fputc 里面的输出指向串口,这一过程就叫重定向。那么如何让 STM32 使用 printf 函数呢 很简单 只需要将 fputc 里面的输出指向 STM32 串口即可 fputc 函数有固定的格式 我们只需要在函数内操作STM32 串口即可 代码如下int fputc(int ch,FILE *p) //函数默认的 在使用 printf 函数时自动调用 { USART_SendData(USART1,(u8)ch); while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)RESET); return ch; }如果要让其他的串口也使用 printf 函数 只需要修改下串口号即可。22.1.2 printf 函数格式printf 函数调用格式如下printf(格式化字符串, 参量表);其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出 另一部分是格式化规定字符, 以%开始, 后跟一个或几个规定字符,用来确定输出内容格式。参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用,分开, 且顺序一一对应, 否则将会出现意想不到的错误。常用格式化规定字符如下%d 按照十进制整型数打印%6d 按照十进制整型数打印 至少 6 个字符宽%f 按照浮点数打印%6f 按照浮点数打印 至少 6 个字符宽%.2f 按照浮点数打印 小数点后有 2 位小数%6.2f 按照浮点数打印 至少 6 个字符宽 小数点后有 2 位小数%x 按照十六进制打印%c 打印字符%s 打印字符串例如 使用 printf 函数输出一个整型数据 1234 则调用格式如下int data1234; printf(“输出整型数据 data%d\r\n” ,data);在 KEIL 中使用 printf 一定要勾选“微库” 选项 否则不会输出。 配置如下在 STM32 程序开发中 printf 应用是非常广的 当我们需要查看某些变量数值或者其他信息等 都可以通过 printf 打印到串口调试助手上查看。22.2 硬件设计本章硬件电路与上一章串口通信实验一样 使用到了 STM32F1 的串口 1 和LED 指示灯 这里不多说。22.3 软件设计本章所要实现的功能是 通过 printf 函数将信息打印在串口调试助手上显示 同时 D1 指示灯不断闪烁 表示系统正常运行。 程序框架如下1 初始化 USART12 编写 printf 重定向程序3 编写主函数本章软件部分非常简单 只需要在上一章串口通信程序基础上 加上一个printf 重定向函数即可。 下面我们打开“\4--实验程序\1--基础实验\14-printf重定向” 工程。22.3.1 USART1 初始化函数USART1 串口初始化程序同上一章串口通信实验一样。22.3.2 printf 重定向函数初始化 USART1 后 就需要将 fputc 里面的输出指向 STM32 的串口 代码如下int fputc(int ch,FILE *p) //函数默认的 在使用 printf 函数时自动调用 { USART_SendData(USART1,(u8)ch); while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)RESET); return ch; }当使用 printf 函数时 自动会调用 fputc 函数 而 fputc 函数内又将输出设备重定义为 STM32 的 USART1 所以要输出的数据就会在串口 1 上输出。22.3.3 主函数编写好前面几部分程序后 接下来就可以编写主函数了 代码如下#include system.h #include SysTick.h #include led.h #include usart.h /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ int main() { u8 i0; u16 data1234; float fdata12.34; char str[]Hello World!; SysTick_Init(72); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组 LED_Init(); USART1_Init(115200); while(1) { i; if(i%500) { LED1!LED1; printf(输出整型数data%d\r\n,data); printf(输出浮点型数fdata%0.2f\r\n,fdata); printf(输出十六进制数data%X\r\n,data); printf(输出八进制数data%o\r\n,data); printf(输出字符串str%s\r\n,str); } delay_ms(10); } }主函数实现的功能很简单 首先调用之前编写好的硬件初始化函数 包括SysTick 系统时钟 LED 初始化等。 然后调用我们前面编写的 USART1 初始化函数这里我们设定串口通信波特率为 115200。 最后进入 while 循环语句 不断让 LED指示间隔 200ms 闪烁 同时通过串口 1 输出一连串字符信息。其实如果你学会了重定向到 USART1 对于其他的串口重定向都是类似的。22.4 实验现象将工程程序编译后下载到开发板内 可以看到 DS0 指示灯不断闪烁 表示程序正常运行。 打开“\5--开发工具\4-常用辅助开发软件\串口调试助手\串口调试助手丁丁” 内串口调试助手。 实验现象如下 前提一定要连接好线路USB 线一端连接电脑 另一端连接开发板“USB 转串口模块” 上的 USB 下载口并且在“USB 转 TTL电源” 模块上 P4 端子短接片已插上课后作业1 使用 printf 函数 在串口调试助手上打印出九九乘法表。2 使用 printf 函数 在串口调试助手上打印杨辉三角。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

佛山网站建设专业定制wordpress字母索引

书 接 上 回、我 们 分 析 下 AuthController.PostMapping("/login") 接 口 作 为 切 入 点 进 行 深 入 浅 出 剖 析 ~ ~下 面 我 们 以 小 明 的 authenticateUser 方 法 为 入 口 , 详 细 拆 解 认 证 执 行 的 ** 完 整 流 程 闭 环 ** , …

张小明 2025/12/25 17:45:15 网站建设

小说网站开发设计手机网络

基于Kotaemon的智能写作辅助工具开发 在当今企业知识爆炸式增长的背景下,如何高效、准确地生成专业文档已成为组织运作的关键瓶颈。无论是合规报告、政策声明还是技术方案,传统人工撰写方式不仅耗时费力,还容易因信息滞后或理解偏差导致内容失…

张小明 2025/12/25 17:45:13 网站建设

企业网站建设费怎么核算郑州最新消息今天

3分钟快速集成eventpp:C事件处理库的终极入门指南 【免费下载链接】eventpp eventpp - 一个为C提供的事件分派器和回调列表库。 项目地址: https://gitcode.com/gh_mirrors/ev/eventpp eventpp是一个功能强大的C事件处理库,提供事件分发器、回调列…

张小明 2025/12/28 14:47:17 网站建设

织梦网站如何转百度小程序同步vue网站引导页怎么做

Ollama与Docker共存时对Anything-LLM资源占用的优化建议 在如今越来越多个人开发者和中小企业尝试搭建专属AI助手的背景下,一个常见但棘手的问题浮现出来:如何在有限硬件资源下稳定运行像 Anything-LLM 这类功能完整的本地大模型应用?尤其是当…

张小明 2025/12/28 18:17:23 网站建设

做个手机网站有必要吗wordpress做商品筛选

一、功能概述此“文本保存到本地”功能用于将指定的文本内容保存为本地文件。该功能通过创建一个临时的 Blob 对象来存储文本内容,并利用 HTML 的 标签模拟用户点击下载操作,将文本保存为指定名称和类型的文件。用户可以自定义文件名和文件类型&#xf…

张小明 2025/12/28 16:09:11 网站建设