- 博客(69)
- 收藏
- 关注
原创 4.19 freeRTOS
1.任务通知无需创建,可以直接使用,通过任务控制块来实现(TCB),队列、信号量、互斥量、事件组都需要创建后才能使用。5.根据文档和录屏学习一下软件定时器,了解软件定时器的作用和软件定时器和硬件定时器的区别。3.队列、信号量、互斥量、事件组主要用于多对多之间的通信,任务通知是一对一之间的通信。二进制:信号量的数值只能是0和1,用于共享资源的访问,用于同步互斥。1.总结二进制信号量和计数型信号量的区别,以及他们的使用场景。2.任务通知所需的资源比队列、信号量、互斥量、事件组要少。2.使用互斥量实现互斥同步。
2024-04-20 09:18:58
327
原创 4.18 freeRTOS
动态:不需要提供栈,只要指定栈的大小,适用于需要随时创建删除任务的场合,消耗资源较多,使用起来更加灵活。2.总结静态创建任务和动态创建任务的区别,以及动态创建任务和静态创建任务的源码分析步骤。Blocked:阻塞态,当任务在等待时间,或者是信号量,互斥量的时候进入阻塞态。Ready:就绪态,当任务被创建后就会进入到就绪态。4.阻塞态-->就绪态:得到等待的数据时,进入就绪态。5.就绪态,运行态,阻塞态都能通过挂起函数进入挂起态。2.就绪态-->运行态:任务被调度器调度进入运行态。
2024-04-18 18:43:10
379
原创 4.17 FreeRTOS
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, //指定要使用的串口。HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, //要从哪个串口接收。DMA+空闲中断:先打开串口DMA接收功能,在接收数据包的间隔中,会产生空闲中断,在中断中处理数据包数据,处理完后将储存数据包的容器清空。2.总结DMA的作用,和DMA+空闲中断的使用方式。
2024-04-17 19:11:49
723
原创 4.16 FreeRTOS
下载:首先需要仿真设置,将Reset and Run项勾选,这一项表示复位后立刻运行,然后将Enable项取消勾选,不取消则看不见现象。使用方法:先选择芯片型号,勾选下载代码,选择时钟源与设置时钟主频,选择编译器,选择只拷贝必要库文件,为每个模块都生成独立的.c与.h文件。1.写代码时要写在工程代码里表示开始到结束的区域里,不然再次添加代码的时候会将代码覆盖。2.总结STM32Cubemx的使用方法和需要注意的事项。现将需要用到的GPIO设置为输出模式,调整参数,然后利用。函数设置对应的引脚高低电平。
2024-04-16 18:58:37
302
原创 2.15 假期作业
注意:当压缩工具参数和生成的文件后缀不一致时,只会完成打包操作,不会压缩(可以直接使用- xf拆包)tar -cv(压缩参数)f 要生成的文件.tar.xz/gz/bz2 要打包的文件。tar -c(v)f 要生成的文件.tar 要打包的文件。指令1 | 指令2 | 指令3 | ·····管道符左侧指令的输出用作管道符右侧指令的输入。head -n 文件名 回显文件的前n行。tail -n 文件名 回显文件的后n行。tar -x(v)f 要拆包的文件。-v:显示打包的过程。
2024-02-15 19:09:34
497
原创 2.14 假期作业
sudo chown root:ubuntu 1 --->将文件1的所属用户改为root,所属组用户改为ubuntu。sudo chown root: 1 --->将文件1的所属用户和所属组用户都改为root。sudo chown :root 1 --->将文件1的所属组用户改为root。权限的修改格式: chmod 权限用户+、- 权限内容 目录名(文件名)多个权限的修改: chmod u+x,g+x,o+x 3.c。chgrp ---->只能修改文件的所属组。chmod ---->修改文件权限。
2024-02-14 14:47:02
567
原创 2.13 假期作业
sudo mount 挂载的分区 挂载点(已有的一个目录) ---->最好新建一个空目录。sudo mkfs.ntfs /dev/sdb1(格式化sdb1)取消挂载: (既可以通过挂载点取消挂载,也可以通过挂载分区取消)find 目标路径 -name 文件名(可利用通配符模糊查找)2.利用ls /dev/sd*指令检测是非被虚拟机识别。如果输入w后,显示设备或资源忙,先取消挂载,再分区。4.fdisk ---->工具用于磁盘分区。cp 文件名 目录名/复制后文件名。mv 文件名 目录名/移动后文件名。
2024-02-14 14:38:36
688
原创 2.12 假期作业
printf("请输入一串字符串\n");printf("交换前:%d,%d\n"a,b);printf("交换后:%d,%d\n"a,b);printf("请输入第一个字符串");printf("请输入第二个字符串");printf("请输入第一个数组");printf("请输入第二个数组");
2024-02-12 15:31:05
463
原创 2.11 假期作业
1、若有以下说明语句:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};17、设已定义char c[8]=”Tianjin”和int j,则下面的输出函数调用中错误的是(D)。19、设已定义char x[8]和int j,为了给该数组赋值,下面语句中正确的是(D)。C)数组x的长度大于数组y的长度 D)数组y的长度大于数组x的长度。14、若有以下程序段,该程序段的输出结果是(C)。
2024-02-12 15:11:59
545
原创 2.8 假期作业
33.若有定义int x[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};34.若有说明:char *language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};28.若有定义:int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;19.若有程序段:int a[2][3],(*p)[3];25.若有定义:int b[4][6],*p,*q[4];s=”china”;
2024-02-08 19:23:18
505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1