- 博客(19)
- 收藏
- 关注
原创 FreeRTOS的列表和列表项(Day06)
列表是 FreeRTOS 中的一个数据结构,概念上和链表有点类似,列表被用来跟踪 FreeRTOS中的任务。列表项就是存放在列表中的项目。列表相当于链表,列表项相当于节点,FreeRTOS 中的列表是一个双向环形链表。列表的特点:列表项间的地址非连续的,是人为的连接到一起的。列表项的数目是由后期添加的个数决定的,随时可以改变。数组的特点:数组成员地址是连续的,数组在最初确定了成员数量后期无法改变。在OS中任务的数量是不确定的,并且任务状态是会发生改变的,所以非常适用列表(链表)这种数据结构。
2024-10-29 21:07:07 637
原创 FreeRTOS临界区保护以及调度气的挂起与恢复(Day05)
什么是临界段:临界段代码也叫做临界区,是指那些必须完整运行,不能被打断的代码段。适用场合如:问题:什么可以打断当前程序的运行?中断,任务调度FreeRTOS 在进入临界段代码的时候需要关闭中断,当处理完临界段代码以后再打开中断。
2024-10-28 20:46:19 286
原创 FreeRTOS的任务挂起与恢复(Day03)
此函数用于挂起任务,使用时需将宏 INCLUDE_vTaskSuspend 配置为 1。无论优先级如何,被挂起的任务都将不再被执行,直到任务被恢复。注意:当传入的参数为NULL,则代表挂起任务自身(当前正在运行的任务)任务恢复函数介绍(任务中恢复)任务中恢复被挂起函数:void vTaskResume(TaskHandle_t xTaskToResume)使用该函数注意宏:INCLUDE_vTaskSuspend必须定义为 1。
2024-10-23 19:52:59 220
原创 FreeRTOSDay2(任务创建与删除)
* 任务栈栈顶,必须为TCB的第一个成员 *//* 任务状态列表项 *//* 任务事件列表项 *//* 任务优先级,数值越大,优先级越大 *//* 任务栈起始地址 *//* 任务名字 */省略很多条件编译的成员} tskTCB;任务栈栈顶,在任务切换时的任务上下文保存、任务恢复息息相关注意:每个任务都有属于自己的任务控制块,类似身份证。
2024-10-21 23:27:57 125
原创 Day2FreeRtos移植(基于正点原子官方教程)
文件夹主要用于存放与特定微控制器或处理器架构相关的代码。这些代码实现了 FreeRTOS 内核所需的底层硬件接口功能,例如中断禁用和启用、任务上下文切换等关键操作。通过将这些依赖于硬件的部分集中在一个位置(即。文件夹),可以使得 FreeRTOS 更容易移植到不同的硬件平台上,并且保持了内核本身的独立性和通用性。Demo文件夹是FreeRtos的例程,第一个就是我们的F407ZG开发板FreeRtos例程。
2024-10-14 16:12:22 227
原创 FreeRtos——1(优点以及使用场景)
裸机又称为前后台系统,前台系统指的中断服务函数,后台系统指的大循环,即应用程序。打游戏和回复信息,需要打完游戏才可回复信息,或者回复完信息才可打游戏。
2024-10-13 15:52:50 164
原创 ThinkBook14+打开应用缓慢
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy]将"VerifiedAndReputablePolicyState"的值设置为0,就正常了。之后软件启动特别慢。
2024-10-12 00:34:55 206
原创 低功耗实验
通过查找数据手册,发现stm32在低功耗模式有以下三种:睡眠模式,停止模式,待机模式。通过观察表格又可以发现,这三种模式都可以通过WakeUp按键上升沿触发,能耗方面:睡眠>停机>待机。下面贴上相关代码。
2024-09-12 17:00:34 217
原创 52.BKP实验
自学用1. 什么是BKP?备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据。他们处在备份域里,当VDD电 源被切断,他们仍然由VBAT维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也不会 被复位。此外, BKP控制寄存器用来管理侵入检测和RTC校准功能。复位后,对备份寄存器和RTC的访问被禁止,并且备份域被保护以防止可能存在的意外的写操作。
2024-09-10 19:40:46 213
原创 51.矩阵键盘实验
本次实验使用的是淘宝上常见的矩阵键盘,如下图,最左边和最右边的引脚为空,所以这里说的1引脚对应单片机从左往右数的第二个,第八个引脚对应倒数第二个引脚。原理图如下(从淘宝找的,有点模糊):从原理图看:引脚1关联的键位有:1 ,4,7,*。引脚2关联的键位有:2,5,8,0。引脚3关联的引脚:3,6,9,#。引脚4关联的引脚:A,B,C,D。引脚5关联引脚:1,2,3,A。引脚6关联引脚:4,5,6,B。引脚7关联引脚:7,8,9,C。引脚8关联引脚:*,0,#,D。
2024-09-09 17:48:04 138
原创 50.读写W25Q128
/定义片选信号,1为选中,0为未选中}while(0)//下面是W25Q128的指令表,在W25Q128官方手册第八章可以找到#define FLASH_ManufactDeviceID 0x90 //查询厂商设备号:16位#define FLASH_WriteEnable 0x06 //开启写使能#define FLASH_ReadStatusReg1 0x05 //读取SPI状态寄存器1#define FLASH_ReadData 0x03 //读取数据。
2024-09-06 03:02:53 446
原创 Linux实例在修改文件时遇到“Read-only file system ***”错误怎么处理?
未配置挂载模式,根文件系统/会被默认为只读挂载。使用VNC方式远程登录ECS实例。,需要将挂载模式修改为可读写。,需要将挂载模式修改为可读写。如下图所示,表示根文件系统。如下图所示,表示根文件系统。修改挂载模式为可读写。重启实例使修改生效。
2024-06-13 23:51:53 547
原创 Linux设置完共享文件夹后在cd/mnt/hgfs下找不到
/如果之前没有命令包则先执行sudo apt-get install open-vm-tools。ShareFile 就是我设置的共享文件夹。输入这行命令重启终端就 ok。如果成功设置了虚拟文件夹。
2024-05-30 17:20:49 535
原创 Make 编译报错gcc -Wall f1.c -o f1.o/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In
由于粗心忘记在gcc 后加上 -c选项只编译,不连接成可执行文件,所以报错,加上 -c正确make。Makefile文件截图。4,6,8行加上 -c。
2024-05-30 01:26:30 137
原创 bash: /bin/ln: No such file or directory
在Debian/Ubuntu上可以使用sudo apt-get install --reinstall coreutils,在Red Hat/CentOS上可以使用sudo yum reinstall coreutils。这个错误表明在尝试执行/bin/ln这个文件时出现问题,因为系统找不到指定的文件或目录。/bin/ln通常是一个符号链接,指向/bin/link或/usr/bin/link,后者是ln命令的一个实际执行程序。确认ln命令是否在/bin或/usr/bin目录下。
2024-05-27 23:40:24 466
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人