- 博客(15)
- 收藏
- 关注
原创 FreeRTOS中vTaskDelayUntil()和vTaskDelay()的区别
使用 vTaskDelay()当需要简单的非阻塞延时,或任务周期无需严格保证。使用 vTaskDelayUntil()当需要任务以固定频率执行(如实时控制、数据采集),确保周期稳定性。
2025-04-16 10:05:48
748
原创 c语言中volatile关键字
使用volatile的变量必须满足以下条件之一:被硬件/中断修改被多线程共享且无锁保护被信号处理函数修改场景编译器优化风险volatile的作用硬件寄存器访问缓存导致读取旧值强制每次从内存地址读取最新值中断服务程序变量被中断修改但未被察觉确保主程序读取修改后的值多线程共享变量指令重排导致状态不一致禁止重排(需结合锁或原子操作)内存映射I/O冗余操作被优化导致逻辑错误保留所有读/写操作。
2025-04-15 17:03:29
1417
原创 增量式pi控制与位置式pid控制
传统PID:直接计算“电机应该以多高的电压运行”(绝对量)。增量式PI:计算“这次需要让电压增加或减少多少”(相对量)。类比理解传统PID:直接设定空调目标功率(如1000W)。增量式PI:根据当前温度变化,决定“现在需要调高或调低50W”。
2025-04-14 16:45:31
1303
原创 裸机系统中的轮询系统和前后台系统,以及多任务系统
对比项轮询系统前后台系统多任务系统(FreeRTOS)响应速度慢(所有任务排队)中断快,后台慢快(优先级抢占)资源占用极低(裸机无调度)低(需处理中断)较高(需要RTOS内存开销)开发难度简单(小学生流水账)中等(要懂中断)较难(得学任务调度机制)适用场景电子表、跑马灯带按键的小设备智能手表、无人机、物联网设备任务协作无,纯顺序执行中断和主循环简单配合支持任务通信、同步、优先级。
2025-04-14 15:52:47
583
原创 阿克曼机器人运动控制与代码实现
符号物理意义典型值(家用轿车)LLL轴距(前后轮距离)2.5米WWW轮距(左右轮距离)1.6米KKK转向主销中心距0.3米。
2025-04-13 19:55:37
846
原创 C语言中的 const 关键字
define// 常量定义// 结构体定义} User;// 打印用户信息(保护结构体不被修改)return 0;输出。
2025-04-10 09:37:05
168
原创 c语言中static的用法
/ 静态全局变量static void internalFunc() { // 静态函数// 静态局部变量calls++;demo();demo();return 0;输出。
2025-04-09 20:36:48
374
原创 Freertos任务频率设置问题:
决定了任务的周期性执行节奏,直接影响系统的实时性、资源利用率和任务间的协作关系。合理设置任务频率是确保系统稳定性和实时性的关键。合理设置任务频率需要结合具体硬件性能、任务实时性需求和系统稳定性要求,建议通过实测和监控工具(如 FreeRTOS Trace)逐步优化。在 FreeRTOS 中,
2025-03-21 09:53:27
901
原创 I2C中的一些概念理解
通过头段过滤和二次地址校验抗干扰:避免误响应非目标设备灵活性:支持双地址配置和主从角色动态切换可靠性:ADDR标志和中断机制确保MCU及时响应通信事件这一机制在复杂总线拓扑(如工业传感器网络)中尤为重要。
2025-03-13 15:23:20
860
原创 I2C原理与寄存器配置
上述配置通过精确设置时钟、GPIO模式、通信速率和时序参数,确保I2C总线在标准模式下稳定工作。每一步均基于I²C协议规范及STM32硬件特性设计,最终实现可靠的主从设备通信。
2025-03-13 14:31:29
974
原创 用c语言写俄罗斯方块
写了一个俄罗斯方块来检验自己所学,在这里个大家分享一下,程序还有一些不足之处,这里我分享下我个人的思路,第一次写这样的东西,可能的说的不是很清楚,程序要求:打印不同类型的方块,使方块自由下落,过程中需要通过按键来实现方块的左移,右移,旋转,加速下落,暂停等功能;另外还要实现当方块到达边界的时候,停止左移,右移,下落,防止方块越界。同时,还需要检测是否右满行,如果有,需要程序将满行消除,同时将其他非满行完整下移;根据消除的行数在右边界面显示实时的分数,以及随着游戏进行,速度的变化****加粗样式说到这里
2020-05-27 18:50:49
1006
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人