一、前言本文旨在分享我学习STM32的过程中,为了强化学习成果,试着制作一些实训项目。最开始做的就是STM32蓝牙小车、STM32红外循迹小车、STM32超声波避障小车。相信看完本文的你,一定可以亲手制作一辆属于自己的智能小车!注:文末附源码工程,需要的读者可以至文末下载如果你还想进阶的话,可以尝试制作基于PID算法的两轮平衡小车——这是它的相关源码工程。STM32两轮平衡小车原理详解(开源)_stm32平衡车原理-CSDN博客二、实训项目 (一)、项目概述1、共同需要的驱动模块关于以上三种功能的智能小车,都需要用到一些共同的驱动模块,这里我先把他们共同用到的模块罗列出来。A、模块一:TB66
1.ADC概念ADC,全称:Analog-to-DigitalConverter,指模拟/数字转换器2STM32各系列ADC的主要特性3.F4框图4.转换序列与转换时间A/D转换被组织为两组:规则组(常规转换组)和注入组(注入转换组)规则组最多可以有16个转换,注入组最多有4个转换4.1规则组和注入组执行优先级对比4.2转换时间5.触发源6.中断7.单次转换模式和连续转换模式与扫描模式单次转换模式和连续转换模式扫描模式8结构体typedefstruct{ADC_TypeDefInstance;/ADC寄存器基地址/ADC_InitTypeDefInit;/ADC参数初始化结构体变量*/DMA_
一.低功耗模式 在嵌入式系统设计中,嵌入式系统被广泛的应用在便携式和移动性较强的产品,然而有一些产品并不都是有着充足的电源供应,为了尽可能地延长电池使用时间,这个时候就要考虑降低功率消耗了。 在系统或电源复位以后,微控制器处于运行的状态,当CPU不需要继续运行时,可以利用多种低功耗模式来降低节省功耗。在STM32F103系列芯片中提供了睡眠模式,停止模式和待机模式三种模式。此外,在运行模式下还可以通过降低系统是时钟或关闭APB和AHB总线上未被使用的外设时钟的方式来降低功耗。睡眠模式:CortexTM-M3内核停止,所有的外设包括Cortex-M3核心的外设,如NVIC,系统时钟(SysT
基于STM32F407开发调试,ModbusTCP服务器源程序。采用LWIP网络通讯库,外部PHY采用LAN8720。使用modbuspoll工具调试通过。该工程可直接作为模板开发。源码已应用于工业项目使用。近年来,随着物联网技术的快速发展,工控领域的需求也越来越多。在这个背景下,一种新的通信协议——ModbusTCP协议应运而生。ModbusTCP协议是在常用的ModbusRTU协议基础上,通过TCP/IP协议进行扩展的一种通信方式。它采用了TCP连接,具有可靠性高、实时性强、通信速度快等特点,被广泛应用于工业自动化、智能楼宇、能源管理等领域。在实现ModbusTCP协议时,我们可以使用ST
1.准备工作无须下载python,git等软件首先需要有VScode和ESP的离线包下载的链接放在下面:下载自己需要的版本,ESP最好知道你要用的代码是那个版本搭建的,不然无法正常编译。版本之间有差异VScoed:DownloadVisualStudioCode-Mac,Linux,WindowsESP:dl.espressif.cn/dl/esp-idf/2.环境搭建1.下载应用VScode的安装没什么好说的,有疑惑可以找一下教程。关于ESP的安装,如果是首次安装需要点击应用修复其次就是注意选择你所需要的单片机型号,其他的一直下一步等待安装即可,大概需要4.5分钟2.ESP系统环
【STM32】HAL库UART含校验位的串口通信配置BUG避坑文章目录UART协议校验位HAL库配置含校验位的串口配置BUG避坑附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作理论及实践二、如何判断MCU的外设是否支持位带UART协议UART通过一条线就能完成数据的发送另外一条线则完成数据的接收所以一共是两条线TXRXUART在空闲时为低电平时钟周期由波特率确定通常是115200bit/sUART协议由四个部分组成:起始位:固定低电平1个时钟周期数据域:通常是8b
文章目录一、注册平台二、创建首个项目三、硬件介绍一、注册平台进入官方,进行注册:在线仿真地址二、创建首个项目①新建项目②搭建一个电路③用STM32F103搭建一个简单电路④进入编码界面三、硬件介绍红框是必看文档,新手建议先看中文数据手册,不用看太多,可以边学边看。至此,环境搭建完毕,后面将在这个平台教学。在线学习仿真教学STM32F103(M3)的外设功能,无实物教学。(7天)内容:GPIO(引脚)、TIM(定时器)、ADC(采样)、I2C、SPI步骤:入门C语言–[STM32F103在线仿真]–进阶C语言–STM32F103(实物)–NRF52832(实物)–ESP32C3(实物)
首先不是所有的ESP32都支持USB直连。ESP32S2和ESP32S3是支持的,具体的如果是购买开发板询客服(当然不少卖板子的也是业余的一问三不知,当然可能知道就是单纯怕麻烦,毕竟这玩儿单价低)。如果你不确定哪些板子支持,也可以用本文的代码,通过选择不同的开发板来确定是否支持,如果不支持,就会报xxxx文件不存在的错误。我使用的是ESP32S3 包含如下头文件。#include#include#include定义两个鼠标和键盘对象当然如果只需要模拟鼠标或键盘则定义其中一个即可USBHIDMouseeps32_Mouse;USBHIDKeyboardeps32_Keyboard;在setup函
一,接线:左右两边的OUT0~OUT4接130电机两端;中间蓝色端口接电源,注意:两个电源口和一个接地口都要接上!!!!!!!!偏左一些的排针用杜邦线接上io口,如果需要PWM控速的话,ENA和ENB的跳线帽需要拔掉,然后用两根杜邦线分别连到一个io口,给高电平使能,如果是低电平则电机制动。同时,IN1~IN4连接到pwm对应的GPIO口。这样,接线部分基本完成。具体可参考这位博主,(63条消息)L298N驱动电机与单片机的线路连接图_l298n驱动接线方法图_高佬君的博客-CSDN博客二,编程序1.首先给对应的GPIO口初始化,给用到的GPIO口设置推挽输出L298N.c#include"L
目录电源管理上电复位(POR)和掉电复位(PDR)配置PVD监控功能WFI和WFE命令进入停止模式进入待机模式实验环节1:PWR_PVD监控实验操作PVD配置测试环节实验环节2:PWR睡眠模式实验操作测试环节实验环节3:PWR待机模式实验操作测试环节实验现象实验环节4:PWR停止模式实验操作测试环节电源管理STM32HAL库对电源管理提供了完善的函数和命令。工作模式(高功耗->低功耗):运行、睡眠、停止、待机。若备份域电源正常供电,备份域内的RTC都可以正常运行,备份域内的寄存器的数据会被保存,不受功耗模式影响。低功耗模式: 睡眠模式:内核停止,外设仍然运行,功耗最高。 停止模式: