熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2020-3-29 12:04
正文摘要:日常提問,豐富自己。。。。 在此提前謝過各位的指點(diǎn),感激之情,不勝言表!!!! 在此提前謝過各位的指點(diǎn),感激之情,不勝言表!!!! 在此提前謝過各位的指點(diǎn),感激之情,不勝言表!!!! 提問背景:我 ... |
壯大51 發(fā)表于 2020-3-30 10:12 你也說了“因?yàn)槲以诓僮魍阣irection函數(shù)后,用IrValue[2]=0把數(shù)據(jù)碼清空了,所以在下一次循環(huán)時(shí)就不會(huì)執(zhí)行direction” 所以你的P1狀態(tài)為上次操作后的狀態(tài)即 P1=0x55;電機(jī)前進(jìn),而后面的程序沒有對P1的狀態(tài)進(jìn)行改變;所以車一直前進(jìn) |
壯大51 發(fā)表于 2020-3-30 10:12 main你應(yīng)該可以改成 while(1) { if (IrValue[2]==0x18) direction(0x55); else direction(0x00); } |
game灬boy 發(fā)表于 2020-3-29 15:13 direction 里面就是對P1總線賦值 direction(u8 i) { P1=i; } P1八個(gè)IO口控制兩個(gè)L293D的信號(hào),以此來讓電機(jī)正反轉(zhuǎn) |
//估計(jì)是遙控的接收碼你沒列全, 你這樣試下 while(1) { switch(IrValue[2]) { case(0x45): startstop();IrValue[2]=0;break; case(0x18): direction(0x55);IrValue[2]=0;break; //你應(yīng)該是截取的數(shù)據(jù)碼不全, 你試加下面幾句試下 default: startstop();IrValue[2]=0; //電機(jī)停, 接收數(shù)據(jù)清0, 不是這二句就按你的改 break; } } |
direction();可以發(fā)出來嗎? 你的程序應(yīng)該是IrValue[2]=0x18;然后電機(jī)的信號(hào)線的狀態(tài)變?yōu)榍斑M(jìn)狀態(tài);當(dāng)IrValue[2]=0時(shí)你的電機(jī)的狀態(tài)沒有更新 |
while(1) { switch(IrValue[2]) { case(0x45): startstop();IrValue[2]=0;break; case(0x18): direction(0x55);IrValue[2]=0;break; //估計(jì)是你還有數(shù)據(jù)沒截取, 如釋放鍵碼, 新加下面試下 default: break; } } |
Powered by 單片機(jī)教程網(wǎng)