|
經(jīng)過(guò)一番的查找資料,在51論壇找到了相關(guān)資料,而且通過(guò)修改代碼,能夠?qū)崿F(xiàn)紅外遙控LED的亮滅。
但是,有一些疑問(wèn)和BUG,想請(qǐng)教一下大家:
判斷代碼如下,全部代碼在附件
- switch(IRcord[2])
- {
- case 0x0c: led1=0;break;//按1,LED1亮
- //case 0x18: led1=1;break;//按2,LED1滅,注釋1
- case 0x5e: led2=0;break;//按3,LED2亮
- //case 0x08: led2=1;break;//按4,LED2滅,注釋2
- case 0x1c: led3=0;break;//按5,LED3亮
- //case 0x5a: led3=1;break;//按6,LED3滅,注釋3
- case 0x42: led4=0;break;//按7,LED4亮
- case 0x52: led4=1;break;//按8,LED4滅
- case 0x4a: led5=0;break;//按9,LED5亮
- case 0x16: led5=1;break;//按0,LED5滅
- case 0x45:
- led1=1;
- led2=1;
- led3=1;
- led4=1;
- led5=1;
- break;//全部滅
- }
復(fù)制代碼 如果按照上面的代碼,按相對(duì)應(yīng)的按鈕會(huì)達(dá)到相應(yīng)的效果,例如按7,LED4會(huì)亮,按8,LED4會(huì)滅,如果只是按7,LED4只會(huì)亮,不會(huì)滅。
問(wèn)題來(lái)了:
1)如果把注釋1,2,3其中一個(gè)注釋取消,當(dāng)我按7,LED4會(huì)亮,但是連續(xù)按兩下7,LED4竟然會(huì)滅。。。。。這是什么情況?
2)另外有個(gè)問(wèn)題,我想把代碼寫成
case 0x42: led4=~led4;break;//按7,LED4亮,目的就是取反,按同一個(gè)鍵,就達(dá)到開(kāi)和關(guān)。但是實(shí)際情況,不行啊。。。。為什么
3)怎樣用KEIL聯(lián)機(jī)調(diào)試debug 紅外接收信號(hào)。不是虛擬調(diào)試。我想跟蹤實(shí)際接收到紅外的信號(hào)編碼。
|
|