昨天在USART模块里面,怎么调用LED都会卡住~本身也是初次接触这啥LUA编程~
今天测试了KEYPAD,不死心,想再次试下~
我先在LED里面写一个封装过得LED控制的FUNC
tiON代码,然后在KEYPAD里面引用LED模块,然后在调用LED控制的FUNCTION~
- local m_led = require "bsp_Led"
- local tmplevel=0
- local function keyMsg(msg)
- --msg.key_matrix_row:行
- --msg.key_matrix_col:列
- --msg.pressed:true表示按下,false表示弹起
- log.info("keyMsg",msg.key_matrix_row,msg.key_matrix_col,msg.pressed)
- if(msg.key_matrix_row==2 and msg.key_matrix_col==0 and msg.pressed==true) then
- rtos.sleep(20) --延时去抖
- if (msg.key_matrix_row==2 and msg.key_matrix_col==0 and msg.pressed==true) then
- tmplevel=1-tmplevel
- m_led.LED0_CTL(tmplevel)
- end
- end
- end
其中之前延时我用的是sys.wait(20),但是这个不行,会报错~然后我就用了rtos.sleep(20) ~
这2个到底什么区别,用sys.wait(20)为啥会报错~
感觉自己还是对LUA语法了解的不够透彻~
使用rtos.sleep(20)后正常,按下ENTER按键,黄灯切换一次状态~
感觉,好像摸着石头过河啊~当年学C,也没这么稀里糊涂过啊~