- 博客(52)
- 收藏
- 关注
原创 armday7
1、空闲状态:总线上没有通信时,SDA和SCL都是高电平。2、起始:主机发送起始信号,SDA为低,SCL为高。8、从机发送停止信号,SCL为高时,SDA由低变高。3、主机发送7bit地址和1bit读位。5、主机发送8bit数据。
2024-04-17 21:01:01 380
原创 rtosday4
使用 osSemaphoreNew 函数创建信号量,使用 osSemaphoreAcquire 函数获取信号量,获取信号量后就可以访问共享资源,访问结束后,使用 osSemaphoreRelease 函数释放信号量,以便于其他任务访问共享资源。1.队列:先创建,创建队列有两种方式分别是动态创建和静态创建,动态创建使用xQueueCreate函数进行创建,静态创建使用xQueueCreateStatic函数进行创建。任务通知是多对一通信。3.队列、信号量、互斥量、事件组需要被创建,所以消耗的资源也是比较多。
2024-04-06 23:14:30 401 1
原创 freertosday3
一、动态创建任务无需指定具体的栈,只需要给定栈的大小即可,它会调用 vportmalloc函数自己指定,静态创建任务既需要制定具体的栈,可以使用数组来指定,也需要给定栈的大小。挂起态->就绪态:通过 vTaskResume() 函数可以将任务从挂起状态中恢复,可以实现从挂起态转换为就绪态。就绪态->挂起态:通过 vTaskSuspend() 函数可以将任务挂起,可以实现从就绪态转换为挂起态。时间片大小由内置函数决定。就绪态->运行态:任务一经创建就处于就绪态,当程序执行任务时,就进入运行态。
2024-04-03 09:00:47 287
原创 ARMday2
uint16_t Size:要发送的数据的长度,strlen,sizeof,sizeof会计算\0。无论发送多长的数据在间隔一段时间后都会产生空闲中断,产生了空闲中断就知道已经接收完成了一次数据,在中断中就可以去处理这一次数据。uint32_t Timeout:超时时间,单位是ms,在规定时间没有将数据发送出去就会退出当前函数,执行下一句代码。//串口接收中断完成回调函数,当接收到指定的数据后就会调用到这个函数,当接收到一个字节就会调用到这个函数。const uint8_t *pData:要发送的数据。
2024-04-01 20:41:45 452
原创 ARMday1
编译代码时,先将配置魔术棒里Debug中的Setting,将Flash中Reset and Run勾选上,并去除pack中的Enable。答:下载代码时,确保stlink的驱动有效、魔术棒中硬件型号的连接。2.总结STM32Cubemx的使用方法和需要注意的事项。1.总结keil5下载代码和编译代码需要注意的事项。4、RCC配置时钟源(44MHZ)2、左键点击选择output方式。3、配置gpio的初始化功能。3、SYS中勾选Debug。2、找到并选择对应型号。答:1、新建一个工程。答:1、选择对应引脚。
2024-03-29 18:46:34 275
原创 IOday6作业
6> 使用有名管道完成两个进程的相互通信(提示:可以使用多进程或多线程完成)2> 将无名信号量的代码实现重新敲一遍。1> 将互斥机制的代码实现重新敲一遍。3> 将条件变量的代码实现重新敲一遍。4> 将无名管道的代码实现重新敲一遍。5> 将有名管道的代码实现重新敲一遍。
2024-02-22 21:42:22 354
原创 IOday1作业
功能2是登录功能,提示并输入登录账户和登录密码,并用其遍历文件中的每一组账户和密码,如果匹配成功,则登录成功,如果全部不匹配则提示登录失败。做个小菜单,功能1是注册功能,输入注册账户和注册密码,将账户和密码写入文件中。2> 使用fputs和fgets完成两个文件的拷贝。1> 使用fgets统计给定文件的行数。3> 完成注册登录功能。
2024-02-21 23:12:47 334
原创 IOday5作业
使用多线程完成两个文件的拷贝,第一个线程拷贝前一半,第二个线程拷贝后一半,主线程回收两个线程的资源。使用多进程完成两个文件的拷贝,父进程拷贝前一半,子进程拷贝后一半,父进程回收子进程的资源。
2024-02-21 23:09:05 403 1
原创 2月15日
1、B2、B3、C4、D5、D6、D7、D8、B9、B10、D11、B12、B13、B14、C15、A16、D17、B18、D19、D20、D21、A22、B23、A24、C25、C26、C27、B28、B29、C30、D31、B32、B33、A34、D35、C36、D37、C38、B39、D40、C41、A。
2024-02-15 22:02:49 366
原创 2024年2月14日
4.请使用非函数方法实现系统函数strcat,strcmp,strcpy,strlen。2.请编程实现二维数组计算每一行的和以及列和。3.请编程实现二维数组计算第二大值。1.请编程实现二维数组的杨慧三角。
2024-02-15 21:48:25 364
原创 2月12日
的生命周期就结束了,所以指向它的指针就变成了NULL。分配了100个字节的内存,然后将"hello"复制到。此时str指向未定义位置。的指针,当函数返回后,数组。函数会打印出"hello"函数返回一个指向局部数组。
2024-02-15 21:11:44 348 1
原创 2024年2月11日
6、请递归实现计算各个位数字的乘积。5、请递归实现计算各个位数字之和。7、请使用递归实现计算单词逆置。2、请使用递归实现0-n的和。4、请使用递归实现二进制转换。3、请使用递归实现斐波那契。1、请使用递归实现n!
2024-02-15 20:58:01 334 1
原创 2024年2月8日
1.现有文件test.c\test1.c\main.c,请编写Makefile。4.字符串倒置:(注意:是倒置,而不是直接倒置输出)2.C编程实现:输入字符串,请计算单词的个数。3.在终端输入一个文件名,判断文件的类型。
2024-02-15 20:55:27 484 1
原创 2024年2月6日
二、写了个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和。三、写一个宏,可以将一个int型整数的二进制位的奇数位和偶数位交换。函数2:请使用简单选择排序实现升序排序。函数3:请使用直接插入排序实现升序排序。函数1:请使用冒泡排序实现升序排序。函数4:请使用插入排序实现升序排序。
2024-02-15 20:40:04 441
原创 2024年2月5日
1.请编程实现哈希表的创建存储数组{12,24,234,234,23,234,23},输入key查找的值,实现查找功能。2.现有数组{12,23,45,56,445,5676,6888},请输入key实现二分查找。
2024-02-13 15:54:05 366 1
原创 2024年2月4日
1,栈:在一端(栈顶)实现插入和删除,队列:在两端(队头、队尾)实现插入和删除。在进行释放时,指针没有指向堆区的首地址,造成一部分地址没有释放。2.请编程实现双向链表按任意位置插入、删除、修改、查找。1.请编程实现双向链表的头插,头删、尾插、尾删。2.栈:先进后出 队列:先进先出。3.请简述栈和队列的区别?4.请简述什么内存泄露?
2024-02-13 13:11:13 314 1
原创 2024年2月3日
n个人围成-圈,从某人开始报数1, 2, .... m,数到m的人出圈,然后从出圈的下一个人(m+ 1)开始重复此过程,如当n=8, m=4时,若从第一-个位置数起,则所得到的新的序列为4, 8, 5,2, 1,3, 7, 6。如当n=8, m=4时,若从第一-个位置数起,则所得到的新的序列为4, 8, 5,2, 1,3, 7, 6。1.请编程实现单向循环链表的头插,头删、尾插、尾删。约瑟夫环:用循环链表编程实现约瑟夫问题。2.请编程实现单向循环链表约瑟夫环。3.请编程实现单向循环链表的排序。
2024-02-13 12:58:40 362 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人