草庐IT

cubemx和HAL开发的学习笔记(一)—— GPIO

1.HAL_GPIO_WritePin函数介绍HAL库中提供一个操作GPIO电平的函数:HAL_GPIO_WritePin函数voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,GPIO_PinStatePinState函数名HAL_GPIO_WritePin函数作用使得对应的引脚输出高电平或者低电平返回值Void参数1:GPIOx对应GPIO总线,其中x可以是A…I。例如PH10,则输入GPIOH参数2:GPIO_Pin对应引脚数。可以是0-15。例如PH10,则输入GPIO_PIN_10参数3:PinStateGPIO_PIN

cubemx和HAL开发的学习笔记(一)—— GPIO

1.HAL_GPIO_WritePin函数介绍HAL库中提供一个操作GPIO电平的函数:HAL_GPIO_WritePin函数voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,GPIO_PinStatePinState函数名HAL_GPIO_WritePin函数作用使得对应的引脚输出高电平或者低电平返回值Void参数1:GPIOx对应GPIO总线,其中x可以是A…I。例如PH10,则输入GPIOH参数2:GPIO_Pin对应引脚数。可以是0-15。例如PH10,则输入GPIO_PIN_10参数3:PinStateGPIO_PIN

HAL库&STM32cubeMX工程软件模拟IIC,改改引脚即可直接使用

HAL库&STM32cubeMX工程软件模拟IIC,改改引脚即可直接使用由于stm32后续的库文件只有hal库了,为了使代码更方便,也做了一个移植性很高的库文件,拿到手之后改改引脚就可以快速使用由于stm32后续的库文件只有hal库了,为了使代码更方便,也做了一个移植性很高的库文件,拿到手之后改改引脚就可以快速使用c文件如下/***@filesoftwareiic.c*@brief适用于STM32HAL库及CUBEMX生成工程的软件模拟IIC*@versionV1.0.0*@authorSundea*@date2023/5/8*/#include"softwareIIC.h"/***@brie

【stm32开发笔记】基于HAL库的STM32F4添加DSP库

简介:本文分两种方法添加DSP库:1.CubeMX直接配置ioc添加;2.KEIL内添加;一、MX直接配置DSP库简述:补齐全部lib库->添加DSP包->使能DSP勾选->添加头文件及魔术棒配置->测试1.补齐lib库。(如果使用直接默认添加的库,是不支持FPU的,所以需要补齐后找到所需的lib文件进行替换,在MX的工程管理栏,选择复制所有库)。此处添加的DSP文件夹位置:Project...\Drivers\CMSIS\DSP生成工程后,带FPU的lib文件位置\Drivers\CMSIS\Lib\ARM,注意所圈文件的位置,后面需手动添加到工程2.添加DSP芯片包。3.使能DSP,生成代

STM32(HAL)--使用定时器TIM的Encoder Mode来读取旋钮编码器的脉冲数

目录一旋钮编码器相关知识二STM32CubeMx配置三程序编写3.1相关函数介绍3.2程序编写四实验结果一旋钮编码器相关知识旋转编码器是一种位置传感器,输出脉冲信号可以用来确定编码器的旋转角度和旋转方向。编码器中有两个开关,当旋钮旋转后,开关会依次导通,开关结构图如下图所示如果我们将旋钮开关的引脚C接GND,引脚A和B通过上拉电阻接高电平,当旋钮旋转后开关会依次导通,A、B口的波形如下图所示。旋钮反转,A相波形会落后于B相所以我们可以开启STM32单片机定时器的输入捕获功能,统计A、B引脚的上升沿和下降沿的个数,可以知道旋钮编码器旋转了多少度;通过判断当A端口为下降沿时,B端口是高电平还是低电

GD32F4—RTC闹钟及自动唤醒中断配置详解

GD32F4—RTC闹钟及自动唤醒中断配置详解一、简介二、框图三、RTC初始化和配置一、简介GD32F4x的RTC例程网上资源较少,详细阅读用户手册后做出如下配置。RTC模块提供了一个包含日期(年/月/日)和时间(时/分/秒/亚秒)的日历功能。除亚秒用二进制码显示外,时间和日期都以BCD码的形式显示。RTC可以进行夏令时补偿。RTC可以工作在省电模式下,并通过软件配置来智能唤醒。RTC支持外接更高精度的低频时钟,用以达到更高的日历精度。下边就以RTC模块的框图为引线,对RTC的相关功能和操作做相关介绍。二、框图RTC单元有三个可选的独立时钟源:LXTAL、IRC32K和HXTAL,一般选用LX

串口通信(stm32F4)——通过串口助手发送led on或者led off控制LED灯的亮灭

1.实验目的通过串口助手发送ledon来点亮LED灯,发送ledoff来关闭LED灯(这里是LED1,其端口是GPIOF,引脚是PIN10,串口是USART1,其端口是GPIOA,引脚是PIN9、PIN10,一个用来收数据,一个用来发收据)2.实验流程初始化LED;初始化串口;编写接收数据中断函数;编写空闲中断函数。2.1初始化LED//初始化GPIO端口voidLED_GPIO_Config(void){ //初始化结构体GPIO_InitStruct //里面是GPIO的速度,上下拉,输出类型 GPIO_InitTypeDefGPIO_InitStruct; //打开时钟(一般开时钟要放到

基于STM32移植U8g2图形库——OLED显示(HAL库)

        前言:本文主要内容为将优秀的图形库U8g2移植到STM32单片机上,用于OLED显示精美UI。其实,目前GitHub上有需要优秀的开源GUI库,但是大部分的GUI解决方案并不适合0.96OLED(128x64像素,基于SSD1306)这种资源紧缺型的显示模组使用。所以,在这里给大家介绍和移植一下目前最为主流的0.96寸OLED的GUI图形库——U8g2。(本文为HAL库下的移植,标准库和其区别不大,文末有代码开源)    U8g2库开源网址:https://github.com/olikraus/u8g2    实验硬件:STM32F103C8T6;0.96寸OLED(128×

基于STM32移植U8g2图形库——OLED显示(HAL库)

        前言:本文主要内容为将优秀的图形库U8g2移植到STM32单片机上,用于OLED显示精美UI。其实,目前GitHub上有需要优秀的开源GUI库,但是大部分的GUI解决方案并不适合0.96OLED(128x64像素,基于SSD1306)这种资源紧缺型的显示模组使用。所以,在这里给大家介绍和移植一下目前最为主流的0.96寸OLED的GUI图形库——U8g2。(本文为HAL库下的移植,标准库和其区别不大,文末有代码开源)    U8g2库开源网址:https://github.com/olikraus/u8g2    实验硬件:STM32F103C8T6;0.96寸OLED(128×

2022多旋翼飞控主控芯片选型-F3,F4,F7及H7系列对比

以下为几种飞控常见的主控芯片的对比,如STM32F411、F722等。供参考。个人认为选择飞控的主控芯片按需要选择就行了,不必一步冲顶。若使用现代化的接收机协议 如CSRF协议(如黑羊接收机、Elrs接收机),在选择时是不必考虑是否具有s-bus的,新出的现代化接收机已经不需要s-bus了。F3系列   以前的主力产品,现已停产(可不必考虑购买)F4系列   无s-bus和smartport协议   F405   相对强大的处理能力及大量的内存   F411   闪存很少,内存很小,串口也很少      (由于内存/闪存较小,BF的固件功能可能会被简化或受限。如果认为 F411内存/闪存小了,