草庐IT

基于STM32F407开发调试,Modbus TCP服务器源程序。采用LWIP网络通讯库,外部PHY采用LAN8720

基于STM32F407开发调试,ModbusTCP服务器源程序。采用LWIP网络通讯库,外部PHY采用LAN8720。使用modbuspoll工具调试通过。该工程可直接作为模板开发。源码已应用于工业项目使用。近年来,随着物联网技术的快速发展,工控领域的需求也越来越多。在这个背景下,一种新的通信协议——ModbusTCP协议应运而生。ModbusTCP协议是在常用的ModbusRTU协议基础上,通过TCP/IP协议进行扩展的一种通信方式。它采用了TCP连接,具有可靠性高、实时性强、通信速度快等特点,被广泛应用于工业自动化、智能楼宇、能源管理等领域。在实现ModbusTCP协议时,我们可以使用ST

Vscode的ESP32环境搭建以及烧录移植

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避坑

【STM32】HAL库UART含校验位的串口通信配置BUG避坑文章目录UART协议校验位HAL库配置含校验位的串口配置BUG避坑附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作理论及实践二、如何判断MCU的外设是否支持位带UART协议UART通过一条线就能完成数据的发送另外一条线则完成数据的接收所以一共是两条线TXRXUART在空闲时为低电平时钟周期由波特率确定通常是115200bit/sUART协议由四个部分组成:起始位:固定低电平1个时钟周期数据域:通常是8b

[嵌入式软件][入门篇] 搭建在线仿真平台(STM32)

文章目录一、注册平台二、创建首个项目三、硬件介绍一、注册平台进入官方,进行注册:在线仿真地址二、创建首个项目①新建项目②搭建一个电路③用STM32F103搭建一个简单电路④进入编码界面三、硬件介绍红框是必看文档,新手建议先看中文数据手册,不用看太多,可以边学边看。至此,环境搭建完毕,后面将在这个平台教学。在线学习仿真教学STM32F103(M3)的外设功能,无实物教学。(7天)内容:GPIO(引脚)、TIM(定时器)、ADC(采样)、I2C、SPI步骤:入门C语言–[STM32F103在线仿真]–进阶C语言–STM32F103(实物)–NRF52832(实物)–ESP32C3(实物)

ESP32模拟鼠标键盘

首先不是所有的ESP32都支持USB直连。ESP32S2和ESP32S3是支持的,具体的如果是购买开发板询客服(当然不少卖板子的也是业余的一问三不知,当然可能知道就是单纯怕麻烦,毕竟这玩儿单价低)。如果你不确定哪些板子支持,也可以用本文的代码,通过选择不同的开发板来确定是否支持,如果不支持,就会报xxxx文件不存在的错误。我使用的是ESP32S3 包含如下头文件。#include#include#include定义两个鼠标和键盘对象当然如果只需要模拟鼠标或键盘则定义其中一个即可USBHIDMouseeps32_Mouse;USBHIDKeyboardeps32_Keyboard;在setup函

STM32之L298N控制130电机+PWM调速

一,接线:左右两边的OUT0~OUT4接130电机两端;中间蓝色端口接电源,注意:两个电源口和一个接地口都要接上!!!!!!!!偏左一些的排针用杜邦线接上io口,如果需要PWM控速的话,ENA和ENB的跳线帽需要拔掉,然后用两根杜邦线分别连到一个io口,给高电平使能,如果是低电平则电机制动。同时,IN1~IN4连接到pwm对应的GPIO口。这样,接线部分基本完成。具体可参考这位博主,(63条消息)L298N驱动电机与单片机的线路连接图_l298n驱动接线方法图_高佬君的博客-CSDN博客二,编程序1.首先给对应的GPIO口初始化,给用到的GPIO口设置推挽输出L298N.c#include"L

STM32-电源管理(实现低功耗)

目录电源管理上电复位(POR)和掉电复位(PDR)配置PVD监控功能WFI和WFE命令进入停止模式进入待机模式实验环节1:PWR_PVD监控实验操作PVD配置测试环节实验环节2:PWR睡眠模式实验操作测试环节实验环节3:PWR待机模式实验操作测试环节实验现象实验环节4:PWR停止模式实验操作测试环节电源管理STM32HAL库对电源管理提供了完善的函数和命令。工作模式(高功耗->低功耗):运行、睡眠、停止、待机。若备份域电源正常供电,备份域内的RTC都可以正常运行,备份域内的寄存器的数据会被保存,不受功耗模式影响。低功耗模式:    睡眠模式:内核停止,外设仍然运行,功耗最高。    停止模式:

STM32-程序占用内存大小计算

STM32中程序占用内存容量KeilMDK下Code,RO-data,RW-data,ZI-data这几个段:Code存储程序代码。RO-data存储const常量和指令。RW-data存储初始化值不为0的全局变量。ZI-data存储未初始化的全局变量或初始化值为0的全局变量。占用的Flash=Code+ROData+RWData;运行消耗的最大RAM=RW-data+ZI-data;这个是MDK编译之后能够得到的每个段的大小,例如下图ProgramSize中的CodeR0RWZI可以计算出占用的FLASH=34456+456+172=34.26kB,占用的RAM=172+18908=18.6

嵌入式-stm32-基于HAL库的感应开关盖垃圾桶项目(开源)

网盘资料:《嵌入式-stm32-基于HAL库的感应开关盖垃圾桶项目(开源)》链接:https://pan.baidu.com/s/1kFk09nMKPDvLwIUqMT9q3w提取码:og66–来自百度网盘超级会员V6的分享目录一:项目概述二:材料准备三:细节分析(重点)四:Stm32CubeMx操作步骤以及实现细节五:Keil5业务逻辑代码编写六:总结一:项目概述1.简单描述:该感应开关盖垃圾桶,通过(超声波模块感应垃圾桶前是否有人)或者(震动传感器检测震动)或者(按键),来控制sg90舵机进行角度控制,打开垃圾桶盖门,打开盖门的时间延时控制。2.需求描述检测靠近时,垃圾桶自动开盖并伴随滴一

WIN32 动态 UAC 提权

UAC(UserAccountControl)是Windows平台的用户权限控制。它可以让程序使用管理员权限执行某些操作。静态UAC提权静态UAC提权让程序一直运行在管理员权限下,只要在项目设置里把"UACExecutionLevel"设置为"requireAdministrator"。这样生成的exe文件图标会自动加上一个小盾牌的角标Overlay。执行exe文件会自动弹出UAC对话框。静态UAC提权对程序员来说是一种偷懒的办法,只需要修改一个配置就行。但对用户来说非常麻烦,每次打开程序都需要确认UAC对话框。比如“小黑盒加速器”,每次打开它都会弹UAC对话框。更奇葩的是“小黑盒加速器”可以