外部中断机制  本章我们仍然是通过按键来控制LED,只不过实现方式由轮询变为了外部中断。为什么需要外部中断?为了给CPU减轻负担。   举个例子   比如你今天有个快递,快递一般放在前台或是门卫。你有两种方法,1、不停问前台,你的快递到了没有;2、等快递到了,让前台告诉你。   前者就是轮询,后者就是外部中断。   外部中断是由引脚检测到的中断。中断可以由上升沿、下降沿或双边沿触发。换句话说,中断            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-11 12:19:19
                            
                                1374阅读
                            
                                                                                    
                                1评论
                            
                                                 
                 
                
                                
                     
                                    
                             
         
            
            
            
            使用CubeMX配置串口1配置引脚  我的板子上使用插针引出了串口1,串口1连接PA8与PA9。配置串口通信参数  使能串口1,并配置为异步模式,波特率为115200,模式8N1。使能串口中断查看生成的代码  引脚与中断的初始化在stm32f4xx_hal_msp.c   而通信用到的参数,如波特率校验方式等初始化在main.c。   同样是串口初始化的代码,为什么要分开写?   可能是分层思想,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-11 12:18:35
                            
                                1897阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            STM32的串口接收机制  与阻塞式发送函数HAL_UART_Transmit配套,有个阻塞式的接收函数,HAL_UART_Receive,但此函数不常用,串口接收通            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-11 17:42:47
                            
                                3998阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            使用CubeMX配置输入引脚  本章我们要把按键作为输入源,使用单片机来检测引脚的电平状态。首先要查看原理图,按键与那些引脚相连。   我使用的板子,按键K2 -K5分别对应PA4-PA7,且按键按下去以后,引脚接地。因此,我们要将单片机的PA4-PA7设置为上拉输入。  点击生成代码并打开工程,可以看到STM32CubeMX配置好的引脚输入初始化代码如下(已省略部分无关代码)://main.cs            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-11 12:18:43
                            
                                1188阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            STM32三种库:库的类型:ST已经推出了三种库函数,以方便客户快速开发STM32系列MCU。从15、16年开始,ST逐渐停止了对标准外设库的更新和维护,转向了HAL和LL库。(1) 标准外设驱动库SPL                     Standard Peripheral Li            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-16 23:00:28
                            
                                283阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ST7789驱动程序移植,标准库到HAL库 STM32F407
    原因课设项目用到了ST7789这款lcd,但是官方给的例程都是标准库,在网上也没有找到HAL库的驱动。所以自己移植一下,使用STM32Cubeide首先新建项目,打开SPI1,需要更改的地方如下   关于引脚如何配置,这里参考一下原例程,PG12和PD5为SPI            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-02 22:08:49
                            
                                0阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            HAL库与cubemx系列教程,持续更新,欢迎关注            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-07 14:32:35
                            
                                1288阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             我们在使用嵌入式功能开发的时候经常需要使用按键实现一些功能。按键一般接触较多的就是独立按键,但一般情况上会需要多个按键,使用独立按键就会使得IO口资源浪费;因此会提出使用矩阵按键,该方法是可以实现节省IO口;本次介绍使用ADC实现多按键功能,通过采集ADC不同的值,然后判断是按键几按下?因此要求完成功能:实现一个ADC口完成对八个按键的检测,识别按键几按下,并将结果通过串口到串口助手上            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-02 13:48:41
                            
                                136阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
              串口收到的一段时间没有收到新的数据,闹钟响起,就把已经收到的数据打包,做相应处理。定时器溢出时间配置  首先修改定时器的溢出时间。本文规定使用5ms的间隔。在某些通...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-11 12:19:40
                            
                                1526阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最近开始看Android的HAL开发方面的东东,发现现在国内研究这个的并不多,来自台湾的Jollen可能是走在Android HAL研究的最前沿,这也和他以前专注做嵌入式linux(openmoko)的工作经历有关,毕竟Android的application开发是基于Java的,而之前Jollen做的更多的还是C/C++开发,因此选择从HAL作为进入Android的shortcut还是很明智的,我            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-16 11:59:34
                            
                                1201阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            HAL库的SPI的配置包括通讯参数和IO引脚配置,其中通讯参数配置函数在MX_SPI1_Init()中自不必说。那么IO引脚配置在什么地方调用呢:MX_SPI1_Init()-》HAL_SPI_Init()-》HAL_SPI_MspInit()            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-01-27 16:40:00
                            
                                522阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
             目录前言一、如何编程使用?二、使用步骤1.I2C通讯协议采集传感器数据BH1750传感器简介CubeMX配置1.GPIO引脚2.时钟3.I2C外设配置代码编写总结2.SPI通讯协议LCDLCD简介CubeMX配置1.GPIO引脚2.时钟3.SPI外设配置代码编写总结3.QSPI通讯协议读写FLASHQSPI简介W25Q64串行FLASH简介操作原理CubeMX配置1.GPIO引脚2.时钟3.QS            
                
         
            
            
            
            欢迎跟小飞哥一起学cubemx与HAL库,本期串口DMA使用,系列教程不断更新,欢迎关注,skr~            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-07 14:58:06
                            
                                2625阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            非常详细的PWM呼吸灯原理介绍及代码实现,附源码,欢迎阅读哦            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-07 15:24:06
                            
                                2156阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              使用STM32HAL库已经有了一段时间,觉得相比于标准库,好用了不少。加上STM32CubeMX图形化配置工具的加持,个人认为可以极大提升开发效率。其实关于HAL库的教程已经很多了,关于STM32CubeMX的使用教程也很多,我并不比这些写教程的大牛厉害,只是记录一些个人的看法。还有,随着版本的变化,STM32CubeMX的界面变化也比较大,我基于5.0.1版本重新按步骤截图记录操作。另外,我            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-11 12:19:06
                            
                                310阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
              STM32的时钟系统比较复杂,不像51单片机,可能只有一个时钟。原因:1、外设多,不同的外设有不同的时钟要求;2、功耗原因,速度越快,功耗越大,抗电磁干扰能力越弱。 此处以STM32F405为例,讲一点最常用的知识。其它的型号大同小异。时钟含义特点HSE外部高速时钟信号一般选择外接晶振,最常用的时钟信号。电机驱动板外接12MhzHSI内部高速时钟信号由单片机内部的16MHzRC振荡器生成,成本            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-11 12:19:10
                            
                                314阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            的时钟太快了,想用42Mhz可以吗?可以,2分频就行,这是+1的操作用时:2/84000000,  数100个数字用时多少?100 * 2/...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-11 12:19:35
                            
                                1226阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            STM32 HAL库学习笔记2 HAL库介绍CMSIS标准一、再次认识HAL库HAL库设计思想HAL库实现方式以GPIO模块为例GPIO外设数据类型GPIO外设接口函数二、使用HAL库1.库工程必要文件的调用关系2.使用步骤三、新建工程模板1.手动新建1)新建本地工程文件夹2)新建MDK工程6.编写用户代码2.使用CubeMX创建工程复制步骤总结 原文链接:STM32微控制器面向不同应用场景有丰            
                
         
            
            
            
            从源代码来看HAL库函数(一) HAL基础函数全局变量__IO uint32_t uwtick 这个变量充当了一个运行时长计数的作用,每发生一次SysTick中断就会加一,直至溢出,可以计算一下,溢出时间为2^32/1000/3600(以每1ms+1来算),大概要1193个小时,约50天,一般情况下是不用担心它会溢出的。 - uint32_t uwTickPrio = (1UL <<