尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
HAL库笔记(铁头山羊)
1.GPIOGPIO_PinState HAL_GPIO_ReadPin(GPIOx, GPIO_Pin);读取IO口电平状态举例HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_8) 读取PA8的电平状态HAL_GPIO_WritePin(GPIOx, GPIO_Pin, GPIO_Pin_State);在指定IO口写入高低电平举例HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET)设置PA8引脚为高电平HAL_Delay(x);2.串口打开工程配置完USART后会生成一个USART的句柄句柄里面存放USART的一些相关的操作外设基地址USART1 寄存器起始地址串口配置参数波特率、数据位、校验位、停止位、收发模式收发缓存指针、数据长度、中断状态、DMA 状态、错误标志串口发送数据的HAL库函数一般超时时间一般填HAL_MAx_DELAY;举例uint8_t SendData 0x51;HAL_StatusTypeDef consult HAL_UART_Transmit(huart1, SendData, 1, HAL_MAX_DELAY)这里的返回值不是传递的数据而是传递过程的结果是否传递成功串口接收数据的HAL库函数举例uin8_t ReceiveData;HAL_StatusTypeDef consult HAL_UART_Receive(huart1, ReceiveData, 1, HAL_MAX_DELAY)这里的返回值不是传递的数值而是传递过程的结果是否传递成功3.I2C0.96寸OLED手册给出的命令创建工程后会生成I2C的句柄句柄实际上就是一个结构体里面定义了很多参数我们不需要全部都记住只需要知道这个句柄是一个是结构体里面含有很多参数结构体里面默认配置好很多参数我们不需要学会很多编程接口两个编程接口都会返回一个结果成功 / 失败只有返回HAL_OK才表示发送成功。举例uint8_t commands[] {0x00, 0x8d, 0x14, 0xaf, 0xa5}; //OLED开机命令HAL_StatusTypeDef result1 HAL_I2C_Master_Transmit(hi2c1, 0x78, commands, sizeof(commands)/sizeof(commands[0]), HAL_MAX_DELAY);这里定义了一个变量result1来接收传递过程是成功还是失败uint8_t dataRcvd;HAL_I2C_Master_Receive(hi2c1, 0x78, dataRcvd, 1, HAL_MAX_DELAY);4.时钟系统AHB总线是72MHzAPB1总线是36MHzAPB2总线是72MHz内部外部高速高速内部时钟HSI高速外部时钟HSE低速低速内部时钟LSI低速外部时钟LSELSI和HSI是芯片内部的振荡器不需要外接任何的元器件。因此优点就是硬件成本低但是精度不够高。HSE和LSE都需要外接都需要外界一个晶振精度高但是硬件成本高。锁相环可以倍频
RELATED

相关推荐

STM32串口通信基础与HAL库实现

STM32串口通信基础与HAL库实现

1. STM32串口通信基础与实验目标 在嵌入式系统开发中,串口通信是最基础也最常用的外设功能之一。STM32系列微控制器内置了USART(通用同步异步收发器)模块,能够灵活地实现设备与上位机之间的数据交互。本次实验的核心目标是使用STM…

📅 2026/9/12 12:12:51
深入解析SoC的PRCM模块:时钟、电源与复位管理核心原理与实践

深入解析SoC的PRCM模块:时钟、电源与复位管理核心原理与实践

1. 深入理解PRCM:SoC的“心脏起搏器”与“能源中枢”在嵌入式系统开发,尤其是基于复杂SoC(片上系统)的应用处理器设计中,我们常常把CPU核、DSP、GPU这些计算单元比作系统的“大脑”和“肌肉”。然而,一个稳…

📅 2026/9/5 0:35:04
STM32多协议网关架构优化与FreeRTOS事件驱动实践

STM32多协议网关架构优化与FreeRTOS事件驱动实践

1. 项目概述:STM32多协议网关的架构革新在工业控制领域,多协议网关作为连接不同通信设备的枢纽,其性能直接影响整个系统的稳定性。传统基于轮询的架构在面对UART、CAN、SPI等多协议并发场景时,常常出现CPU资源耗尽、数据丢失等问题…

📅 2026/8/23 17:14:51
MORE NEWS

更多资讯

📰

团子翻译器单元测试覆盖率:代码质量保障措施

团子翻译器单元测试覆盖率:代码质量保障措施 引言:OCR翻译器的质量痛点与解决方案 你是否曾遇到过翻译器识别 accuracy(准确率)忽高忽低?粘贴的日文文本总是出现乱码?图片翻译结果残缺不全?作…

📰

MySQL驱动全解析:JDBC与ODBC的下载、配置与避坑指南

很多人在MySQL驱动上栽过跟头:明明数据库装好了、代码也没问题,程序一跑就报“ClassNotFoundException”或者“找不到数据源”,最后发现是驱动压根没下对、没放对地方。另一个常见场景是公司内网环境用Excel、Access或者其他报表工具连MySQL&…

📰

PHP 8.4新特性解析与性能优化指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

SSM框架搭建二手车平台:从web.xml到JSON接口的完整实践

简介:本资源是一套完整的基于SSM框架的二手车交易平台毕业设计项目,面向Java初学者及高校计算机专业本科生,解决课程设计、毕设选题与Web开发实战能力提升的实际需求。项目采用SpringSpringMVCMyBatis主流整合架构,结合JSP前端页面…

📰

独立开发者实战:技术选型与产品开发经验分享

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Go语言中值类型与指针类型receiver的性能差异与选择策略

1. 从一次内存泄漏排查说起上周排查一个线上服务的内存泄漏问题时,我发现一个有趣的现象:某个结构体的方法调用频繁创建临时对象,导致GC压力剧增。这个问题最终可以追溯到receiver类型的选择上——用值类型还是指针类型?这个看似简…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬