摘要: linux 网络编程 HTTP协议对应于应用层, Socket则是对ICP/IP协议的封装和应用 Socket的出现只是使得程序员更方便地使用ICP/IP协议栈而已,是对ICP/IP协议的抽象,从而形成了我们知道的一些最基本的函数接口,比如 create、listen、connect、accept、 阅读全文
posted @ 2023-09-20 10:05 爱吃冰激凌的黄某某 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 消息队列 消息队列 1、任务级队列处理函数 2、中断级队列处理函数(带中断保护)已经在CMSIS接口中封装 但写入生产速度比消费速度快的时候,容易出现数据被覆盖 邮箱队列 创建、发送、接收、查询、删除 传数值 osEvent event = osMessageGet(myQueue01Handle, 阅读全文
posted @ 2023-09-20 10:04 爱吃冰激凌的黄某某 阅读(12) 评论(0) 推荐(0) 编辑
摘要: Linux常用指令 终端 Ctrl+Alt+T 终端多开 Ctrl+Shift+T 终端切换Alt+num Is Is -I Is -a pwd nautilus . Mkdir cat cd cd - Gedit Cp Rm Find Grep Chmod chmod 777 *.c 给最高权限 阅读全文
posted @ 2023-09-20 10:04 爱吃冰激凌的黄某某 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 信号量 信号量&互斥量: 创建、获取、释放、删除 信号量用于同步,任务间或者任务和中断间同步; 互斥量用于互锁,用于保护同时只能有一个任务访问的资源,为资源上一把锁。 二值信号量:同步 计数信号量:资源使用统计 互斥量:互斥信号量其实就是一个拥有优先级继承的二值信号量递归互 斥:互斥中嵌套互斥 优先 阅读全文
posted @ 2023-09-19 12:06 爱吃冰激凌的黄某某 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 系统内存管理 内存管理与程序好坏? 对于安全要求高的应用,尽可能不使用动态内存分配。 malloc()和free() 当RTOS内核需要RAM时,调用pvPortMalloc()函数来代替malloc()函数。当RAM要被释放时,调用vPortFree()函数来代替free()函数。 freeRTO 阅读全文
posted @ 2023-09-19 12:06 爱吃冰激凌的黄某某 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 系统时钟管理 HAL_Delay()延时 HAL_Delay(1000); //延迟一秒 如果主函数中还有一些耗时操作, 那么实际耗时为: 1秒+耗时操作时间 vTaskDelay() 相对延时 每次从任务执行函数vTaskDelay()开始, 延时指定时间结束 vTaskDelayUntil() 阅读全文
posted @ 2023-09-19 12:06 爱吃冰激凌的黄某某 阅读(13) 评论(0) 推荐(0) 编辑
摘要: freeRTOS 任务状态切换 eTaskGetState 获取状态 printf("status %zd\n", osThreadGetState(osThreadGetId())); osThreadSuspend 挂起 osThreadSuspend(osThreadGetId()); 阅读全文
posted @ 2023-09-19 12:06 爱吃冰激凌的黄某某 阅读(21) 评论(0) 推荐(0) 编辑
摘要: freeRTOS 任务控制函数 osThreadCreate 任务创建函数 osThreadTerminate osThreadTerminate(任务对象) 任务结束函数 task1 只打印了一次 获取任务ID printf("id = %d\n", osThreadGetId()); print 阅读全文
posted @ 2023-09-19 12:06 爱吃冰激凌的黄某某 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 搭建freertos工程 项目配置 再Add一个任务 printf打印fputc添加 阅读全文
posted @ 2023-09-19 12:06 爱吃冰激凌的黄某某 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 学会单片机仿真调试Debug 打印调试 仿真调试 阅读全文
posted @ 2023-09-19 12:05 爱吃冰激凌的黄某某 阅读(22) 评论(0) 推荐(0) 编辑