- 博客(72)
- 收藏
- 关注
原创 4/19 FreeRTOS_day4
队列、信号量、互斥量、时间组都需要创建后才能使用。3.队列、信号量、互斥量、时间组主要用于多对多之间的通信,任务通知是一对一之间的通信。3.软件定时器的数量理论上没有限制,硬件定时器的数量和硬件相关。作用:在指定的时间执行特定的函数,或者以某个频率周期性地执行某个函数。技术型信号量:信号量的值都是大于或者等于2,实现生产者和消费者模型。二进制信号量:信号量的数值只能是0和1,用于贡献资源的访问。2.任务通知所需的资源比队列、信号量、互斥量、时间组要少。队列、信号量、互斥量、时间组、任务通知。
2024-04-19 17:11:29
243
原创 4/18 FreeRTOS_day3
3.动态创建任务需要消耗的资源比较多,因为其是在程序运行的时候创建;静态创建任务消耗的资源比较少,因为其已经提前被创建。2.动态创建任务适用于随时需要创建任务和随时需要删除任务的场景;静态创建任务适用于任务数量确定的场景。1.动态创建任务不需要自己提供栈,只需要指定栈的大小;静态创建任务需要自己提供栈的大小和栈的空间。1.抢占式调度:高优先级任务可以打断低优先级任务,等高优先级任务结束之后再继续执行低优先级任务。2.时间片轮转:相同优先级的任务有相同的时间片,当时间片被耗尽任务强制退出。
2024-04-18 16:43:21
290
原创 4/17 FreeRTOS_day2
UART_HandleTypeDef *huart:指定从哪个串口中接收数据。UART_HandleTypeDef *huart:指定要使用的串口。const uint8_t *pData:要发送的数据。uint16_t Size:每一次接收多少个字节的数据。uint8_t *pData:接收到数据保存的地址。uint8_t *pData:接收的数据保存到哪里。uint16_t Size:每次最多接收字节数据。uint16_t Size:要发送的数据字节数。uint32_t Timeout:超时时间。
2024-04-17 20:49:28
1022
原创 4/16 FreeRTOS_day1
1.点击魔术棒,选择debug选项,找到使用的仿真器,选择ST-LINK仿真器,点击setting,选择flash download ,勾选reset and run,选择pack,取消enable的勾选。单击模块上的对应GPIO,可以对GPIO进行设置,再create code后会自动生成对应gpio口的初始化代码。2.对编译渲染过的函数名按下F12可以跳转到对应的函数实现。二、总结STM32Cubemx的使用方法和需要注意的事项。一、总结keil5下载代码和编译代码需要注意的事项。
2024-04-16 20:47:22
220
原创 3/21作业
而poll使用链表结构存储文件描述符,性能相对较好。printf("\t\t==========1、添加学生信息==========\n");printf("\t\t==========2、删除学生信息==========\n");printf("\t\t==========3、修改学生信息==========\n");printf("\t\t==========4、查找学生信息==========\n");printf("\t\t==========0、退出学生信息==========\n");
2024-03-21 20:37:49
438
原创 3/20作业
1> 创建一个工人信息库,包含工号(主键)、姓名、年龄、薪资。4> 展示出工资在10000到20000之间的所有工人信息。2> 添加三条工人信息(可以完整信息,也可以非完整信息)3> 修改某一个工人的薪资(确定的一个)6> 工厂倒闭,删除整个工人信息库。5> 删除掉指定姓名工人的信息。
2024-03-20 18:54:45
394
原创 3/18作业
printf("收到消息为:%s\n",rbuf);printf("收到消息为:%s\n",rbuf);printf("发送成功\n");printf("发送成功\n");printf("加入多播组成功\n");printf("请输入:");printf("请输入:");
2024-03-18 19:00:53
420
原创 3/15作业
printf("输入错误请重新输入\n");if(choose=='q')//退出循环。printf("端口号快速重用成功\n");case 'w'://蓝色机械臂角度增大。case 's'://蓝色机械臂角度减小。case 'd'://红色机械臂增大。case 'a'://红色机械臂减小。//判断需要哪个机械臂动。printf("请输入:");printf("发送成功\n");
2024-03-15 10:05:44
412
原创 3/1作业
printf("文件大小为 %d 字节\n",bmp_size);printf("图像尺寸为:%g * %g\n",w,h);1.用fwrite和fread将任意bmp图片,修改成德国的国旗。// bmp 图片默认像素格式是 bgr的。
2024-03-01 19:00:14
425
原创 2/29作业
printf("空间申请失败\n");printf("入参为空\n");//将链表中的数据保存到文件中。//读取文件中的数据写入链表。//创建链表并填入数据。
2024-02-29 20:04:11
423
原创 2/19作业
printf("出队的值为:%d\n",Q->front->data);printf("空间申请失败\n");printf("空间申请失败\n");printf("入参为空\n");printf("入参为空\n");printf("入参为空\n");printf("队列为空\n");printf("入参为空\n");printf("队列为空\n");printf("入参为空\n");2.二叉树中序和后续遍历。
2024-02-27 18:30:59
1017
原创 2/26作业
printf("出栈的元素为:%d\n",del->data);printf("空间申请不成功\n");printf("申请空间失败\n");printf("入参为空\n");printf("入参为空\n");printf("入参为空\n");printf("链栈为空\n");printf("入参为空\n");printf("链栈为空\n");printf("入参为空\n");printf("链栈为空\n");
2024-02-26 19:01:11
547
原创 2/23作业
printf("空间申请成功\n");printf("空间申请失败\n");printf("位置不合理\n");printf("位置不合理\n");printf("链表为空\n");printf("入参为空\n");printf("入参为空\n");printf("入参为空\n");printf("入参为空\n");printf("链表为空\n");printf("入参为空\n");printf("链表为空\n");//创建单向循环链表。//创建单向循环链表。
2024-02-23 19:21:59
1106
原创 2/22作业
printf("入参为空\n");printf("无法插入\n");printf("入参为空\n");printf("入参为空\n");printf("表已满\n");printf("表为空\n");printf("表为空\n");
2024-02-22 19:31:01
944
原创 2/19作业
printf("请输入第%d个人的姓名:",i+1);printf("请输入第%d个人的身高:",i+1);printf("请输入第%d个人的分数:",i+1);
2024-02-19 18:54:08
573
原创 2/17作业
read -p "请输入一个字符:" num。echo "$i是水仙花数"read -p "请输入成绩:" score。echo "目录文件个数为$count1"echo "普通文件个数为$count2"echo "是小写字母"echo "是大写字母"read -p "请输入月" month。read -p "请输入年" year。echo "是数字"read -p "请输入:" a。read -p "请输入:" b。read -p "请输入:" c。echo "输入不合理"
2024-02-17 16:51:12
793
原创 2/15作业
tar -c(v)f 要生成的文件.tar 要打包的文件····(多个文件中间以空格作为分隔)tar -cv(压缩参数)f 要生成的文件.tar.xz/gz/bz2 要打包的文件。借助tar指令,可以完成目录文件的压缩和解压缩。tar -x(v)f 要拆包的文件。tar指令执行结束后,源文件存在。-f:file后面必须跟文件名。打包:多个文件合并成一个文件。打包并压缩/拆包并解压缩。拆包:把多个文件拆出来。-v:显示打包的过程。
2024-02-15 09:48:36
341
原创 2/14作业
chmod:改变文件的权限 chmod x(想要赋予的权限所等价的数字) 文件或目录。chown:改变文件拥有者(change owner) chown 帐号名称/帐号名称:群组名称 文件或目录。chgrp:改变文件所属群组(change group) chgrp -r 群组名 目录名。
2024-02-15 09:41:33
387
原创 2/13作业
查看是否有除sda外的内容说明连结成功。(1)接入虚拟机:在左上角选中虚拟机选项--->选择可移动设备--->找到u盘--->然后连接。(4)格式化:sudo mkfs.{要格式化的目标文件类型} {分区路径}(3)分区工具使用:使用 fdisk 工具,再输入n创建一个新的分区。(5)挂载:sudo mount 挂载的分区 挂载点。printf("请输入arr的字符串:");(2)是否被识别:使用指令 ls /dev/sd*(6)取消挂载:sudo umount 挂载点名。2.用指针完成字符串逆置。
2024-02-13 12:19:37
593
原创 2/12作业
printf("请输入arr的字符串:");printf("请输入brr的字符串:");printf("请输入arr的字符串:");printf("请输入brr的字符串:");printf("请输入arr的字符串:");printf("请输入brr的字符串:");printf("请输入字符串:");printf("请输入a的值:");printf("请输入b的值:");
2024-02-12 11:28:38
499
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人