STM32 HAL库
la_fe_
这个作者很懒,什么都没留下…
展开
-
STM32 HAL库学习(一):GPIO and EXIT
STM32 HAL库学习(一):GPIO1. HAL库1.1 HAL库初始化HAL_Init() 是主函数中首要处理的函数,主要用来初始化HAL库。HAL_Init();即用来初始化所有的外围设备,Flash接口和系统定时器,系统中断组,初始化低级别硬件这个函数不能修改,return HAL_OK向函数返回一个值,代表函数编译成功。HAL_StatusTypeDef HAL_Init...原创 2019-08-26 17:28:31 · 4055 阅读 · 0 评论 -
STM32 HAL库学习(二):RCC and RTC
STM32 HAL库学习(二):SystemClock_Config1 RCC(Reset Clock Control)STM32的时钟系统比较复杂,不像51单片机,可能只有一个时钟。原因:1、外设多,不同的外设有不同的时钟要求;2、功耗原因,速度越快,功耗越大,抗电磁干扰能力越弱。表中,H 高 L 低 I 内 E 外使用 STM32CubeMX 配置时钟时,可以看到下图STM3...原创 2019-08-27 10:33:09 · 5438 阅读 · 0 评论 -
STM32 HAL库学习(三):UART
STM32 HAL库学习(三):UART1 USART 与 UART// USART 是对 UART 的扩展。它除了支持异步传输之外,也支持同步传输。但目前较少应用。UART(Universal Asynchronous Receiver/Transmitter),即通用异步收发传输器;USART(Universal Synchronous Asynchronous Receiver Tr...原创 2019-08-27 11:13:11 · 2771 阅读 · 0 评论 -
STM32 经典应用原理(一):按键消抖
STM32 经典应用原理(一):按键消抖消抖原理,就是检测,延时,检测。可以应用到扫描式操作(就是放在循环里面)/** * 函数功能: 读取按键KEY1的状态 * 输入参数:无 * 返 回 值: KEY_DOWN:按键被按下; * KEY_UP :按键没被按下 * 说 明:无。 */KEYState_TypeDef KEY1_StateRe...原创 2019-09-02 10:25:58 · 5100 阅读 · 0 评论 -
STM32 HAL库详解
STM32 HAL库整体总结STM32 之二 HAL库详解 及 手动移植本篇博客是对以上参考资源的一个二次总结与整理。1. HAL库文件结构对于开发人员而言,首先要清楚 HAL 库的文件结构。根据文件类型可认为以下两大类:库文件: stm32f2xx_hal_ppp.c/.h // 主要的外设或者模块的驱动源文件,包含了该外设的通用API stm32f2xx_hal_ppp...原创 2019-09-02 14:15:38 · 19152 阅读 · 3 评论 -
STM32 HAL库学习(四):I2C 协议篇
STM32 HAL库学习(四):I2C 协议篇1. I2C1.1 I2C 简介I2C(Inter-integrated Circuit)总线支持设备之间的短距离通信,用于处理器和一些外围设备之间的接口,它只需要两根信号线来完成信息交换。1.2 与UART、SPI 的区别1.UART串行端口是异步的(不传输时钟相关数据),两个设备在使用串口通信时,必须先约定一个数据传输速率,并且这两个...原创 2019-09-02 17:33:14 · 9108 阅读 · 0 评论 -
STM32 HAL库学习(四):DMA之串口空闲中断
STM32CubeMX 配置实现参考这里。1.不定长数据接收的原理及其解决的问题在 STM32 中,UART是最为常见的通信方式——它每次接收一个字节,我们可以使用轮询的方式,但是对于某些数据不固定时间发送的数据,轮询的方式有时候不够灵活。也可以使用中断的方式,如每一个字节都中断一次,比较消耗系统资源。特别是HAL库中,从中断到回调函数运行了不少的程序,频繁的中断很可能造成数据溢出。为了避免...转载 2019-09-04 17:35:25 · 24238 阅读 · 16 评论