登录社区云,与社区用户共同成长
邀请您加入社区
什么是 PID 控制器:工作原理及其应用什么是PID控制器?历史PID控制器框图PID控制器的工作P-控制器I-控制器D-控制器PID控制器的类型开/关控制比例控制标准型PID控制器实时 PID 控制器调优方法试错法过程反应曲线技术Zeigler-Nichols 方法PID控制器结构应用炉温控制MPPT充电控制器电力电子转换器PID 控制器接口公式PID 控制器广泛应用于工业过程控制。工业自动化领
一、OV2640摄像头简介本节将主要讲解OV2640摄像头基础部分和一些引脚配置。OV2640传感器简介OV2640是Omni Vision公司生产的一颗1/4寸的CMOS UXGA(1632*1232)图像传感器,如图1.1 OV2640摄像头所示。该传感器体积小、工作电压低,提供单片 UXGA 摄像头和影像处理器的所有功能。通过 SCCB 总线控制,可以输出整帧、子采样、缩放和取窗口等方式的各
前提固件生成固件保存固件更新完成前提想来做iap升级了,应该不是什么新手。下面的程序需要用到一些简单的功能串口收发数据开关总中断虽然本文标题是实现远程固件更新,但是具体远程方案本文不做详细说明,重点在于介绍mcu接收到新的固件后怎么保存更新,以及更新失败回滚等。下面简单说明一下远程的事情。stm32的通信方式有串口,spi,iic,...
UCOS是Micrium公司出品的RTOS类实时操作系统, UCOS目前有两个版本:UCOSII和UCOSIII。UCOSIII是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制,提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。UCOSIII是用C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的, UCOSIII结构简洁,可读
(TaskHandle_t*)&StartTask_Handler// 任务句柄。(TaskHandle_t*)&LED1Task_Handler// 任务句柄。(UBaseType_t)START_TASK_PRIO,// 任务优先级。(TaskFunction_t)start_task,// 任务函数。(UBaseType_t)LED1_TASK_PRIO,// 任务优先级。(TaskFunc
电源模块 5V600mA IOT 穿戴式 VR眼镜
关于列表和列表项的初始化,插入和删除
信号量本质上也是一个队列,只不过不涉及数据传输,只涉及数据个数的加加减减,换句话说就是传递状态。使用信号量效率更高、更节省内存分类计数型信号量(Counting Semaphores):量没有限制二进制信号量(Binary Semaphores):量只有 0、1 两个取值支持的动作:"give"给出资源,计数值加 1"take"获得资源,计数值减 1。
其主要功能是检测多个按键的按下和松开事件,并通过消息队列将按键事件传递给主任务进行处理。- 如果需要更改按键引脚,修改 START_PIN 、 UP_PIN 、 DOWN_PIN 和 BTWASH_PIN 的定义。- MainTask 从队列中接收按键事件,并根据按键类型执行相应的处理逻辑。- 按键检测任务( ButtonTask )将检测到的按键事件发送到队列。- 在 MainTask 的 sw
GPIO(General Purpose Input Output)通用输入输出口可配置为8种输入输出模式输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。
RTOS之信号量的理解
Cortex-M处理器有三个固定优先级和256个可编程的优先级,最多有128个抢占等级。但大多数芯片都会精简设计,以至于实际上支持优先级更少。在设计芯片的时候会裁掉表达优先级的几个低端有效位,以减少优先级数。下图就是8个优先级。为了使抢占机能变得更可控, Cortex-M 处理器还把 256 个优先级按位分为高低两段:抢占优先级(分组优先级)和亚优先级(子优先级),STM32 使用了 4 位,因此
其中,FreeRTOSConfig.h 是直接从 demo 文件夹下面拷贝过来的,该头文件对裁剪整个FreeRTOS 所需的功能的宏均做了定义,有些宏定义被使能,有些宏定义被失能,一开始我们只需要配置最简单的功能即可。如果用户想要实现多个任务并行的效果,可以通过加入FreeRtos(嵌入式实时操作系统),操作系统可以让STM32实现任务的快速切换,从而给人一种。和裸机操作不同,操作系统中执行的是一
本文总结了FreeRTOS使用过程中的一些重要知识点和易混淆点,总结的比较全,相信能帮到你
比如 char 型变量的前缀是 c,short型变量的前缀是s,long 型变量的前缀是l,portBASE_TYPE 类型变量的前缀是x。还有其他的数据类型,比如数据结构,任务句柄,队列句柄等定义的变量名的前缀也是 x。还包括:如果一个变量是无符号型的那么会有一个前缀 u,如果是一个指针变量则会有一个前缀 p。因此,当我们定义一个无符号的 char 型变量的时候会加一个 uc 前缀,当定义一个c
本博客实现了MT6701和EEPROM与STM32的IIC通讯,资料都放在百度云盘,需要可自取
已经掌握基础的同学,可以通过本篇文章,深入的了解 FreeRTOS 实时操作系统的软件定时器、事件标志组与任务通知部分,完成对于 FreeRTOS 的进阶。相信阅读这篇文章一定会对你很有帮助,希望点个赞哦
USART(Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/异步收发器)是一种常见的串行通信协议,广泛应用于微控制器、传感器、模块和其他电子设备之间的数据传输。本节课主要学习USART的基本结构以及其原理。
STM32 U盘升级程序(IAP)是一种实用的嵌入式开发技术,允许用户通过U盘对设备进行程序升级,提高产品的可维护性和用户体验。本文详细介绍基于STM32的U盘IAP功能实现,涵盖Bootloader和App层开发。通过合理分区管理Flash存储器,确保数据传输的完整性和正确性,实现稳定可靠的升级过程。该功能适用于需要现场升级的嵌入式产品,具有较高的实用价值。
本文介绍如何使用STM32F103微控制器、摇杆和舵机构建简易云台控制系统。通过摇杆输入信号和STM32F103的处理能力,实现云台水平和垂直运动的精确控制。文章涵盖硬件组件、系统架构、软件实现(ADC和PWM初始化、主循环信号处理、舵机位置计算)及调试优化建议(死区处理、角度步长、PWM频率调整)。读者可轻松构建功能完善的云台控制系统,并根据需求进行优化和扩展。
本文将指导您如何在STM32微控制器上使用afiskon的库来移植并操作基于SSD1306、SH1106、SH1107和SSD1309的OLED显示屏。这个库支持I2C和SPI通信协议,使得OLED显示屏的集成和显示操作变得简单高效。
该四轴无人机采用FreeRTOS操作系统和裸机两种开发方式,采用无刷电机进行驱动,提供了:①PID控制、LPF、滑动窗口滤波等多种无人机相关飞行控制算法;②陀螺仪、加速度计、气压计、超声波、NRF24L01、定时器PWM、GPS、蓝牙、WiFi等多种传感器的驱动;③匿名地面站、SBUS等多种遥控遥测协议的数据解析。所有代码均开源,尤其适合初学者DIY。
PID简介位置式PID增量式PID前馈PID积分分离PID变速积分PID不完全微分PID微分先行PID
1.TIM(Timer)定时器:可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能。2.根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型。高级定时器拥有通用定时器全部功能,并额外具有重复计数器、死区生成、互补输出、刹车输入等功能通用定时器(TIM2到5):拥有基本
P.S.本次项目复刻 bilibili 会飞的鱿鱼03《草履虫都能学会的STM32平衡小车教程》,基础较为薄弱的同学可以同时参考视频步骤进行复刻。将此过程写入博客,其一是作一个完整的复盘总结,其二是记录自我思考的部分,其三分享的过程也是再学习的过程。千里之行始于足下,与诸位同学共勉之。MCU:STM32F103C8T6单片机。
1、在DMA空闲回调函数里直接烧写flash没有norflash缓冲,程序直接跑飞不可取。2、在Load_SYS_User(SYS_START_ADDR);加载到APP分区之前,没对BOOT分区初始化的外设去初始化,导致进入到APP后出现各种异常。3、接收的数据包的数量换算,很容易算错。
本文的研究方向为开发一款适合中小应用场景的心率血氧监测系统,该系统能够连接多个监测模块并且采用两块单片机同时控制的模式,一个单片机负责控制模块监测,另一块单片机负责采集数据并将数据发送到上位机,用户通过上位机对系统进行管理,上位机能够显示实时数据和历史数据,可查看当前数据是否在预设值内并判断数据是否异常。基于STM32的心率血氧健康监测模块既可连入物联网平台接收统一管理,也可独立完成心率血氧血压温
STM32H750 MCU与MKDV4GIL-AST SD NAND存储器的组合为智能穿戴设备提供了高效低功耗解决方案。该方案具有30MB/s读取和20MB/s写入速度,能耗降低30%,使智能手环续航延长至14天。STM32H750基于Cortex-M7内核,支持400MHz主频和多种安全加密算法,MKDV4GIL-AST则提供SMART健康监测功能。二者通过SDIO或SPI接口协同工作,为大规模
在工业生产和科学实验中,温度常常是一个关键的因素,这时就要用到温控系统,在本文中将会基于STM32设计一个温控系统。
笔者刚入门学习STM32的时候就接触了uCOSII,它的多任务让我眼前一亮:原来程序还可以这么写!它让很多冲突的代码都能各自运行,在一个单片机上实现了多个单片机共同运行的效果。但是当开始真正去学习它时,却感觉寸步难行,而网上的有关学习资料又大多是直接甩给你一个可用的工程,很难有一个把它的原理和使用方法讲得清楚的,原因也简单,一是大多数人也没有深入地去了解过它的实现...
这个是全网最详细的STM32项目教学视频。第一篇视频在这里:STM32智能小车V3-STM32入门教程-openmv与STM32循迹小车-stm32f103c8t6-电赛 嵌入式学习 PID控制算法 编码器电机跟随。
Hey,我是Moyiji,一个嵌入式小白,也是一名大三在读生,这是我的第一篇博客,在这里我将向你介绍过去一段时间我开发这个项目的经历。