阅读本专栏其他文章,有助于理解本文。👆文章目录一、开发库选择1.1概述1.2CMSISpack1.3SPL库1.4HAL库1.5LL库1.6寄存器开发二、代码对比2.1使用寄存器2.2使用CMSIS库2.3使用SPL库2.4使用HAL库2.5使用LL库2.6使用RTOS三、如何在软件中选择不同的库3.1ARMMDK3.2STM32CubeIDE一、开发库选择1.1概述STM32开发相关的库有很多,它们都是为了方便开发者使用STM32微控制器而提供的软件工具。根据不同的功能和层次,可以将它们分为以下几类:CMSIS库(准确来说是CMSISpack)(CortexMicrocontrollerSo
复习一周进国赛,只讲具体配置方法,原理网上找。用到最新版的STM32G431,一口气配置完(熟练的话全部配置亲测40分钟搞定)。把省赛所有基础配置过一遍,内容很多,都是干货,觉得有用记得点赞收藏。包括时钟配置、中断配置;外设中常用的GPIO(KEY,LED)、ADC、UART、LCD、I2C、TIM(pwm,cap)、RTC1.Cubemx配置1.1选择芯片1.2时钟配置1.3GPIO根据官方的原理图配置led的GIPO PC8-PC15+PD2(别把这个忘了)和key的GPIOPB0-PB2PA0 GPIO配置默认状态就好1.4 ADC板上电阻R37和R38连接到PB15和PB12 配置
主控:STM32F103C8T61.电机测速在进行速度控制之前,我们首先需要进行速度采样,这里参见这篇博文2.电机驱动这里不细说电机驱动模块的选型和使用,而是说一个常见的误区。我们驱动电机要使用两路PWM,一般是一路给PWM信号,一路是纯低电平。但这其实是不好的,正确的做法是一路给PWM,另一路给纯高电平。此时PWM的占空比越低,电机的速度越快。如果大家使用的是类似于A4950或者DRV8870这样的电机驱动芯片,它们的数据手册中都会有这样的描述这是DRV8870的,明确说明了PWM加高电平是最佳控制方式。这是A4950的,用曲线图的方式说明了PWM加高电平时电流会更加稳定。此外,如果
欢迎关注博主Mindtechnist或加入【智能科技社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关注公粽号《机器和智能》回复关键词“python项目实战”即可获取美哆商城视频资源!博主介绍:CSDN优质创作者,CSDN实力新星,CSDN内容合伙人;阿里云社区专家博主;华为云社区云享专家;51CTO社区入驻博主,掘金社区入驻博主,支付宝社区入驻博主,博客园博主。典型IO接口与总线|SPI、IIC、UART、GPIO1.SPI串行总线2.IIC总线3.UAR
往期内容:【stm32】00亲爱的勇者,在踏上这个波澜壮阔的大陆之前,厉兵秣马,我们即刻出发【stm32】01,今晚,整个32将为你闪烁(GPIO输出,点亮led灯)亲爱的勇者们,许久不见甚是想念!我是weib,在我不在的日子里也祝愿你们早安、午安和晚安!欢迎各位勇者来到了新的关卡,在上一关里我们主要学习了GPIO输出模式的控制,各位勇者可还记得在那个不太聪明的王国里那扇“偏执”的门?那对纯洁的0和1所代表的状态可还有印象?那三条神奇的秘籍能熟练使用了吗?各位勇者可以一遍又一遍的回顾过往的关卡,weib会一直陪着你。今天我们将学习对GPIO输入模式的控制,同时通过按键的方式控制led的闪烁——
官方库源文件:1移植官方6个库文件2修改inv_mpu.h中结构体//新增void(*tmp)(void);structint_param_s{#ifdefinedEMPL_TARGET_MSP430||definedMOTION_DRIVER_TARGET_MSP430void(*cb)(void);unsignedshortpin;unsignedcharlp_exit;unsignedcharactive_low;#elifdefinedEMPL_TARGET_UC3L0unsignedlongpin;void(*cb)(volatilevoid*);void*arg;#elifdefi
目录一、PLL主时钟初始化1.1时钟使能 1.2配置好主时钟配置结构体1.3将配置好的值写入到对应的寄存器、初始化PLL主时钟;1.3.1__HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState)分析: 1.3.2给PLL相关寄存器赋值:二、外设时钟初始化2.1等待周期的验证和写入;2.2HCLK配置2.3SYSCLK配置、时钟源选择2.3.1 PLL时钟就绪检测和__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY)宏定义的分析2.3.2系统时钟源选择2.4PCLK1和PCLK2配置2.5更新hal库参数三、总结本人使用的单片机stm3
在VSCode中搭建完ESP32的开发环境后,就可以开始快乐编程了。在进行ESP32开发前,我们需要对它的API有个基本了解。一.资料下载 授人以鱼不如授人以渔,学会找学习资料很重要。在乐鑫的官网上,给出了各种型号的技术支持,点击支持,技术文档。 我所使用的开发板为ESP32,所以选择ESP32,选择ESP-IDF编程指南。 点击开来后,里面有非常详细的教程。这里我们重点关注它的各个API接口,点击API参考,外设API,里面列出了关于各类外设对于的API。这边文章主要介绍关于GPIO配置的各种API函数,后面各种接口函数将在后面学习过程中依次介绍。这里我
STM32使用HAL库之Msp回调函数1.问题提出在STM32的HAL库使用中,会发现库函数大都被设计成了一对:HAL_PPP/PPPP_InitHAL_PPP/PPPP_MspInit而且HAL_PPP/PPPP_MspInit函数的defination前面还会有__weak关键字上面的PPP/PPPP代表常见外设的名称为3个字符或者4个字符怎么理解这个设计呢?2.问题分析2.1结论首先说结论:HAL_PPP/PPPP_Init是与具体芯片(无论是STM32F4/F1/F7)无关的设置HAL_PPP/PPPP_MspInit是与具体芯片相关的配置(如STM32F429IGTx)这样的设计是将
STM32之HAL、LL和标准库引言介绍标准库HAL库LL库三者的关系总结引言我们在进行STM32开发的时候,使用寄存器进行开发的终究是少数,大多数人还是习惯用库函数进行开发。到目前为止,有标准外设库、HAL库、LL库三种。本文将分别介绍以下三种库,便于大家区分。介绍标准库标准库(StandardPeripheralLibrary)是STMicroelectronics提供的最基本的库。它提供了对STM32微控制器的底层寄存器和外设的直接访问。标准库的设计目标是提供高度灵活性和低层次的硬件控制,以满足对性能和资源的严格要求。使用标准库,开发人员可以直接操作寄存器来配置和控制微控制器的功能,但需