LuatOS
直播中

qjp1988113

13年用户 343经验值
擅长:测量仪表 嵌入式技术 EDA/IC设计 处理器/DSP 控制/MCU
私信 关注
[经验]

【合宙Air820开发板试用体验】+在KEPPAD模块里面调用LED模块

昨天在USART模块里面,怎么调用LED都会卡住~本身也是初次接触这啥LUA编程~
今天测试了KEYPAD,不死心,想再次试下~
我先在LED里面写一个封装过得LED控制的FUNCtiON代码,然后在KEYPAD里面引用LED模块,然后在调用LED控制的FUNCTION~
  1. local m_led = require "bsp_Led"

  2. local tmplevel=0
  3. local function keyMsg(msg)
  4.     --msg.key_matrix_row:行
  5.     --msg.key_matrix_col:列
  6.     --msg.pressed:true表示按下,false表示弹起
  7.     log.info("keyMsg",msg.key_matrix_row,msg.key_matrix_col,msg.pressed)
  8.     if(msg.key_matrix_row==2 and msg.key_matrix_col==0 and msg.pressed==true) then
  9.         rtos.sleep(20) --延时去抖
  10.         if (msg.key_matrix_row==2 and msg.key_matrix_col==0 and msg.pressed==true) then
  11.             tmplevel=1-tmplevel
  12.             m_led.LED0_CTL(tmplevel)
  13.         end
  14.     end
  15. end
其中之前延时我用的是sys.wait(20),但是这个不行,会报错~然后我就用了rtos.sleep(20) ~
这2个到底什么区别,用sys.wait(20)为啥会报错~
XX1.png
感觉自己还是对LUA语法了解的不够透彻~
使用rtos.sleep(20)后正常,按下ENTER按键,黄灯切换一次状态~
感觉,好像摸着石头过河啊~当年学C,也没这么稀里糊涂过啊~

更多回帖

发帖
×
20
完善资料,
赚取积分