
回复
实现最简单的按键控制小车前进、后退、左转、右转、停止的Demo,代码在openharmonny1.10 和openharmony3.00 测试可以正常工作。
1).短按 OLED 扩展板S1按键 - 前进
2).长按 OLED 扩展板S1按键 - 左转
3).短按 OLED 扩展板S2按键 - 后退
4).长按 OLED 扩展板S2按键 - 右转
5).短按核心板User按键 - 停止
3.1 电机的控制需要用到PWM,所以需要先将PWM 功能开启,开启方式如下
device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk
改为
移除app_demo_robot_car.h和extern ,改为如下
在car_control.h中添加以下define
小车前进
小车后退
小车左转
小车右转
小车停止
按键功能的实现唐佐林老师已经做了很深入的分享,我这边也是参考唐老师的分享来实现的,
附上唐老师的帖子链接:
实现按键“按下事件”和“释放事件”的通用框架(V0.0.1)
实现物理按键的“长按事件”(按键通用框架 V0.0.2)
实现S1,S2,User三个物理按键的独立事件-上(解决思路分析)
实现S1,S2,User三个物理按键的独立事件-下(DTButton-V0.0.3)
本案例中按键功能实现在KeyEvent.c和KeyEvent.h
如只需要按下的功能只需要注册KEY_EVENT_PRESSED
接着实现KeyEvent_Callback回调
文中相关设备来源于51CTO 鸿蒙技术社区【开发板漂流计划】