熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2022-3-28 18:15
正文摘要:大佬們,小白學(xué)習(xí)遇到問題了,還請(qǐng)大佬不嫌麻煩,指點(diǎn)一二。 事情: 本想用獨(dú)立控制開關(guān)控制流水燈,但是,程序在protues上模擬卻沒有反應(yīng),而且,我不知道怎么線上調(diào)試程序,所以,一直無法發(fā)現(xiàn)錯(cuò)誤在哪? 希望 ... |
| 把按鍵的while(1)循環(huán)部分去掉,單獨(dú)弄一個(gè)按鍵函數(shù)。然后放在main函數(shù)的大循環(huán)里 |
| 大佬們,這個(gè)問題已經(jīng)解決,問題竟然是key()函數(shù)中的while(1)后多加了一個(gè)分號(hào),這種低級(jí)錯(cuò)誤確實(shí)難防,我以后會(huì)勤加練習(xí),全力避免這樣的錯(cuò)誤。由衷的感謝大佬的幫助,我會(huì)仔細(xì)閱讀各位的回復(fù)。 |
興安xa 發(fā)表于 2022-3-28 22:42 謝謝,我也找到自己的錯(cuò)誤所在,問題就在于在while(1)后多加了一個(gè)分號(hào),這種毛病不經(jīng)意間~,由衷感謝你的教導(dǎo)。 |
lkc8210 發(fā)表于 2022-3-28 21:00 我自學(xué)的,老師們用的都是while(1)死循環(huán)。 而且,今天我分別測(cè)試了兩個(gè)分裝函數(shù),發(fā)現(xiàn)是key()函數(shù)出的問題,于是便仔細(xì)檢查每一句,最后發(fā)現(xiàn)是因?yàn)閣hile(1)后面加了個(gè)分號(hào),我已經(jīng)狠狠摑了自己一個(gè)大鼻竇,希望我能記住這次教訓(xùn),并由衷感謝您的留言。 |
|
改動(dòng)一下,看看能跑起來不 #include<reg52.h> #define LED P2 typedef unsigned int u16; typedef unsigned char u8; sbit key=P3^1; void daley(u8 x) { u8 y; for(x;x>0;x--) { for(y=110;y>0;y--); } } void Leds() { u16 num; u16 LED_1; LED=0xff; { LED_1=0Xfe; LED=0Xfe; daley(100); for(num=7;num>0;num--) { LED_1=LED_1<<1|0X01; LED=LED_1; daley(100); } } } void KEY() { if(key==0) { daley(2); if(key==0) { Leds(); } while(!key); } } void main() { while(1) { KEY(); Leds(); } } |
| 誰教你在函數(shù)中用while(1)的? |
Powered by 單片機(jī)教程網(wǎng)