- 博客(3)
- 收藏
- 关注
原创 FreeRTOS创建常规任务流程,包含创建运行频率,线程,队列
初始化:创建消息队列 :task_runtime.msgq.imu.accl = osMessageQueueNew(2u, sizeof(AHRS_Accl_t), NULL);创建线程:task_runtime.thread.atti_esti = osThreadNew(Task_AttiEsti, NULL, &attr_atti_esti),相当于把运行函数和线程id联系起来。
2024-11-16 01:03:17
1070
原创 类似#define a (1<<1)设置标志位的见解
假如后面右云台反馈(GIMBAL_RIGHT_FEEDBACK ),flag经过按位或之后,值为6(二进制110),所以这样写,使用flag一个整数,就可以存储多个状态。后面读取的时候,使用按位与操作,假如我现在要读取左云台是否有反馈,只要知道flag的第二位是1还是0就可以,即flag& GIMBAL_LEFT_FEEDBACK。在很多情况下,都较喜欢使用这种位操作的方式设置标志位,所以我感觉这形成了一种共识吧,大家看到相关的代码,就知道与标志位有关。1、节约内存 2、简洁 3、易懂。
2024-11-03 21:53:55
513
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人