- 博客(60)
- 收藏
- 关注
原创 FreeRTOSday3
时间片轮转:每个任务拥有相同的时间片(1ms),保证任务执行的公平性,当一个任务的时间片耗尽时任务就必须退出(适用于相同优先级)Ready->Suspnded: 使用vTaskSuspend将任务挂起,使用vTaskResume将任务恢复。Blocked->Ready:当休眠完成后或者是当等待到信号量,互斥锁等进行就绪态。阻塞态,因为等待某一个事件进入了休眠的状态(时间,互斥锁,信号量)挂起态,将任务挂起后任务还是存在的,可以进行恢复。1.总结任务的调度算法,把实现代码再写一下,运行态,任务正在运行。
2024-03-10 20:57:45
400
原创 【无标题】
DMA加空闲中断接收数据:用于接收不定长数据,由于CPU不知道什么时候有数据会发来,可以开启DMA接收,让DMA一直监测,当有数据并且接收完一包数据就会产生空闲中断处理数据。分辨率:采样的精度,分辨率越高就代表了采样精度越高,得到的数据越准确。12位的ADC:采样得到的数据的范围是在0~2^12-`(4095)当CNT的值到达ARR的时候就会溢出就会变成0,然后重新计数。ARR的值已经确定了,通过调节CCRX可以调节高低电平的占比。ADC采样时间:采样时间越长 ,采样的精度越高。CCRX:比较寄存器。
2024-03-07 19:58:51
414
原创 freeRTOS day1
在"Configuration"选项卡中,对选中的外设进行详细配置,例如GPIO模式、中断优先级、时钟源等。在“Mode”下拉菜单中选择GPIO的工作模式,再在右侧进行相应的配置。:确保你使用的下载工具(如ST-Link、J-Link等)与你的微控制器兼容,并且已经正确安装了驱动程序。:正确设置目标芯片的时钟频率、内存大小等参数,以确保编译出的代码能够在硬件上正常运行。:生成的代码需要进行审查,特别是对于复杂的配置或特殊的应用场景。:确保你选择的控制器型号与你的项目中实际使用的硬件相匹配。
2024-03-06 19:50:13
368
原创 三国卡牌大作战
对战时,每个玩家可以从自己已有的卡牌中选择最多5个卡牌进行对战,每回合选择一个卡牌进行对战,直至死亡,谁的卡牌全部死亡,谁失败。有蜀国,魏国,吴国,群雄四个种类的卡牌,4类卡牌存在克制效果,每个国家有自己的英雄卡牌,生命、攻击力和攻速不一样。
2024-02-28 17:05:24
472
原创 day2.4
如果一个类没有定义默认构造函数,但该类的所有数据成员都有默认值,那么编译器会自动生成一个默认构造函数。然而,如果类中有某些数据成员没有默认值或者需要进行特殊的初始化,那么就需要用户自己定义一个默认构造函数来进行初始化。在这种情况下,编译器不会自动生成默认构造函数。
2024-02-04 15:05:52
401
原创 TFTP协议下载上传
由于需要服务器与客户端实现连接,需要建立套接字文件描述符,使用函数socket(),生成套接字文件描述符。又为了让客户端能与服务器主机进行连接需要设置服务器IP地址和端口,初始化要绑定的网络地址结构,绑定IP地址、端口等信息,使用bind()函数,将套接字文件描述符和一个地址进行绑定实现客户端与服务器建立的套接字文件连接;然后接收客户端的数据,使用recvfrom()函数接收客户端的网络数据,且向客户端发送数据,使用sendto()函数向客户端发送数据。最后关闭套接字,使用close()函数释放资源。
2024-01-16 21:35:30
445
1
原创 进程之间的通信
消息队列原理:消息队列是在内核空间创建消息队列(msgget),进程通过特定的函数msgsnd向消息队列中存放消息,存放的形式是结构体类型的,进程通过特定的函数msgrcv从消息队列中获取消息,即消息队列中需被取走的消息从消息队列中进入进程,且消息队列中不存在该消息了。共享内存:是将物理内存映射到不同进程中,且在内核中形成共享内存段,不同进程直接对映射出来的共享内存进行操作,无需用户空间和内核空间切换。
2024-01-09 21:15:06
390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人