草庐IT

嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装

系列文章目录嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记01:赛事介绍与硬件平台嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记03:从零开始创建工程模板并开始点灯前言上一篇介绍了一下蓝桥杯板子CT117E的硬件情况,这一篇讲一下如何配置开发环境。基于STM32CubeMX的HAL库开发主要依靠图形化配置软件STM32CubeMX、JAVA开发环境、集成开发环境MDK-ARM、芯片器件包、HAL固件包。这五个软件资源的安装可以分为两个部分,一是STM32

【STM32 + HAL库】之 6 --- GPIO 输入模式,读取按键电平

 目录第一部分、GPIO 输入模式要点第二部分、CubeMX配置        第三部分、代码编写第四部分、编译+烧录代码本篇目标:    通过按键,点亮\关闭LED灯,学会:    ①、通过CubeMX,配置引脚的输入模式     ②、调用函数,读取引脚电平状态    ③、了解上、下拉电阻钳位的作用     不聊底层理论,5分钟干完!       友情约定:本系列的前五篇,为了方便新手玩家熟悉CubeMX、Keil的使用,会详细地截图每一步CubeMX、Keil的操作,并做上标记。之后的篇章,仅截图主要步骤页面。希望新手玩家熟记本篇的基本操作。第一部分、GPIO 输入模式要点      重要

【STM32】HAL库的STOP低功耗模式UART串口唤醒,解决首字节出错的问题(全网第一解决方案)

【STM32】HAL库的STOP低功耗模式UART串口唤醒,解决首字节出错的问题(全网第一解决方案)前文:【STM32】HAL库的STOP低功耗模式UART串口唤醒,第一个接收字节出错的问题(疑难杂症)目前已解决并更新了我的gitee库:基于HAL库建立自己的低功耗模式配置库(STM32L4系列低功耗所有配置汇总)文章目录先说结论最初的串口唤醒配置官方文档的说明首字节出错的问题解决后的流程及代码为什么说是“全网第一”附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作

基于自主驾驶小车的STM32的研究探讨

关键词:STM32;车辆安全隐患;故障情况;高精度控制;轨迹跟踪;低功耗微控制器;智能决策;协同行驶;交通流优化。摘要:通过分析传感器数据和车辆系统的状态信息,这些算法可以实时检测和识别车辆的安全隐患和故障情况,并采取相应的措施以确保车辆的安全行驶。通过结合车辆的动力学模型和控制理论,这些算法可以实现对车辆的高精度控制和轨迹跟踪,确保车辆沿着规划的路径稳定行驶。STM32作为一种低功耗微控制器,通过传感器数据采集和处理、实时控制和决策、外部设备通信和数据交互以及车辆状态监控和诊断等功能,为自主驾驶小车的智能决策和控制提供了可靠的支持。这些算法可以通过车辆之间的信息交换和协调,实现车辆之间的协同

江科大STM32 下

目录ADC数模转换器DMA直接存储器存取USART串口9-2串口发送+接受9-3串口收发HEX数据包I2C(mpu6050陀螺仪和加速度计)SPI协议10.1SPI简介W25Q64简介10.3SPI软件读写W25Q6410.4SPI硬件读写W25Q64BKP、RTC11.0Unix时间戳11.1读写备份寄存器BKP11.2RTC实时时钟十二、PWR12.1PWR简介12.2修改主频12.3数据收发+睡眠模式12.4停止模式12.5待机模式:十三、看门狗WDG13.1WDG简介13.2窗口看门狗WWDG13.3实现IWDG13.4实现WWDGADC数模转换器那对于GPIO来说,它只能读取引脚的高

stm32超声波测距不准的解决方法(STM32 delay_us()产生1us)及stm32智能小车超声波测距代码(C语言版本)

首先要说明一下原理:使用stm32无法准确产生1us的时间,(后来发现仿真器不一定可靠,有时候仿真器看到不正确,实际运行没有问题,这就要通过实验来确定)但是超声波测距一定要依赖时间,时间不准,距离一定不准,这是要肯定的,但是在不准确的情况下,要测量一个比较准确的时间,那么只能够把误差控制在一定范围内,这就是基本思想。经过实验,获得实验数据如下:这是delay_us(50)时候获取的实验数据:这是delay_us(100)时候获取的实验数据:可以发现结论并不像我们预想的那样平均delay_us(1)会产生非常的的误差,因为delay_us(1)花费了20us的时间,误差20倍是无论如何不可接受的

GD32F103 硬件SPI通信

1.SPI的通信原理SPI既可以做主机也可以做从机。当做主机时。MOSI,SCK,CS都是作为输出。 而作为从机时。MOSI,SCK,CS都是作为输入。 所以SPI的硬件电路应该实现这样的功能。2.GD32/STM32的SPI框图 1.GD32框图如下图做主机的数据流向: 如下图做从机的数据流向:  2.STM32框图 通过一些寄存器的配置来控制电路。跟GD32的差不多。波特率配置越高,采样越快。SPI的速率越快。3.SPI的寄存器介绍 1.控制寄存器0(SPI_CTL0)  2.控制寄存器1(SPI_CTL1) 3. 状态寄存器(SPI_STAT)  4.数据寄存器(SPI_DATA) 4.

STM32 -Bin/Hex文件格式解析

文章目录1.概述2.Hex文件2.1格式解析2.2数据类型2.3举例解析2.4合并两个Hex文件方法3.Bin文件3.1生成方式3.2合并多个Bin文件方法3.3打开Bin文件方式3.4和Hex文件比较4总结1.概述Hex文件:它是单片机和嵌入式工程编译输出的一种常见的目标文件格式(比如keil就能编译输出hex文件),通过烧写工具把它下载到单片机中,程序就能在芯片中运行。Bin文件:keil就能编译输出Bin文件,当我们需要实现IAP远程升级芯片固件的时候,会通过Bootloader程序将Bin文件写到芯片的内部Flash里。相关文档链接:《用文本编辑器(记事本)合并两个Hex文件-详细操作

树莓派(armv7l,arm32)buster配置Python虚拟环境、安装PyQt5、安装PySide2、ui和rc文件导出为py文件

要从头设置好一台可用于开发的树莓派,可以参考树莓派4B无屏幕,连接WiFi、SSH、VNC,系统换源、pip换源,安装中文输入法Python虚拟环境树莓派(或者说arm平台)使用Python虚拟环境的正确方式是使用pipenv,官网教程贴在这里pipenv-PyPi,建议先看懂,再进行树莓派的Python相关开发PyQt5或者PySide2,只能安装在系统目录,不能在虚拟环境中使用。但是如果用pipenv,在创建环境时加上--site-packages,就能启用系统已安装的Python库pipenv--python3--site-packages准备工作安装PyQt5或者PySide2之前,建

STM32——输入捕获IC(测试频率以及PWMI测试频率占空比)

目录一、IC介绍1.1、IC作用1.2、电路部分 1.2.1、详细电路作用 1.2.2、从模式控制器1.3、输入捕获配置基本结构1.3.1、PWMI模式二、代码配置2.1、从模式函数2.1.1、TIM_SelectInputTrigger()2.1.2、TIM_SelectSlaveMode()2.1.3、TIM_SelectSlaveMode()2.2.输入捕获及时基单元函数2.2.1、TIM_ICInit()2.2.2、TIM_PWMIConfig()2.2.3、TIM_ICStructInit()2.2.4TIM_SetICxPrescaler()2.2.5、TIM_GetCapture