完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个已经成功移植LVGL的工程,这个sysInit();函数的作用是启动薄膜键盘扫描线程。 已知: 薄膜键盘的按键值能正常读出(薄膜键盘扫描线程工作正常)。 main.c 这样就能显示: |
|
相关推荐
9个回答
|
|
死循环,优先级比 main 高,rt-thread 使用宝典里有提到这种“坑”
|
|
|
|
您好,请问是LVGL比main线程的优先级高吗?
|
|
|
|
sysinit 里面干啥了,不是起了一个键盘线程吗?线程优先级多少不是比main函数所在线程优先级高吗?而且,是不是键盘扫描时没有休眠
|
|
|
|
sysinit 里面干啥了,不是起了一个键盘线程吗?线程优先级多少不是比main函数所在线程优先级高吗?而且,是不是键盘扫描时没有休眠
|
|
|
|
|
|
|
|
你这是想,有按键按下再发个 SCAN COMPLETED 事件? 然后 main 函数里等到 SCAN COMPLETED 事件后再执行 task_handler ?这样没有按键的时候 lvgl 线程就不工作了
|
|
|
|
不是,你好像误会了,键盘扫描函数在执行完一个周期的扫描后会退出,依靠键盘扫描线程不断调用这个函数来获取按键值,函数内容请看: 下图中的函数就是在键盘扫描线程中不断调用的函数: 此函数在键盘扫描线程中执行完毕后就会发送一个“薄膜键盘扫描完成事件”并挂起线程,main线程收到该事件后向控制台打印按键值并调用lvtaskhandler();刷新界面,执行完毕后发送 EVENT_BEGIN 事件表示可以开始执行键盘扫描线程了 |
|
|
|
试过把 keyboardread 那个函数挪到 main 函数里吗?省掉一个线程和事件。这样能跑起来不?
键盘线程和 lvgl 线程栈看起来不少。 如果是内存被破坏了。难道是其它线程破坏了 lvgl 的内存? 你说的显示不正常是啥样的,没有显示,还是显示乱七八糟的? |
|
|
|
找到了开发板的原理图,发现是因为键盘扫描脚与屏幕驱动脚部分共用,导致的。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
1559 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1108 浏览 0 评论
1550 浏览 0 评论
1399 浏览 0 评论
1042 浏览 0 评论
74623 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 13:37 , Processed in 0.938867 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号