系列文章目录嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记01:赛事介绍与硬件平台嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记03:从零开始创建工程模板并开始点灯前言上一篇介绍了一下蓝桥杯板子CT117E的硬件情况,这一篇讲一下如何配置开发环境。基于STM32CubeMX的HAL库开发主要依靠图形化配置软件STM32CubeMX、JAVA开发环境、集成开发环境MDK-ARM、芯片器件包、HAL固件包。这五个软件资源的安装可以分为两个部分,一是STM32
目录第一部分、GPIO 输入模式要点第二部分、CubeMX配置 第三部分、代码编写第四部分、编译+烧录代码本篇目标: 通过按键,点亮\关闭LED灯,学会: ①、通过CubeMX,配置引脚的输入模式 ②、调用函数,读取引脚电平状态 ③、了解上、下拉电阻钳位的作用 不聊底层理论,5分钟干完! 友情约定:本系列的前五篇,为了方便新手玩家熟悉CubeMX、Keil的使用,会详细地截图每一步CubeMX、Keil的操作,并做上标记。之后的篇章,仅截图主要步骤页面。希望新手玩家熟记本篇的基本操作。第一部分、GPIO 输入模式要点 重要
【STM32】HAL库的STOP低功耗模式UART串口唤醒,解决首字节出错的问题(全网第一解决方案)前文:【STM32】HAL库的STOP低功耗模式UART串口唤醒,第一个接收字节出错的问题(疑难杂症)目前已解决并更新了我的gitee库:基于HAL库建立自己的低功耗模式配置库(STM32L4系列低功耗所有配置汇总)文章目录先说结论最初的串口唤醒配置官方文档的说明首字节出错的问题解决后的流程及代码为什么说是“全网第一”附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作
为了实现Python和ModbusRS-485串口通信,我们需要安装modbus_tk和serial模块。modbus_tk是一个用于实现Modbus通信协议的Python库。Modbus是一种常用的串行通信协议,用于在工业自动化领域中实现设备之间的通信。modbus_tk库提供了一组功能强大的工具和类,用于开发Modbus主站(Master)和从站(Slave)应用程序。以下是一个简单的示例代码,可以从Modbus从站读写寄存器以及扫描总线上的设备:importmodbus_tk.exceptionsasmodbus_exceptionsimportmodbus_tk.modbus_rtua
场景Windows上ModbusTCP模拟Master与Slave工具的使用:Windows上ModbusTCP模拟Master与Slave工具的使用-CSDN博客ModebusTCPModbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议:ModbusTCP。Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。标准的Modbus协议物理层接口有RS232、RS422、RS485和以太网接口,采用master/slave方式通信。Modbus的操作对象有四种:线圈、离散输入、
关键词: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无法准确产生1us的时间,(后来发现仿真器不一定可靠,有时候仿真器看到不正确,实际运行没有问题,这就要通过实验来确定)但是超声波测距一定要依赖时间,时间不准,距离一定不准,这是要肯定的,但是在不准确的情况下,要测量一个比较准确的时间,那么只能够把误差控制在一定范围内,这就是基本思想。经过实验,获得实验数据如下:这是delay_us(50)时候获取的实验数据:这是delay_us(100)时候获取的实验数据:可以发现结论并不像我们预想的那样平均delay_us(1)会产生非常的的误差,因为delay_us(1)花费了20us的时间,误差20倍是无论如何不可接受的
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.
文章目录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文件-详细操作