CubeMX与HAL库系列教程
文章平均质量分 86
从0到1,cubemx与HAL库系列教程,非常详细的小白教程,欢迎订阅
小飞哥玩嵌入式
公众号:嵌入式实验基地
展开
-
解决了个bug,想说点啥但又难以启齿
串口通讯bug,问题不大,头很大原创 2022-08-16 22:27:56 · 789 阅读 · 3 评论 -
HAL库与cubemx系列教程|采用面向对象的方法写一个OLED驱动
如何用面对对象的方法实现嵌入式开发驱动,手把手教你如何实现,值得一看!原创 2022-08-12 21:33:28 · 437 阅读 · 2 评论 -
聊一聊STM32的低功耗管理(附源码)
废话不多说,直接开干...先来看看STM系列手册为例看看STM32的几种工作模式,小飞哥最近用到STM32G0系列的MCU,就拿G0的手册来聊一聊吧,其他的都类似,功耗方面有些差别测试代码连接在文末评论区,可以下载测试STM32系列MCU的几种工作模式正常运行模式就不聊了,刚开始学单片机时候,什么都不干,down个代码就能跑起来的大多是这种模式,不缺电,不需要省电...从STM32G070手册来看,模式还是比较丰富的,下面来看看各个模式的意思1、睡眠模式(sleep mode)原创 2022-04-26 22:11:18 · 3317 阅读 · 4 评论 -
Cubemx与HAL库系列教程|系统时钟配置详解及源码分析
STM32时钟系统简介STM32种类繁多,时钟系统也不尽相同,但基本的还是大差不差,今日小飞哥就F1系列的MCU简单聊一聊STM32的时钟系统1、时钟种类介绍:先来看一看时钟树图,包含了整个系统的始终来源及各个外设的始终来源STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。接下来,各个时钟的含义听小飞哥白话白话,自己看ST手册也可以哒 1.1 HSI时钟(内部高速时钟) HSI时钟信号由内部8MHz的RC振荡器产生,可直接作为系统时钟或在2分频后作为PLL输原创 2022-02-15 22:11:47 · 5311 阅读 · 3 评论 -
Cubemx与HAL库系列教程|ADC+DMA多通道采集详解
什么是ADC资料获取见文末你以为的ADC哈哈,开个玩笑~~~说起来ADC,先来聊聊模拟信号与数字信号,简单来说就是模拟信号与数字信号简介 模拟信号 模拟电压信号在时间上和幅值上均是连续的信号叫做模拟信号。此类信号的特点是,在一定动态范围内幅值可取任意值。 数字信号 与模拟信号相对应,时间和幅值均离散( 不连续 ) 的信号叫做数字信号。数字信号的特点是幅值只可以取有限个值。下文引自:https://baijiahao.baidu.com/s?id=17014原创 2021-10-28 22:03:07 · 9496 阅读 · 3 评论 -
不错哦|多级菜单实现起来就是这么简单!
摘要产品是面向用户的,用户需要的仅仅是功能以及有好的交互界面,多级菜单在其中扮演着重要的角色,有限的按键实现复杂的界面,层层相扣,标志法对于菜单的管理相当费劲,多了自己都会被自己绕晕...下面介绍一种还算不错的多级菜单是实现方式这个框架本身不复杂,小伙伴们可以直接看源码,有什么问题,可以一起交流硬件连接STM32F407ZGT6ST7789 LCD屏(SPI1,复用开发板NRF24L01接口)3个按键 PC7、PC8、PC9代码实现实现起来比较简单,直接进入代码部分,我使用的原创 2021-09-18 22:34:57 · 2248 阅读 · 0 评论 -
IAP固件升级原理及实现详解
什么是IAP升级?IAP,即In Application Programming,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写。简单来说,就是开发者代码出bug了或者添加新功能了,能够利用预留的通讯接口,对代码进行升级UART、SPI、IIC、USB等等,当然还有wifi、4G、蓝牙等无线通讯手段,都可以作为IAP升级的方式,今天主要介绍如何使用串口对固件进行升级STM32的代码启动过程要想设计IAP,首先需要对MCU的代码启动过程有个了解,先来看看STM32的原创 2021-09-18 22:32:56 · 11169 阅读 · 1 评论 -
Cubemx与HAL库系列教程|PWM呼吸灯详解
摘要上节介绍了点亮LED灯,本章还是点灯,但是小飞哥带大家换一种点灯方式,利用PWM功能实现“呼吸灯”,什么是呼吸灯?顾名思义,像人呼吸一样的灯...简而言之就是,吸气...呼气...实现灯光渐亮渐灭的效果。PWM原理介绍脉冲宽度调制(PWM),是英文“Pulse Width Modulation” 的缩写,简称脉宽调制,是利用 微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽 度的控制,如下图(摘自正点原子手册)PWM 原理示意图上图就是一个简单的原创 2021-08-10 22:20:42 · 3014 阅读 · 1 评论 -
RT-Thread与cubemx|74HC595驱动数码管详解
Part1 74HC595简介74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7'输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。74HC595是具有三态输出功能(即具有高电平、低电平和高阻抗三种输出状态)的门电路。输出寄存器可以直接清除。具有100MHz的移位频率。引脚介原创 2021-07-04 14:54:26 · 1142 阅读 · 2 评论 -
点亮LED灯
摘要本章节主要讲述如何使用cubemx、HAL库点亮LED灯,希望教程对正在学习HAL库的你有用哦~系列教程主要在STM32F407ZGT6探索者开发板完成,部分在自设计fallingstar board完成。cubemx配置不知道怎么新建工程的童鞋,麻烦移步新建工程章节,新建工程:见新建工程详解硬件连接,可以看到,F407探索者的LED灯是连接在PF9、PF10引脚上的,采用的是灌电流的设计方式,亮灯只需要控制相应IO就可以了: 高电平:熄灭 低电平:亮 选择需要配置原创 2021-06-28 23:11:36 · 289 阅读 · 1 评论 -
HAL库与Cubemx系列|Systick-系统滴答定时器详解
Systick是什么?关于Systick,在Context-M3权威指南中如此描述:SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号: 15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问原创 2021-06-09 23:47:47 · 6036 阅读 · 3 评论 -
HAL库与CubeMX系列|Cubemx新建HAL库工程
前言 工欲善其事,必先利其器。HAL库的开发不一定必须使用cubemx,但是使用了cubemx,你绝对不会后悔。基于一些小伙伴对cubemx的使用还有一些疑问,本次小飞哥从新建工程到生成工程,编写应用代码,和大家一起聊一聊到底该如何使用这个神器。本次是建立在已经安装好cubemx的情况下,错误之处还请多多指教。1、cubemx总体界面介绍 选择控制器MCU/MPU,有4个选项,一般小飞哥最常用的是第一个和第四个,第三个主要是没有对应板卡,可以快速找到自己用的MCU。 通过板子选原创 2021-06-03 23:52:51 · 1330 阅读 · 0 评论