
STM32 HAL
yhl_sophia
这个作者很懒,什么都没留下…
展开
-
STM32 从APP跳入BootLoader问题
在这次项目中,程序从APP跳入BootLoader主要遇到两个问题,做个记录:1、现象:跳入BootLoader后还没开始升级便重启 原因:APP程序中开启了独立看门狗,当跳入BootLoader时看门狗也继续计时,但并没有重新喂狗,因此导致跳入BootLoader后软 件Reset重新进入APP。 解决办法:在BootLoader中添加喂狗程序或跳入BootLoad...原创 2020-03-19 11:24:13 · 5446 阅读 · 1 评论 -
STM32F030 HAL ADC多通道采样DMA传输
我所选用的芯片是STM32F030C6,采用官方STM32CubeMX配置ADC多通道时只需勾选相应的ADC通道,而对于大部分说的Rank设置是不需要的,F0默认按通道数字号配置了通道顺序。 关于ADC多通道DMA配置的顺序:Enable DMA时钟 -> 配置ADC -> 配置DMA -> 开启传输 1、配置ADC ADC_ChannelConfT...原创 2020-01-10 11:27:47 · 6982 阅读 · 5 评论 -
STM32Cube_FW_F0_V1.10.0 官方库的I2C 调试
又来写I2C通信了......真是换一个新库就要花时间重新调试一下,这次用的是最新的官方库STM32Cube_FW_F0_V1.10.0 ,开发平台用的也是新的STM32CubeIDE。(一) 需要完成的任务是模拟一个电池包被动发送信息给充电器,调试阶段我用STM32F030R8板子上的I2C2做主模拟充电器,I2C1做从模拟电池包。充电器读取电池包信息时通信时序是:先发送从机...原创 2019-07-01 11:47:56 · 4452 阅读 · 5 评论 -
STM32 HAL库学习(六)USB识别成Custom HID通信
一、STM32F070 USB基础知识了解:STM32F070 USB采用USB 2.0规范,时钟频率为48MHZ,有一个专用的USB数据存储区,大小为1024字节;支持16个单向传输端点、8个双向传输端点USB外设模块构成图:USB物理接口模块:USB_DM、USB_DP —— 数据正、负信号Analog Transceiver —— 模拟收发器Embedded pu...原创 2018-11-19 18:11:33 · 21696 阅读 · 1 评论 -
STM32 HAL学习(七)USB DFU升级BootLoader
DFU(Device Firmware Upgrade),即固件升级,STM32提供有专门的USB通信协议实现DFU升级BootLoader我用的开发板是STM32F070,支持DFU升级,故用来做做实验,下面对整个过程做个记录。首先是使用STM32Cube MX使能USB外设,并在Class for FS IP中选择Download Firmware Class(DFU),我这里通过判断...原创 2018-11-22 14:46:24 · 9124 阅读 · 6 评论 -
(转)STM32之HAL库详解 及 手动移植
原文出处:https://blog.youkuaiyun.com/ZCShou优快云/article/details/55213616转载 2018-11-12 14:28:57 · 1621 阅读 · 0 评论 -
STM32 HAL库学习(五)RCC时钟树分析
开发板采用STM32F070RB,最大时钟速率为48MHZ,在STM32Cube MX中可以选择对应的芯片,得到它的时钟树如下所示:分析时钟树,几种主要的时钟源分析如下1、SYSCLK系统时钟的时钟源 —— 8MHZ HSI内部晶振 —— 8MHZ HSE外部晶振 —— PLLCLK(来源于倍频后的HSI或HSE)2...原创 2018-11-15 13:59:54 · 6055 阅读 · 0 评论 -
STM32 HAL库描述
官方下载的HAL库内容包括:STM32Cube HAL库文件、中间件(RTOS、USB、TCP/IP、Graphics)、一系列的外设应用例程。HAL驱动建立在一套通用的体系结构之上,主要提供一套API接口以便更好地与上层应用进行通信;HAL驱动函数严格按照ANSI-C标准编写,因此可独立于开发工具。HAL库的特点主要有:1、抽象于硬件之上的结构体赋值初始化操作,基于功能的分类2、...原创 2018-11-15 10:57:10 · 2073 阅读 · 1 评论 -
STM32 HAL库学习(三)ADC采样以及printf的使用
ADC输出的电压值经转换后一般为一个浮点数,要将其打印到串口则需要对串口输出函数做一个调整。首先是printf函数的重定向,将一下代码加入到usart.c中,完成后便可以用printf函数输出字符串到串口中,而要输出浮点数,则还需在“项目/建立设置/C Linker/Miscellaneous/Other options”中添加“-u _printf_float”#include <...原创 2018-11-05 15:48:16 · 14610 阅读 · 3 评论 -
STM32 HAL库学习(四) SPI查询发送与接收
又是花了两天时间调SPI......细心细心还是需要细心啊,还是用的上次的SPI Flash芯片mx25l04600E,主要是测试芯片的初始化和读取芯片ID是否成功。STM32F070芯片只有一个SPI,但可用作SPI信号管脚的引脚却不只一组,建议通信前先连接MOSI和MISO测试自发自收是否成功,如果不成功要考虑换一组引脚(我的就是有一组SPI引脚不能用。。。。)首先采用CubeMX配置...原创 2018-11-07 16:29:17 · 29475 阅读 · 5 评论 -
STM32 HAL库学习(二) 串口收发数据
上一篇实现了LED的点亮和串口轮询发送数据,这章想着实现串口接收数据,不得不说,在开始使用STM32的外设才对HAL库的框架有更准确的理解。之前一直不懂HAL库的优越性在哪,这次对它的msp层有了一定认识。 简单来说,HAL库有一个特点就是对于许多外设的初始化以及功能操作,都提供有一个weak版本的函数,例如串口的HAL_UART_MspInit()函数和HAL_UART_MspDe...原创 2018-10-30 15:19:25 · 21261 阅读 · 1 评论 -
STM32 HAL库学习(一) STM32CubeMX和TRUEStudio的使用
最近开始学习STM32的HAL库,之前有用过std库函数做STM32开发的基础,因此学习HAL库会更容易上手一些,但对于新的编程、下载工具以及HAL库仍有许多不清晰的地方。经过初步的实验实现点亮LED灯和串口的发送数据之后,对所用到的几个工具以及HAL库进行一个总结。HAL —— 硬件抽象层(Hardware Abstraction Layer),是STM32最新推出的抽象层嵌入式软件,支持中...原创 2018-10-29 18:11:30 · 11257 阅读 · 0 评论