自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FreeRtos(九):事件标志组

事件标志位:用一个位,来表示事件是否发生。事件标志组:是一组事件标志位的集合,可以当做一个整数。特点:事件标志组的每一位表示一个事件(高八位不算),位置1表示事件发生,位置0表示事件未发生。任意任务和中断可以读写这些位。可以等待某一位成立,或者多个位成立。一个事件组就包含了一个 EventBits_t 数据类型的变量,变量类型 EventBits_t 的定义如下所示:实际上是一个16位或者32位的无符号的数据类型,根据宏来决定。一般让宏置0,选择32位的无符号数据类型。

2024-07-30 10:21:17 1831

原创 FreeRtos(八):队列集

一个队列只允许任务间传递的消息为同一数据类型,如果需要任务之间传递不同数据类型时,就需要使用队列集。队列集用于多个队列和信号量的监听,其中不管哪一个消息到来,都可以让任务退出阻塞状态。若不使用队列集,而单独创建多个队列或信号量,有可能会导致任务的阻塞。

2024-07-30 09:40:49 426

原创 FreeRtos:(七)信号量

二值信号量的本质是一个队列长度为 1 的队列 ,该队列就只有空和满两种情况。二值信号量通常用于互斥访问或任务同步, 与互斥信号量比较类似,但是二值信号量有可能会导致优先级翻转的问题 ,二值信号量更适合用于同步!二值信号量主要用于任务的同步!【互斥访问:互斥访问是指在多任务环境中,确保多个任务不会同时访问某个共享资源的机制。这是为了防止数据竞争和不一致的问题。任务同步:任务同步是指协调多个任务的执行顺序,使得任务按照特定的顺序或在特定的条件下执行。

2024-07-29 15:46:32 353

原创 lwip的内容

网络接口层对应着我们实际的网卡,lwip支持多网口设计,lwip中使用netif来描述这些网口的特性,用链表netif_list来管理众多的网卡,当上层有数据需要发送时lwip就会从netif_list中挑选合适的网卡来发送。2、

2024-07-24 17:47:10 1707

原创 FreeRtos:(六)消息队列

消息队列是任务到任务、任务到中断、中断到任务数据交流的一种机制(进行消息传递)FreeRTOS基于队列, 实现了多种功能,其中包括队列集、互斥信号量、计数型信号量、二值信号量、 递归互斥信号量,因此很有必要深入了解 FreeRTOS 的队列。在消息队列中可以存储数量有限、大小固定的数据,可以将队列理解为一个全局数组。队列中的每一个数据叫做“队列项目”,队列能够存储“队列项目”的最大数量称为队列的长度。简单的说:队列就是任务之间或者任务与中断时间传递消息和数据的的载体。

2024-07-19 15:47:04 1595

原创 FreeRtos:(五)任务调度器------(未完)

作用:该函数用于完成启动任务调度器中与硬件架构相关的配置部分,以及启动第一个任务该函数的内部完成。3、关闭中断,防止调度器开启之前或过程中,受中断干扰,会在运行第一个任务时发生中断。作用:用于启动任务调度器,任务调度器启用后,FreeRtos开始进行任务调度。6、调用函数prvStartFirstTask( )启动第一个任务。4、初始化全局变量,并将任务调度器的运行标志位置为已运行。5、初始化任务运行时间统计功能的时基定时器。2、如果使能软件定时器,则创建定时器任务。4、初始化临界区嵌套计数器为0。

2024-07-15 08:58:37 127

原创 FreeRtos:(三)中断管理

FreeRtos中一般采用第四组的中断优先级管理利用函数。

2024-07-10 09:12:58 300

原创 FreeRtos:(二)任务的挂起和恢复

1、概念:任务挂起类似暂停,可以恢复2、挂起函数的使用:step1:将INCLUDE_vTaskSuspend配置为1step2:使用void vTaskSuspend( )选择挂起的任务(传入Null是挂起任务本身)

2024-07-09 15:36:16 285

原创 FreeRtos学习:(一)任务的创建

任务创建后立马进入就绪态,并且开启任务调度对任务运行:vTaskStartScheduler();1、使用删除任务函数,将宏INCLUDE_vTaskDelete配置成12、vTaskDelete( )入口参数输入要删除的任务句柄(Null表示删除任务本身)

2024-07-09 15:16:34 150

原创 单片机应用结构

由单片机,系统硬件电路,软件系统三大部分组成。

2024-07-09 09:34:12 429

原创 W25Q64芯片

W25Qxx系列是一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景。存储介质:采用Nor Flash(闪存)时钟频率:80MHz / 160MHz (Dual SPI) / 320MHz(Quad SPI)

2024-06-30 11:32:20 329

原创 SPI通信协议

1、定义:SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用高速数据总线,是串行外设接口。SPI有四根通信线分别为:SCK(时钟线) , MOSI (主设备输出,从设备输入), MISO(主设备输入,从设备输出) , SS(片选信号,用于主片选中从片)。同步,全双工模式。同步:主从设备间有时钟线,主设备提供时钟信号。全双工:接收数据和发送数据有单独的线,可以同时收发数据。主机多条ss控制不同的从机。

2024-06-28 20:02:56 381

原创 MPU陀螺仪

MPU6050是六轴姿态传感器,其组成包括三轴加速度传感器,三轴陀螺仪传感器。通过传感器,获取加速度和角速度参数,进行数据融合后,获得稳定的姿态角(偏移角),可以用于飞行器和平衡车。【roll为x轴偏移角,pitch为y轴偏移角,yaw为z轴偏移角。MPU6050使用I2C通信协议和单片机进行通信。

2024-06-18 15:09:31 722

原创 I2C通信协议

由于串口通信属于点对点的通信,若通信设备过多会使得线路复杂,因此多设备的通信采用总线进行,如:usb,spi,can,i2c等。有SCL(时钟线),SDL(数据线)这两条通信线。同步,半双工模式。注:1.SCL和SDL上的设备都要设置成开漏输出模式。2.SCL和SDL都要加上一个上拉电阻,阻值为4.7KΩ左右。3.主设备:控制SCL时钟线,产生时钟,产生起始和终止信号。4.每个从设备都有一个唯一的设备地址,设备地址有7位和10位的地址,在设备的厂家手册里面可以找到。

2024-06-17 21:50:17 738

原创 usart串口协议

DR寄存器分为TDR(写入寄存器)和RDR(接收寄存器)(1)写操作时:数据进入TDR,然后进入发送移位寄存器(一旦发送到此,后面的数据就在TDR中等待),移位完成后(后面在TDR中等待的数据立马进入移位寄存器),标志位TXE置1(发送寄存器空)。最后发送器控制发送至TX引脚。(2)读操作时:.....标志位RXNE置1......移位寄存器每移位一次SCLK就跳变一个周期。

2024-06-17 11:49:37 789

空空如也

空空如也

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

TA关注的人

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