Free RTOS:队列实验
目录1.多设备玩游戏思路本节源码思路实现方案2.红外遥控改造typedefs.hdriver_ir_receiver.cgame1.c3.旋转编码器改造typedefs.hdriver_rotary_encoder.cdriver_ir_receiver.cgame1.c1.多设备玩游戏思路本节源码在14_queue_game_multi_input的基础上改出15_queueset_game具备更好的程序框架游戏是一个控制挡板来改变小球运动轨迹去撞色块的游戏思路本程序主要完成对挡球板的任务的修改小球碰撞的逻辑任务不用管用红外传感器模块写挡球板任务的队列然后旋转编码器先写一个自己的队列因为旋转编码器模块每次旋转计数值都会改变需要记录当前旋转编码器的计数值然后读出这个队列数据处理分辨当前旋转的速度根据速度决定往挡球板任务的队列里写数据快就多写慢就少写红外传感器模块和旋转编码器模块都写挡球板任务的队列实现这两个模块控制档球板的移动然后从挡球板任务的队列读出数据显示在OLED屏幕上实现方案游戏任务读取挡球板队列获得控制信息用来控制游戏红外遥控器驱动在中断函数里解析出按键后写挡球板队列旋转编码器它的中断函数里解析出旋转编码器的状态写旋转编码器队列它的任务函数里读取旋转编码器队列构造好数据后写挡球板队列2.红外遥控改造原来代码是使用环形缓存区进行数据传输的改为使用队列进行数据传输代码名字为13_queue_gametypedefs.hdriver_ir_receiver.cgame1.c3.旋转编码器改造原来代码是使用环形缓存区进行数据传输的改为使用队列进行数据传输还要对红外遥控器模块改造一下代码名字为14_queue_game_multi_inputtypedefs.hdriver_rotary_encoder.cdriver_ir_receiver.cgame1.c