STM32
文章平均质量分 93
我有在好好学习
持续挣扎,总有活路可走
展开
-
基于STM32+FreeRTOS的四轴机械臂
基于FreeRTOS实时操作系统,主控为 STM32F103C8T6 ,机械臂为四轴分别被四个Mg90s舵机控制。本项目实现了 3 种控制方法,分别为 摇杆控制 、 串口蓝牙控制 和 示教器控制。可以进行动作录制和执行。采用8路ADC采集摇杆和示教器的模拟量并由DMA搬运数据,USART串口实时收发信息,IIC驱动OLED屏幕实时显示信息。并且实现了动作录制和执行功能,动作记忆可以由二维数组或者链表实现存储。通过SPI驱动W25Q128模块进行动作记忆扩容,即可以录制上百组动作。原创 2023-08-19 03:06:47 · 4625 阅读 · 13 评论 -
FreeRTOS(4):软件定时器、中断管理
简单可以理解为闹钟,到达指定一段时间后,就会响铃。STM32 芯片自带硬件定时器,精度较高,达到定时时间后会触发中断,也可以生成 PWM 、输入捕获、输出比较,等等,功能强大,但是由于硬件的限制,个数有限。软件定时器也可以实现定时功能,达到定时时间后可调用回调函数,可以在回调函数里处理信息。请参考 51 及 STM32 中断相关课程。原创 2023-08-02 20:22:50 · 1964 阅读 · 0 评论 -
FreeRTOS(3):事件标志组、任务通知
FreeRTOS 从版本 V8.2.0 开始提供任务通知这个功能,每个任务都有一个 32 位的通知值。按照FreeRTOS 官方的说法,使用消息通知比通过二进制信号量方式解除阻塞任务快 45%, 并且更加省内存(无需创建队列)。在大多数情况下,任务通知可以替代二值信号量、计数信号量、事件标志组,可以替代长度为 1 的队列(可以保存一个 32 位整数或指针值),并且任务通知速度更快、使用的RAM更少!原创 2023-08-02 18:26:32 · 419 阅读 · 0 评论 -
FreeRTOS(2):队列、信号量、互斥量
信号量(Semaphore),是在多任务环境下使用的一种机制,是可以用来保证两个或多个关键代码段不被并发调用。信号量这个名字,我们可以把它拆分来看,信号可以起到通知信号的作用,然后我们的量还可以用来表示资源的数量,当我们的量只有0和1的时候,它就可以被称作二值信号量,只有两个状态,当我们的那个量没有限制的时候,它就可以被称作为计数型信号量。信号量也是队列的一种。二值信号量其实就是一个长度为1,大小为零的队列,只有0和1两种状态,通常情况下,我们用它来进行互斥访问或任务同步。原创 2023-08-01 22:35:40 · 942 阅读 · 0 评论 -
FreeRTOS(1):任务
Free即免费的,RTOS的全称是Real time operating system,中文就是实时操作系统。注意:RTOS不是指某一个确定的系统,而是指一类操作系统。比如:uc/OS,FreeRTOS,RTX,RT-Thread等这些都是RTOS类操作系统。FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。原创 2023-07-30 19:19:09 · 697 阅读 · 0 评论 -
基于STM32的环境监测预警系统
主控STM32f103c8t6 。利用 DHT11 和烟雾传感器,进行温湿度检测和烟雾值检测,并实时在LCD屏幕上进行数值显示,同时通过串口通信将数据信息传至上位机显示。当检测到温湿度高出设定阈值,将打开排风扇进行通风;当检测到有烟雾时,将关闭通风风扇防止火灾蔓延,开启蜂鸣器警报并持续向上位机发送警报信息。原创 2023-07-29 22:26:47 · 3563 阅读 · 3 评论 -
STM32:SPI
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如 AT91RM9200。W25Q128 是华邦公司推出的一款 SPI 接口的 NOR Flash 芯片,其存储空间为 128 Mbit,相当于16M 字节。原创 2023-07-25 10:58:45 · 1163 阅读 · 0 评论 -
STM32:OLED使用(IIC)
参数一:I2C_HandleTypeDef *hi2c,I2C设备句柄参数二:uint16_t DevAddress,目标器件的地址,七位地址必须左对齐参数三:uint16_t MemAddress,目标器件的目标寄存器地址参数四:uint16_t MemAddSize,目标器件内部寄存器地址数据长度参数五:uint8_t *pData,待写的数据首地址参数六:uint16_t Size,待写的数据长度参数七:uint32_t Timeout,超时时间返回值:HAL_Status原创 2023-07-24 10:51:42 · 420 阅读 · 0 评论 -
STM32:DMA
DMA(Direct Memory Access,直接存储器访问) 提供在外设与内存、存储器和存储器、外设与外设之间的高速数据传输使用。它允许不同速度的硬件装置来沟通,而不需要依赖于CPU,在这个时间中,CPU对于内存的工作来说就无法使用。简单描述:就是一个数据搬运工!!原创 2023-07-24 06:00:22 · 117 阅读 · 0 评论 -
STM32:ADC
全称:Analog-to-Digital Converter,指模拟/数字转换器。ADC的性能指标量程:能测量的电压范围分辨率:ADC能辨别的最小模拟量,通常以输出二进制数的位数表示,比如:8、10、12、16位等;位数越多,分辨率越高,一般来说分辨率越高,转化时间越长转化时间:从转换开始到获得稳定的数字量输出所需要的时间称为转换时间原创 2023-07-24 07:13:13 · 365 阅读 · 0 评论 -
STM32:看门狗
在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog)。独立看门狗工作在主程序之外,能够完全独立工作,它的时钟是专用的低速时钟(LSI),由VDD 电压供电, 在停止模式和待机模式下仍能工作。原创 2023-07-23 10:52:14 · 798 阅读 · 0 评论 -
STM32:串口(蓝牙/WIFI/4G)
串口发送数据,使用超时管理机制串口接收数据,使用超时管理机制串口中断模式发送串口中断模式接收作用:以阻塞的方式发送指定字节的数据形参 1 :UART_HandleTypeDef 结构体类型指针变量形参 2:指向要发送的数据地址形参 3:要发送的数据大小,以字节为单位形参 4:设置的超时时间,以ms单位。原创 2023-07-19 10:51:46 · 2220 阅读 · 3 评论 -
基于STM32的感应开关盖垃圾桶
PWM波的频率不能太高,大约50HZ,即周期=1/频率=1/50=0.02s,20ms左右。使用超声波测距,当手离传感器距离小于5cm时,LED1点亮,否则保持不亮状态。编写微秒级函数:传入要延时多少微秒,开始延时,延时到指定时长,停止延时。检测靠近时,垃圾桶自动开盖并伴随滴一声,2秒后关盖。发生震动时,垃圾桶自动开盖并伴随滴一声,2秒后关盖。按下按键时,垃圾桶自动开盖并伴随滴一声,2秒后关盖。Echo信号,由低电平跳转到高电平,表示开始发送波。SG90舵机,超声波模块,震动传感器,蜂鸣器。原创 2023-07-17 23:40:27 · 149 阅读 · 0 评论 -
基于STM32的电动车防盗器设计
感应震动,遥控,控制(蜂鸣器代替也行)。无线遥控器两按键对应 “锁起” 和 "关闭" 两种状态;“锁起” 状态下,感受到震动就通过继电器使喇叭响起一段时间;"关闭" 状态下,锁状态指示灯常亮。也可以做更多功能扩展,如针对不同按键被按下时,有不同的喇叭声响应效果。此项目参考本人之前做过的C51版本,更多详情如外设原理等,请看该文章。原创 2023-07-16 03:11:48 · 774 阅读 · 0 评论 -
STM32入门(cubeMX)
单片机(Single-Chip Microcomputer)是一种集成电路芯片,把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。项目介绍内核Cortex-M3Flash64K x 8bitSRAM20K x 8bitGPIO。原创 2023-07-16 00:27:22 · 7986 阅读 · 1 评论