- 博客(81)
- 收藏
- 关注
原创 作业:实现三个按键中断代码按键1中断控制LED1按键2中断控制LED2按键3中断控制LED3
/ 取消EXTI7的事件屏蔽,产生一个中断。// 清除GICD中的中断排队标志。// 清除EXTI中的事件挂起标志。// 清除GICD中的中断排队标志。// 清除EXTI中的事件挂起标志。// 清除GICD中的中断排队标志。// 清除EXTI中的事件挂起标志。// 全局使能组0中断被转发到GICC层。// 全局使能组0中断被转发到GICC层。// 全局使能组0中断被转发到GICC层。// 全局使能组0中断被转发给处理器。// 全局使能组0中断被转发给处理器。// 全局使能组0中断被转发给处理器。
2024-05-23 09:50:59
292
原创 【无标题】
5.根据文档和录屏学习一下软件定时器,了解软件定时器的作用和软件定时器和硬件定时器的区别。计数型信号量:信号量的值都是大于或者等于2,实现生产者和消费者模型。二进制信号量:信号量的数值只能是0和1,用于共享资源的访问。队列、信号量、互斥量、事件组需要被创建,所以消耗的资源也是比较多。1.总结二进制信号量和计数型信号量的区别,以及他们的使用场景。队列、信号量、互斥量、事件组在使用之前都需要先创建,才能使用。队列、信号量、互斥量、事件组 多对多通信。4.总结任务通知和其他任务通信机制的区别。
2024-04-22 08:57:16
137
原创 1.总结任务调度算法之间的区别,重新实现一遍任务调度算法的代码。2.总结静态创建任务和动态创建任务的区别,以及动态创建任务和静态创建任务的源码分析步骤。3.总结任务的状态,以及任务状态之间的转换关
静态创建的任务在程序运行之前已经创建和配置好,动态创建任务是在运行时期创建任务。2.总结静态创建任务和动态创建任务的区别,以及动态创建任务和静态创建任务的源码分析步骤。时间片轮询:相同优先级的拥有相同的时间片,用完后自动退出。1.总结任务调度算法之间的区别,重新实现一遍任务调度算法的代码。抢占式调度:高优先级的可以打断低优先级的任务。阻塞态:使用休眠函数等;3.总结任务的状态,以及任务状态之间的转换关系。运行态:调度器选择已就绪的任务;任务的状态:就绪态:被创建时就进入;
2024-04-18 20:54:42
161
原创 1.总结串口的发送和接收功能使用到的函数2.总结DMA的作用,和DMA+空闲中断的使用方式3.使用PWM+ADC光敏电阻完成光控灯的实验
串口发送函数:HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout)开启DMA+空闲中断的接收方式:HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
2024-04-17 19:26:28
306
原创 1.总结keil5下载代码和编译代码需要注意的事项2.总结STM32Cubemx的使用方法和需要注意的事项3.总结STM32Cubemx配置GPIO的方法
项目配置,要勾选 Generate peripheral initialization as a pair of '.c/.h' files per peripheral。1.2 编译前需设置,flash download和pack。2.总结STM32Cubemx的使用方法和需要注意的事项。选择对应的引脚,设置为output。1.总结keil5下载代码和编译代码需要注意的事项。3.总结STM32Cubemx配置GPIO的方法。打开方式要选MDK-ARM。1.1 下载代码前需要先编译。
2024-04-16 19:35:51
181
原创 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数
将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出“登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空。使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数。
2024-04-08 20:51:45
285
原创 3.写一个char类型的字符数组,对该数组访问越界时抛出异常,并做处理。
【代码】3.写一个char类型的字符数组,对该数组访问越界时抛出异常,并做处理。
2024-04-02 20:57:55
205
原创 写出三种构造函数,算术运算符、关系运算符、逻辑运算符重载尝试实现自增、自减运算符的重载
【代码】写出三种构造函数,算术运算符、关系运算符、逻辑运算符重载尝试实现自增、自减运算符的重载。
2024-04-01 18:53:48
120
原创 3.定义一个矩形类(Rectangle),包含私有成员:长(length)、宽(width), 定义成员函数:设置长度:void set_l(int l)设置宽度:void set_w(
【代码】3.定义一个矩形类(Rectangle),包含私有成员:长(length)、宽(width), 定义成员函数:设置长度:void set_l(int l)设置宽度:void set_w(
2024-03-26 18:56:11
208
原创 使用select完成TCP的并发服务器,poll实现的TCP客户端
printf("[%s %d]:发来连接请求\n", inet_ntoa(cin.sin_addr), ntohs(cin.sin_port));printf("触发了键盘输入事件:%s\n", sbuf);printf("收到服务器消息为:%s\n", wbuf);printf("客户端已经下线\n");printf("发送成功\n");printf("发送成功\n");
2024-03-19 21:35:34
682
原创 网络面试题整理
绑定完成后服务器需要开启监听,并且指定服务器能够接入的个数,接着等待客户端的接入用accept函数来接收建立连接。第二次握手是服务器收到客户端发来的数据包后返回一个数据包和确认包表示确认客户端的请求并且同样请求建立连接。在服务器端使用connect与某个特定的客户端建立连接后,服务器就不再接收其他客户端的消息了,连接成功后服务器会生成一个新的套接字来和客户端进行通信了,等待最后通信完就可以关闭服务器了。首先要创建个套接字来与服务器来建立连接,然后就可以调用connect函数来与服务器建立连接,
2024-03-17 15:01:08
542
原创 io虚拟终端
while(1)if(ret>0)32;34;wait(0);int i=0;do{elsebreak;}while(1);elseelsereturn 0;
2024-03-07 18:32:33
400
原创 编写链表,链表里面随便搞点数据使用 fprintf 将链表中所有的数据,保存到文件中使用 fscanf 读取文件中的数据,写入链表中
/保存到文件中list_p p=H;while(1)p=p->next;break;fclose(fp);//写入链表list_p q=H;while(1)q=q->next;break;return 0;H->len=0;return H;return new;i<pos-1;i++)
2024-03-01 08:57:18
594
原创 Shell5.使用循环求家目录下目录文件和普通文件的个数
bin/basha=0b=0dothen((a++))then((b++))fidoneecho $aecho $b。
2024-02-18 09:57:41
397
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人