自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 基于ESP32+MicroPython+阿里云平台+微信小程序的课设项目

本次项目采用的ESP32芯片作为主控,使用MicroPython和thonny来开发的智慧系统。MCU连接阿里云通过阿里云的数据流转功能将连接MCU的DHT11,超声波等传感器所测得的数据通过MQTT协议上传至阿里云平台,而后在云平台上通过数据流转功能将得到的数据通过MQTT协议下发至微信小程序上而后显示,通过小程序可远程开关板载LED灯以及WS2812B炫彩灯。

2024-09-15 20:27:29 782

原创 FreeRTOS任务通知

从 V8.2.0 版本开始提供任务通知这个功能,每个任务都有一个 32 位的通知值,在大多数情况下任务通知可以代替二值信号量,计数信号量 ,事件组,以及长度为1的队列。

2024-08-15 14:41:03 1260

原创 FreeRtos事件组

事件是一种实现任务间通信的机制,主要用于实现多任务的同步,但事件通信只能是事件类型之间的通信,无数据的传输。与信号量不同的是,它可以实现一对多,多对多的同步。当configUSE_16_bit_Ticks定义为0,那么uxEventBits是32位的,有24个位用来实现事件标志组。一对多同步类型:一个任务等待多个事件的触发,这种情况是比较常见的。多对多同步模型:多个任务等待多个事件的触发。

2024-08-13 20:22:22 1258

原创 FreeRtos互斥量

如果L任务在执行任务的过程中,此时M任务刚好被唤醒,因为M任务的优先级高于L任务,这是M任务就会抢占L任务对CPU的使用权,直到任务M执行完毕,再把CPU的使用权归还给L任务,L任务才得以继续进行,等L任务执行完毕之后归还资源的使用权,此时H任务才能开始执行。互斥量处于开锁状态时,任务才能获取互斥量成功。反之互斥量处于闭锁状态时,任务无法获取该互斥量,该任务将被挂起,若被挂起的任务优先级高于获得互斥量的任务的优先级,则获得互斥量的任务的优先级将被临时提升,当该任务释放互斥量时便会将任务的优先级恢复原状。

2024-08-12 21:47:18 946

原创 FreeRtos信号量

FreeRtos信号量包括二值信号量、计数型信号量、互斥信号量和递归互斥信号量。信号量用于实现任务间的同步或临界资源的互斥访问《相当于一个上,代码只有获得了这个锁的钥匙才能够执行。信号量类似于我们在裸机编写中断服务函数中给予标志位赋值的操作,然后根据标志位所对应的函数让其执行。当某个任务需要获得对应的指令才能开始执行时,因为主程序不可能一直等待对应指令的产生而不去执行其它的任务,这时信号量便可保证其它任务能够正常运行的同时也能兼顾到指令一旦发出对应程序能够立马执行。

2024-08-10 20:25:09 651

原创 FreeRtos消息队列

队列又称消息队列,是一种常用于任务间的通信数据结构,队列可以在任务与任务间,中断和任务间传递信息,实现任务接收来自其它任务或中断的不固定长度的消息。

2024-08-07 21:08:48 656

原创 FreeRtos任务管理

该参数为要挂起的任务句柄,如果使用函数xTaskCreate()创建任务的话那么函数的参数pxCreatedTask 就是此任务的任务句柄,如果使用函数xTaskCreateStatic()创建任务的话那么函数的返回值就是此任务的任务句柄。通过该函数能够让每个处于死循环的任务进入阻塞态,这样高优先级的任务在使用CPU执行完任务后,通过任务延时函数进入阻塞态,让出CPU的使用权,给低优先级别的任务使用CPU执行任务。挂起所有的任务,所有任务无法得到cpu的使用权,无法正常执行。带ISR指仅可在中断中使用。

2024-08-06 21:23:21 585

原创 FreeRtos移植

本人原本自己移植,移植半天哪哪都有问题,不如直接下载这个还更省心,附上链接来源于B站大佬的开源。https://pan.baidu.com/s/1wuaYIuTYH3-6p1LZaEOaDw?pwd=1234

2024-08-06 15:05:14 85

原创 FreeRtos在STM32F103C8T6上的学习过程

我们在写代码之前都会对硬件进行初始化,将所需的硬件初始化函数放置在BSP_Init()函数当中,便于之后所添加的各类硬件函数初始化,方便我们的管理。这里先放着一个LED_GPIO的初始化函数,便于接下来观察实验现象,串口初始化函数用来发送给电脑串口助手发送实验信息。

2024-08-06 14:59:47 405

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除