分享本文,介绍STM32的GPIO使用。设置GPIO引脚的输出功能,将对应引脚拉高或拉低输出初步认识STM32最新的HAL库的使用用代码实现控制GPIO引脚输出产生周期出1s 占空比为50%的PWM波 示例详解    做实验用到的STM32F103C8T6最小系统板,如下图所示。使用STM32cube            
                
         
            
            
            
            硬件环境开发板:阿波罗开发板->429核心板
RGB屏:正点原子4.3  800*480显示屏1.根据硬件接口配置STM32的引脚 首先看整点原子开发板的RGB屏的接口,它是一个RGB565的接口,以及DMA2D使用了外部SDRAM。然后根据引脚来配置CubeMX的设置LTDC配置 注意:如果你直接设置RGB565会自动配置图形界面的IO口,其实他是和正点原子原理图的IO不一致的,所以还是要            
                
         
            
            
            
            使用 CubeMX 配置 RCC 时钟RCC时钟控制时钟树时钟配置CubeMx 配置系统时钟使用 RCC时钟控制STM32H7 有如下六种时钟可供使用:HSI (High-speed internal oscillator) :HSI 是内部的高速 RC 振荡器,频率 64MHz,可被用于系统时钟。优势是低成本,无需外部时钟,快速启动(仅需几个微秒),缺点是精度差,即使经过校准。HSE (Hig            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-31 22:05:34
                            
                                222阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在视频里面提到,他用STM32CubeMx 更清晰地进行STM32系统时钟配置以及时钟架构。STM32 开发流程 : 芯片选型 - 原理图设计 - PCBlayout - 编写程序芯片选型 什么是附带DSP和FPU?DSP:数字信号处理。注意:STM32单片机对数字信号处理,是通过内核的DSP指令集来提供支持的。FPU: 浮点运算单元。HAL库 新建工程模板方式: 1、手动移植,参考SPL标准库的            
                
         
            
            
            
            昨天在使用CubeMx配置uart的时候遇到了一些问题,在这里总结记录一下,以免后期再次出错。 芯片:STM32F103RCT6 工具:CubeMx、Keil5 使用UART1进行配置下面开始具体配置操作: 1.配置RCC 在RCC的选择上一共有三个选项,分别如下图: 其中BYPASS Clock Source表示旁路时钟源,也就是外部时钟,只需要外部提供时钟接入OSC_IN引脚,OSC_OUT引            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-12 19:19:28
                            
                                834阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            STM32F103定时器配置##一、什么是定时器 定时器,顾名思义,就是用于定时或计数,它其实就是一个加1计数器。 ##二、了解STM32F103定时器 STM32通用寄存器有TIM2、TIM3、TIM4、TIM5。 功能包括:(1)16位向上、向下、向上/向下自动装载计数器(TIMx_CNT)。 (2)16位可编程预分频器(TIMx_PSC),计数器的时钟频率的分频系数为1~65535之间的任意            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-09 10:32:02
                            
                                274阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            系列文章目录STM32CubeIDE(CUBE-MX hal库)----初尝点亮小灯STM32CubeIDE(CUBE-MX hal库)----按键控制STM32CubeIDE(CUBE-MX hal库)----串口通信STM32CubeIDE(CUBE-MX hal库)----定时器 文章目录系列文章目录前言一、蓝牙配置二、CUBE-MX可视化配置三、蓝牙APP调试助手四、实验总结 前言HC-0            
                
         
            
            
            
            内有详细讲解,本文只摘取一部分RCC(Reset Clock Controller):复位与时钟控制器一、时钟有四种时钟: 1)高速外部时钟信号(HSE)—— HSE外部晶体/陶瓷谐振器 、HSE用户外部时钟 2)高速内部时钟信号(HSI)—— 由内部8MHz的RC振荡器产生 3)低速外部时钟信号(LSE)—— 32.768kHz的低速外部晶体或陶瓷谐振器 4)低速内部时钟信号(LSI)—— L            
                
         
            
            
            
            STM32硬件CRC的使用说明本文对应STM32G0系列 STM32硬件的CRC不占用MCU的计算资源,和软件查表计算消耗的存储空间。但其结果与平常使用的CRC不一样,导致很多人还是在用软件计算CRC。 其实结果的差别,只是由于计算方式导致的,调整计算方式以后也可以输出普通计算的结果。软件计算CRC16u16 LL_crc16_calculator(u8* data, u16 len)
{            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-31 15:43:47
                            
                                230阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            STM32 RCC理解学习最近看了一下STM32的启动代码,在system_init函数中找到了RCC部分初始化的流程, 有许多不解,查了一下资料,基本上搞清楚了RCC的原理。 RCC主要是管理系统复位和时钟控制的,系统复位这里不讨论,主要讲系统时钟。时钟STM32可以使用三种不同的时钟源来驱动系统时钟 (SYSCLK): ● HSI 振荡器时钟 ● HSE 振荡器时钟 ● 主 PLL (PLL)            
                
         
            
            
            
            STM32的寄存器多如牛毛,要一个一个的弄清楚谈何容易呀,所以我们在学习的时候要抓住重点,挑重要的进行学习和记忆,因为STM32一个一个去配置寄存器的话相当的麻烦,我们实际开发的话也不会一个一个去配置寄存器的,所以我们只需要记住常用的那几个外设的几个寄存器的“用法”和“作用”即可,不要去记它的具体操作。一、CRL和CRH寄存器 这两个都是32位的寄存器,因为STM32的话,它的GPIO口不像51单            
                
         
            
            
            
            最重要收获:了解到同一个寄存器按字节,半字和字访问的区别。同一个内存寄存器地址,强转为volitale uint8_t *类型,volitale uint16_t *类型和volitale uint32_t *类型时,若其支持按字节,半字和字访问时,这三个类型写入的结果对CPU来说是不一致的。感觉支持多类型访问的寄存器,写入低字节时,CPU记录低字节有数据更新,然后只进行低字节数据运算。低2字节有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-20 16:33:13
                            
                                134阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            看了stm32h750系列的介绍,其模拟性能、运算性能和通信功能都很强,并且作为一款新的MCU,迅速在市场上普及,价格也可以接受,所以很快入手了一块stm32h750VBT6开发板,进行实验。与之前一样,完全不使用st的固件库,只借鉴启动文件:startup_stm32h750xx.s和系统定义:stm32h750xx.h,并将其中定义的固件库相关信息删除。CPU没有跑满480MHz,而是是用一般            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-30 19:03:37
                            
                                700阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                    参考《STM32中文参考手册_V10》,把CubeMX中有关DMA的配置搞清楚。一、配置参数1-DMA1:在外设和存储器之间进行数据传输的配置。两个DMA控制器共包含12个通道(DMA1有7个,DMA2有5个)。2-MemToMem:DMA通道的操作也可以在没有外设请求的情况下进行,这种操作就是存储器到存储器模式。如果要使用DMA的存储器到存            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-12 19:54:33
                            
                                235阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            RCC :reset clock control 复位和时钟控制器;特别是要着            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-17 10:55:36
                            
                                286阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            首先原则上STM32通用定时器的4个通道的频率是一样,是由定时器设定频率决定,各个通道可以设置不同的占空比和开启关闭,这些是相互独立的;但是利用一些特殊方法可以修改定时器不同通道的频率,方法比较讨巧:就是利用CCR1的自动溢出的中断更改频率,用CCR1的值不断的在增加,设置ARR为65535,而65535的二进制是1111111111111111,超出会溢;如果TIMx_CNT=TIM_CCR1            
                
         
            
            
            
            一直对stm32的硬件iic敬而远之,好像说是有问题的,就一直用的模拟iic实现,今天用sht30试了一下,发现基于cubemx来配置iic还挺方便的。现做如下记录首先是硬件平台:stm32f103vet6指南者先总结一下步骤cubemx配置->SHT30_Init(选择模式)->reset->利用Init的返回值判断是否成功->读取->数据拼接涉及到的自己写的函数有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-29 22:01:11
                            
                                157阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            F1帮助 -F2改名 -F3搜索 -F4地址 -F5刷新 -F6切换 -F10菜单 -CTRL+A全选 -CTRL+C复制 -CTRL+X剪切 -CTRL+V粘贴 -CTRL+Z撤消 -CTRL+O打开 -SHIFT+DELETE永久删除 -DELETE删除 -ALT+ENTER属性 -ALT+F4关闭 -CTRL+F4关闭 -ALT+TAB切换 -ALT+ESC切换 -ALT+空格键窗口菜单 -            
                
         
            
            
            
            很多朋友问我这个问题,也抱怨GNU工具链不如集成开发环境好用。如IAR Workbench、Keil、RVDS等。并不理解,为什么RTEMS死磕GNU的工具链。这里其实有很多原因,有一些是我猜测的,有一些是既定的事实。下面就聊聊这些原因:1. 首先,RTEMS 从上个世纪80年代末开始开发。那时候,还没有这么牛叉的集成开发环境;GNU的工具链应该是当时不二的选择。2. RTEMS作为一个开源免费的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-05 11:23:50
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一知半解学习环境:     1、CubeMX 4.23.0     2、uVision 5.14.2     3、 
 MCU 启明 STM32F407 开发板(高配版) V3.1     4、 
 中景园电子0.96寸OLED  
  一知半解学习目标:     1、掌握CubeMX下RCC以及S