- 博客(60)
- 收藏
- 关注
原创 4.19作业
uint32_t options:等待的选项,osFlagsWaitAll:等待全部事件完成,osFlagsWaitAny:等待任意事件完成。uint32_t timeout:超时时间,单位是ms,特殊的值:osWaitForerver:一直等待,让任务去休眠。osSemaphoreId_t semaphore_id:要释放哪一个信号量的ID。uint32_t max_count:信号量的最大值,二进制信号量的最大值是1。osEventFlagsId_t ef_id:要设置的事件组的ID。
2024-04-20 09:22:06
533
原创 4.18作业
在FreeRTOS中任务有四种状态:(1)Ready:就绪态(2)Running:运行态(3)Blocked:阻塞态(4)Suspended:挂起态。3)动态创建任务需要消耗的资源会比较多,因为他是在程序运行的时候创建,静态创建任务消耗的资源比较少,因为他已经提前被创建。2)动态创建任务适用于随时需要创建任务和随时需要删除任务的场景,静态创建任务适用于任务数量确定的场景。区别:1)动态创建不需要自己提供栈,只需要指定栈的大小即可,静态创建任务需要自己提供栈的大小以及栈的空间(数组)
2024-04-18 19:12:02
505
原创 4.17作业
3)HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 然后使用该函数,每次接收一次数据都会调用一次。uint8_t *pData, //接收到数据后保存的地址。HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, //指定要使用的串口。干预,数据都可以通过。
2024-04-17 19:57:30
468
原创 FreeRTOS 4.16作业
3)点击魔术棒,选择Debug选项,找到使用的仿真器,选择ST-LINK仿真器,点击settings,选择Flash Download ,勾选Reset and Run,选择Pack,取消Enable的勾选。先将GPIO配置成输出模式,点击模块上对应的GPIO,对相关的内容进行设置,再点击GENERATE CODE,生成对应的GPIO初始化代码。6)勾选只拷贝必要的库文件、为每一个模块生成独立的.c和.h文件。2)点击Part Number选择芯片,并选择UFQFPN32。5)工程名称及路径不能含中文。
2024-04-16 19:43:42
216
原创 4.9作业
如果账号和密码不匹配,弹出错误对话框,给出信息”账号和密码不匹配,是否重新登录“,并提供两个按钮Yes|No,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则直接关闭登录界面。“,并给出两个按钮Yes|No,用户点击Yes后,关闭登录界面,用户点击No后,关闭对话框,继续执行登录功能。1、完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面。登陆成功后弹出第二个界面。
2024-04-09 20:28:41
260
原创 4.8作业
将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出“登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空。1、使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数。
2024-04-08 21:41:49
348
原创 4.1作业
2、写出下列类的,构造函数(有参、无参),析构函数,拷贝构造函数和拷贝赋值函数。1、对菱形继承给出的代码中每一个类,写一个有参构造函数。
2024-04-01 20:40:02
100
原创 3.26作业
1、定义一个矩形类(Rectangle),包含私有成员:长(length)、宽(width),展示函数输出该矩形的周长和面积:void show()设置长度:void set_l(int l)设置宽度:void set_w(int w)获取长度:int get_l();获取宽度:int get_w();
2024-03-26 20:23:13
196
原创 C++ 3.25作业
1、定义自己的命名空间,其中有string类型的变量,再定义两个函数,一个函数完成字符串的输入,一个函数完成求字符串长度,再定义一个全局函数完成对该字符串的反转。和1一样,p的指向可以修改,p指针指向的内容不可以修改。和1一样,p的指向可以修改,p指针指向的内容不可以修改。和3一样,p指针指向的内容可以修改,p的指向不可以修改。p指针指向的内容可以修改,p的指向不可以修改。p的指向可以修改,p指针指向的内容不可以修改。p的指向和p指向的内容都不可以修改。p的指向和p指向的内容都不可以修改。
2024-03-25 20:37:03
243
原创 3.20作业
1> 创建一个工人信息库,包含工号(主键)、姓名、年龄、薪资。4> 展示出工资在10000到20000之间的所有工人信息。2> 添加三条工人信息(可以完整信息,也可以非完整信息)3> 修改某一个工人的薪资(确定的一个)6> 工厂倒闭,删除整个工人信息库。5> 删除掉指定姓名工人的信息。
2024-03-20 20:03:26
153
原创 3.19作业
答:由于多线程通信时,多个线程会争抢运行临界区,即竞态,又由于线程的自然运行状态无法预测,在临界区的任何代码中都可能随时结束运行,导致代码的逻辑出现问题,所以多线程编程的核心,其实就是对处于竞态的临界区做出保护,就有了同步和互斥机制,互斥是多个线程操作拥有临界资源的临界区的时候,一旦有一个线程正在操作的时候,其他线程都不能运行这段拥有临界资源的临界区,直到第一个线程运行结束, 剩下的其他线程再去抢夺运行权,同步可以简单的理解成有顺序的互斥,通过互斥的手段,安排好每一个线程的运行顺序。
2024-03-19 20:35:29
682
原创 3.15作业
答: UDP通信中可以使用connect函数,他是将服务器与某个客户端建立一个唯一通道,在服务器端使用connect与某个特定的客户端建立连接后,服务器就不再接收其他客户端的消息了,如果想要断开,需要再使用一次connect函数,并且需要将地址信息结构体中的sin_addr改成AF_UNSPEC,当UDP中使用了connect与某个特定的客户端建立连接后,就可以使用read/write、send/recv等函数完成数据的接收和发送。TCP传输稳定但是效率低,UDP传输不稳定,但是较快,效率高。
2024-03-15 21:16:38
518
原创 3.8作业
2.编写2个.c文件,生成2个可执行文件 1.c 输入正方形的长和宽 或者 三角形的三边长 2.c 输出长方形或者三角形的面积 要求数据通信使用无名管道实现。1.找出来我们之前写的链表的加载和保存的代码,实现,当按 ctrl + c的时候,保存链表。3.使用有名管道,实现2个终端之间的互相聊天功能 要求:能够做舔狗(能够并发)
2024-03-13 09:56:06
201
原创 3.5作业
2.使用循环+fork的形式。创建一条进程链,链条上总共有100个进程 要求:程序不崩溃。1.使用write 和 read 实现 文件夹拷贝功能,不考虑递归拷贝。
2024-03-05 20:52:00
186
原创 3.1作业
2.使用提供的getch函数,编写一个专门用来输入密码的函数,要求输入密码的时候,显示 * 号,输入回车的时候,密码输入结束。1.使用fwrite、fread将一张随意的bmp图片,修改成德国的国旗。
2024-03-01 20:47:55
209
原创 IO 2.29作业
使用 fprintf 将链表中所有的数据,保存到文件中。使用 fscanf 读取文件中的数据,写入链表中。1.编写链表,链表里面随便搞点数据。
2024-02-29 20:30:52
303
原创 2.21作业
64位 32位。1.结构体字节对齐,64位没做完的做完,32位重新都做一遍,课上指定2字节对齐的做一遍,自己验证。2.两种验证大小端对齐的代码写一遍。
2024-02-21 20:43:49
417
原创 数据结构 2.19作业
1.定义一个学生结构体,包含结构体成员:身高,姓名,成绩;定义一个结构体数组有7个成员,要求终端输入结构体成员的值,根据学生成绩,进行冒泡排序。
2024-02-21 20:38:28
398
原创 2.17作业
7.终端输入学生成绩,判断等级100-90A,90-80B,80-70C,70-60D,60以下不及格。(把输入不合理也考虑进去)2.终端输入年月,需要考虑闰平年,判断该月有多少天(2月闰年29天,平年28天)1.终端输入一个字符,判断是大写字母小写字母还是数字字符。5.使用循环求家目录下目录文件和普通文件的个数。3.使用循环求100-1000内的水仙花数。4.求稀疏数组中元素的和(下标不连续)6.用shell写冒泡排序。
2024-02-17 17:12:02
442
原创 2.15作业
①tar -c(v)f 要生成的文件.tar 要打包的文件····(多个文件中间以空格作为分隔)tar -cv(压缩参数)f 要生成的文件.tar.xz/gz/bz2 要打包的文件。指令1 | 指令2 | 指令3 | ·····借助tar指令,可以完成目录文件的压缩和解压缩。管道符左侧指令的输出用作管道符右侧指令的输入。head -n 文件名 回显文件的前n行。tail -n 文件名 回显文件的后n行。tar -x(v)f 要拆包的文件。-v:显示打包的过程。
2024-02-15 11:54:35
173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人