單片機(jī)C語(yǔ)言的主程序,通常要用一個(gè)while(1)語(yǔ)句來(lái)讓程序進(jìn)入一個(gè)無(wú)限循環(huán),目的是為了讓程序一直保持在我們需要運(yùn)行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問(wèn),如果程序不加while(1)會(huì)出現(xiàn)什么情況,對(duì)于這種好學(xué)精神,還是值得贊揚(yáng)的,做學(xué)問(wèn)就需要有追根問(wèn)底的精神?! ∈紫龋蠹乙斫庖患虑?,我們編寫(xiě)的c語(yǔ)言程序,最終下載到單片機(jī)當(dāng)中去,在我們單片機(jī)的程序存儲(chǔ)空間FLASH當(dāng)中存儲(chǔ)的全部是2進(jìn)制數(shù)字代碼。比如0x00,0x01,一直到0xff。而我們編寫(xiě)的C代碼,依靠的是編譯軟件,比如keil軟件,首先將C語(yǔ)言編譯成為匯編語(yǔ)言,最終匯編語(yǔ)言變成2進(jìn)制代碼,也就是我們的HEX文件當(dāng)中的數(shù)據(jù),下載到單片機(jī)當(dāng)中去。 因此,查找這個(gè)問(wèn)題,首先從源頭來(lái)找,首先是C語(yǔ)言,然后,我們?cè)倏匆幌萝浖o我們編譯的匯編語(yǔ)言是什么樣子。用KEIL軟件編寫(xiě)一個(gè)程序,然后simulator的方式進(jìn)行仿真,進(jìn)入仿真環(huán)境后,在View窗口下有個(gè)Disassembly window,打開(kāi),里邊就會(huì)出現(xiàn)剛才我們的C語(yǔ)言所對(duì)應(yīng)的匯編語(yǔ)言了(KEIL軟件會(huì)自動(dòng)將C編譯成匯編),找到里邊的主函數(shù),找到你最后一行的程序所對(duì)應(yīng)的匯編,找到后,會(huì)發(fā)現(xiàn)在最后一行程序結(jié)束后,KEIL這個(gè)軟件還會(huì)自動(dòng)給加入幾行匯編代碼,這幾行代碼就是(1)MOV R0, #0x7F;(2)CLR A; (3)MOV @R0, A; (4) DJNZ R0, (3); (5)MOV SP, #0x0C;(6) LJMP main;這幾條語(yǔ)句,前4條,是將我們單片機(jī)的內(nèi)存的前128個(gè)地址清零,第5條,是定義堆棧,第6條,是將程序重新跳轉(zhuǎn)到main函數(shù)的首行進(jìn)行執(zhí)行?! 倪@里我們可以看出,最終下載到單片機(jī)運(yùn)行的程序包含兩部分,一部分是我們編寫(xiě)的程序代碼,另外一部分是編譯器自動(dòng)生成的代碼,因此,用KEIL軟件編寫(xiě)的程序在沒(méi)有while(1)的情況下運(yùn)行到最后一行,會(huì)自動(dòng)跳轉(zhuǎn)到main函數(shù)第一行運(yùn)行?! ”局鴩?yán)謹(jǐn)?shù)膽B(tài)度,筆者又查找PIC單片機(jī)的編譯開(kāi)發(fā)環(huán)境MAPLAB IDE,找到其中的匯編程序,在Disassembly window匯編程序中沒(méi)有發(fā)現(xiàn)跳轉(zhuǎn)到主函數(shù)的語(yǔ)句或者是復(fù)位語(yǔ)句。筆者不甘心,于是繼續(xù)查找,打開(kāi)了Promgram Memory,這也是最終下載到單片機(jī)當(dāng)中的程序,通過(guò)仔細(xì)查看筆者在其后邊,發(fā)現(xiàn)了在main函數(shù)的最后,有一條“reset”語(yǔ)句,這是一條PIC單片機(jī)的復(fù)位語(yǔ)句,也就是說(shuō)PIC單片機(jī)在進(jìn)行程序編譯的過(guò)程中,如果沒(méi)有while(1)語(yǔ)句,最后則會(huì)直接執(zhí)行復(fù)位,這MAPLAB隱藏的可夠深的。 我在論壇上看到一個(gè)發(fā)帖者提出他下載進(jìn)AVR單片機(jī)的沒(méi)有while(1)的程序,但是單片機(jī)卻沒(méi)有復(fù)位,這點(diǎn)我沒(méi)有再去驗(yàn)證,因?yàn)槲覀兊某绦蛲ǔ6际且觲hile(1)這個(gè)循環(huán),因此呢,問(wèn)題到了這里,單片機(jī)程序沒(méi)有while(1)會(huì)出現(xiàn)什么情況,這一點(diǎn)已經(jīng)不重要了。但是有一點(diǎn)已經(jīng)可以確認(rèn)了,一部分單片機(jī)在沒(méi)有while(1)的情況下,運(yùn)行到最后一行出現(xiàn)的情況受到編譯開(kāi)發(fā)環(huán)境的影響?! ‘?dāng)然了,一個(gè)嚴(yán)謹(jǐn)?shù)拈_(kāi)發(fā)環(huán)境,就應(yīng)該像KEIL和MAPLAB這樣,在程序員編譯程序可能出現(xiàn)漏洞的地方給與防護(hù),避免程序跑飛程序員無(wú)法查找程序問(wèn)題。深有體會(huì)。剛學(xué)單片機(jī)不久,參考別人的程序?qū)懥薒CD驅(qū)動(dòng),在買(mǎi)來(lái)的實(shí)驗(yàn)板上運(yùn)行時(shí),顯示正常。在自己用面包板上搭建的系統(tǒng)運(yùn)行時(shí),只能顯示幾秒鐘,之后一片空白,當(dāng)時(shí)懷疑面包板供電不穩(wěn)定,或者信號(hào)線干擾,折騰幾小時(shí)后,在程序末尾加一句“while(1);”,顯示完全正常。不加不穩(wěn)定,有時(shí)候會(huì)在main()里面循環(huán),有時(shí)候會(huì)亂碼。這里的while(1)并不是防止程序“跑飛”的,而是防止main()返回。① 在嵌入式中main是不能返回的。不同的C語(yǔ)言實(shí)現(xiàn)的單片機(jī)初始化代碼會(huì)有不同的表現(xiàn),有的是在call _main后jmp,而有的是jmp 0,等等這些會(huì)導(dǎo)致不可預(yù)料的結(jié)果。② 在我們寫(xiě)的C語(yǔ)言后轉(zhuǎn)換成匯編,再觀察單片機(jī)的代碼區(qū),你會(huì)發(fā)現(xiàn)沒(méi)有寫(xiě)程序的部分例如全1或者全0區(qū)域,程序運(yùn)行到這里,就會(huì)有可能造成意料不到的結(jié)果。若無(wú)while(1)循環(huán),程序全部執(zhí)行后,跳轉(zhuǎn)至程序起始處重新執(zhí)行。
單片機(jī)C語(yǔ)言的主程序,通常要用一個(gè)while(1)語(yǔ)句來(lái)讓程序進(jìn)入一個(gè)無(wú)限循環(huán),目的是為了讓程序一直保持在我
相關(guān)推薦
11個(gè)單片機(jī)程序設(shè)計(jì)經(jīng)典項(xiàng)目!25個(gè)項(xiàng)目資料免費(fèi)放送!
單片機(jī)項(xiàng)目學(xué)習(xí)過(guò)程中最簡(jiǎn)單的項(xiàng)目。這里我們做為一個(gè)項(xiàng)目設(shè)計(jì),詳細(xì)敘述項(xiàng)目實(shí)現(xiàn)的基本過(guò)程。1.電路設(shè)計(jì)電路硬件是單片機(jī)項(xiàng)目實(shí)現(xiàn)的基礎(chǔ),在項(xiàng)目設(shè)計(jì)過(guò)程中必須先設(shè)計(jì)項(xiàng)目的電路原理。為了提高程序和電路的聯(lián)調(diào)效果
2016-06-21 20:44:36
51單片機(jī)C語(yǔ)言程序學(xué)習(xí)筆記
51單片機(jī)C語(yǔ)言程序(二)定時(shí)/計(jì)數(shù)器?中斷程序一利用定時(shí)/計(jì)數(shù)器T0從P1.0輸出周期為1s 的方波,讓發(fā)光二極管以1HZ閃爍,#include? //52單片機(jī)頭文件#include//包含
2021-07-15 09:31:06
51單片機(jī)如何去點(diǎn)亮第一個(gè)LED呢
51單片機(jī)——點(diǎn)亮第一個(gè)LED原理點(diǎn)亮LED程序#include***it led=p0^0;//通過(guò)這個(gè)變量名來(lái)代替這個(gè)管腳void main(){while(1){// 死循環(huán)讓它一直點(diǎn)亮 led=1;//輸出高電平}}LED閃爍實(shí)驗(yàn)c語(yǔ)言常用的預(yù)處理命...
2021-11-18 07:32:58
51單片機(jī)矩陣鍵盤(pán)C程序主程序
51單片機(jī)矩陣鍵盤(pán)C程序主程序1:void main(){uchar i,j,ki=0;j=0;while(1){i=key();//鍵盤(pán)循環(huán)掃描,其值賦給變量數(shù)組tableif(i!=0)//鍵盤(pán)子程序返回值非0,即有按鍵按下{ table[j]=i;//將值存在變量數(shù)組中j++;
2021-07-20 06:01:52
C語(yǔ)言單片機(jī)中延時(shí)程序是如何實(shí)現(xiàn)的
在單片機(jī)或嵌入式系統(tǒng)的程序,常常用規(guī)定次數(shù)的空循環(huán)來(lái)實(shí)現(xiàn)延時(shí)/***通過(guò)一個(gè)空循環(huán)體循環(huán)讓程序運(yùn)行一段時(shí)間。在嵌入式系統(tǒng)中,這個(gè)函數(shù)用來(lái)實(shí)現(xiàn)延時(shí)。**參數(shù):*u16i--循環(huán)次數(shù),無(wú)符號(hào)整型*返回值:*無(wú)**/voiddelay(u16i){while(i--);}
2021-07-15 06:05:00
c語(yǔ)言編程序,但是想用goto語(yǔ)句時(shí)
請(qǐng)問(wèn)在keil中我使用c語(yǔ)言編程序,但是想用goto語(yǔ)句時(shí)發(fā)現(xiàn)不用,我加了后 #include我用ljmp也不能用,我就是想根據(jù)不同的中斷端口,來(lái)跳轉(zhuǎn)到不同的主程序端口。哪位大俠能幫我我一下語(yǔ)言,或者換一種算法?謝過(guò)?。?!
2012-03-04 15:40:57
一個(gè)讓燈不斷閃爍的簡(jiǎn)單程序分享
一:編程任務(wù)和思路我們來(lái)做一個(gè)讓燈不斷閃爍的簡(jiǎn)單程序。怎樣才能讓燈不斷地閃爍呢?要燈亮一段時(shí)間,再滅一段時(shí)間,也就是說(shuō)要P1口不斷地輸出高和低電平。編程思路:在執(zhí)行完SETB P1后,延時(shí)一
2021-12-06 06:01:05
一個(gè)關(guān)于while無(wú)限循環(huán)的問(wèn)題
有哪位朋友能告訴我,我下面這段程序為什么實(shí)現(xiàn)不了預(yù)想的要求。 我的想法是,主程序的while循環(huán)就等待中斷的發(fā)生。一旦中斷發(fā)生就跳出循環(huán)。但實(shí)際情況不是這樣。敬請(qǐng)高人指點(diǎn)。 char show
2016-03-12 19:56:51
一個(gè)最簡(jiǎn)單的單片機(jī)程序
不管他,以后慢慢學(xué)到,上面的程序需要在一個(gè)名為“Keil uVision2”的軟件中匯編完成,匯編后得到一個(gè)*.hex文件,這就是目標(biāo)文件,然后用編程器將該文件“寫(xiě)”到單片機(jī)89s51中,這樣該
2020-09-03 07:26:11
一個(gè)簡(jiǎn)單實(shí)用的MCU程序框架分享
?前面的文章介紹了一個(gè)簡(jiǎn)單實(shí)用的MCU程序框架,定時(shí)節(jié)拍的加入,這一篇文章來(lái)介紹串口接收怎樣加入到框架中。?單片機(jī)的串口接收通常是在中斷里。如果數(shù)據(jù)解析在串口里邊,那很多跟主程序共享的資源就容易沖突
2022-01-21 08:11:52
一直用匯編要改成C語(yǔ)言,好難啊
做的設(shè)計(jì),強(qiáng)逼著自己不去用匯編,抱著C語(yǔ)言的書(shū)學(xué)習(xí),手頭一本51單片機(jī)開(kāi)發(fā)與應(yīng)用技術(shù)詳解,一直在看,總看不進(jìn)去啊。 各位老師啊,學(xué)習(xí)單片機(jī)C語(yǔ)言我是從頭把C語(yǔ)言變量--函數(shù)--語(yǔ)句流程……這些都學(xué)完然后再
2012-03-22 16:16:48
主程序一直在下列循環(huán)中是哪里的問(wèn)題
各位大哥:主程序一直在下列循環(huán)中是哪里的問(wèn)題。請(qǐng)指教,謝謝!void _Error_Handler(char * file, int line){/* USER CODE BEGIN
2018-08-24 15:35:36
單片機(jī)C語(yǔ)言程序該這樣寫(xiě)
寫(xiě)單片機(jī)程序也是程序,也要遵循寫(xiě)軟件的一些基本原則,不是為了完成功能那么簡(jiǎn)單。我看過(guò)的所有的C語(yǔ)言單片機(jī)書(shū)籍基本都不注重模塊化思想,完全是拿著C當(dāng)匯編用,簡(jiǎn)直是在糟蹋C語(yǔ)言! 如下問(wèn)題,幾乎所有
2018-08-06 15:06:06
單片機(jī)C語(yǔ)言之流水燈(帶延時(shí)子程序)
《單片機(jī)C語(yǔ)言之流水燈(帶延時(shí)子程序).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)C語(yǔ)言之流水燈(帶延時(shí)子程序).ppt(12頁(yè)珍藏版)》請(qǐng)?jiān)谌巳宋膸?kù)網(wǎng)上搜索。1、單片機(jī)C語(yǔ)言應(yīng)用100例
2021-07-15 07:12:39
單片機(jī)C語(yǔ)言的主程序為什么要加一個(gè)while(1)語(yǔ)句
單片機(jī)C語(yǔ)言的主程序,通常要用一個(gè)while(1)語(yǔ)句來(lái)讓程序進(jìn)入一個(gè)無(wú)限循環(huán),目的是為了讓程序一直保持在我們需要運(yùn)行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問(wèn),如果程序不加
2021-07-15 09:40:50
單片機(jī)C語(yǔ)言的主程序如果不加while(1)會(huì)出現(xiàn)什么情況
單片機(jī)C語(yǔ)言的主程序,通常要用一個(gè)while(1)語(yǔ)句來(lái)讓程序進(jìn)入一個(gè)無(wú)限循環(huán),目的是為了讓程序一直保持在我們需要運(yùn)行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問(wèn),如果程序不加
2021-07-15 10:16:19
單片機(jī)C語(yǔ)言的延時(shí)程序
標(biāo)準(zhǔn)的C語(yǔ)言中沒(méi)有空語(yǔ)句。但在單片機(jī)的C語(yǔ)言編程中,經(jīng)常需要用幾個(gè)空指令產(chǎn)生短延時(shí)的效果。 這在匯編語(yǔ)言中很容易實(shí)現(xiàn),寫(xiě)幾個(gè)nop就行了。 在keil C51中,直接調(diào)用庫(kù)函數(shù): #include
2018-07-13 07:06:49
單片機(jī)一直執(zhí)行上一個(gè)程序的命令
不管我輸入什么命令,單片機(jī)一直在執(zhí)行上一個(gè)命令,比如說(shuō)我上一個(gè)命令是實(shí)現(xiàn)一個(gè)數(shù)碼管的動(dòng)態(tài)顯示(1),但是不管當(dāng)我寫(xiě)了幾個(gè)數(shù)碼管的動(dòng)態(tài)顯示,還是別的什么程序,單片機(jī)一直在重復(fù)第一個(gè)命令(1),我用的是普中的單片機(jī)
2018-08-24 09:42:41
單片機(jī)程序求一個(gè)!
求大神給個(gè)STC89C52電子密碼鎖程序啊,24C02儲(chǔ)存,LCD1602顯示的,論壇網(wǎng)上找了很多都不行啊。我的單片機(jī)就是開(kāi)發(fā)板買(mǎi)的一套,我覺(jué)得原理圖和別人應(yīng)該差不了多少吧,怎么下載就沒(méi)用,哎。跪求大神。(附件單片機(jī)原理圖,還有一個(gè)別人的程序,只是和我板子不匹配,幫我改改程序也行謝謝。)
2016-05-23 11:38:16
單片機(jī)程序該如何優(yōu)化?
、work 等。3、程序結(jié)構(gòu)C 語(yǔ)言是一種高級(jí)程序設(shè)計(jì)語(yǔ)言,提供了十分完備的規(guī)范化流程控制結(jié)構(gòu)。因此在采用C 語(yǔ)言設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)程序時(shí),首先要注意盡可能采用結(jié)構(gòu)化的程序設(shè)計(jì)方法,這樣可使整個(gè)
2020-06-07 09:34:55
單片機(jī)不管燒錄啥程序都是一直正在檢測(cè)中的原因?
單片機(jī)今天剛到,打開(kāi)燒錄的時(shí)候一直顯示正在檢測(cè)單片機(jī),沒(méi)有一次顯示操作成功,但是單片機(jī)一直顯示的是商家的測(cè)試程序,不管燒錄啥程序都是一直正在檢測(cè)中,啥方法都用了,還是燒錄不進(jìn)去程序。希望大家?guī)蛶兔?/div>
2023-10-07 06:00:30
單片機(jī)為什么一直用C語(yǔ)言,不用其他編程語(yǔ)言
最適合單片機(jī)開(kāi)發(fā)的編程語(yǔ)言實(shí)在太過(guò)晦澀難懂,并且每一種單片機(jī)的匯編指令有很大區(qū)別,所以想把一個(gè)程序從這種單片機(jī)移植到另一種單片機(jī)簡(jiǎn)直是癡心妄想,還不如重新寫(xiě)一遍程序。而C語(yǔ)言代碼執(zhí)行效率高,也比較精簡(jiǎn),更便于移植......所以在現(xiàn)今的單片機(jī)編程語(yǔ)言中,C語(yǔ)言才會(huì)占據(jù)絕對(duì)主導(dǎo)地位
2020-05-19 14:23:07
單片機(jī)為什么一直用C語(yǔ)言,不用其他編程語(yǔ)言?
最適合單片機(jī)開(kāi)發(fā)的編程語(yǔ)言實(shí)在太過(guò)晦澀難懂,并且每一種單片機(jī)的匯編指令有很大區(qū)別,所以想把一個(gè)程序從這種單片機(jī)移植到另一種單片機(jī)簡(jiǎn)直是癡心妄想,還不如重新寫(xiě)一遍程序。而C語(yǔ)言代碼執(zhí)行效率高,也比較精簡(jiǎn),更便于移植......所以在現(xiàn)今的單片機(jī)編程語(yǔ)言中,C語(yǔ)言才會(huì)占據(jù)絕對(duì)主導(dǎo)地位
2020-06-30 10:30:41
單片機(jī)之精確延時(shí)程序的學(xué)習(xí)
); for(j=110;j>0;j--);}}因?yàn)?b class="flag-6" style="color: red">單片機(jī)一旦上了電就是不停地工作了,除非你拔掉電源,才會(huì)停止工作。在此程序中用了一個(gè)while(1)無(wú)限制循環(huán)來(lái)實(shí)現(xiàn)單片機(jī)的不停地工作。由于是要使發(fā)光二極管
2011-03-26 20:30:40
單片機(jī)延時(shí)c程序如何計(jì)算?
=248;k>0;k--); }void main(void)//每一個(gè)C語(yǔ)言程序有且只有一個(gè)主函數(shù),{while(1)//循環(huán)條件永遠(yuǎn)為真,以下程序一直執(zhí)行下去。 {P1_0=0;// I/O口
2013-03-14 22:46:59
單片機(jī)控制小燈亮、滅,延時(shí)、一直循環(huán),C語(yǔ)言編程
`新手,做一樣?xùn)|西,假設(shè)用P0~0控制綠燈的亮滅,P1~0控制黃燈的亮滅,P2~0控制紅燈的亮滅,用單片機(jī)控制綠燈亮、滅各延時(shí)一小時(shí),并且一直循環(huán),半個(gè)月后黃燈亮并且綠燈同時(shí)亮,持續(xù)5分鐘后黃燈滅
2015-05-26 10:23:39
單片機(jī)教程(4)第一個(gè)單片機(jī)小程序
,讓計(jì)算機(jī)再去執(zhí)行第一條指令,持續(xù)地在原地兜圈,我們稱之為"循環(huán)",這樣就能完成任務(wù)了。以下先給出程序(后面括號(hào)中的數(shù)字是為了便于講解而寫(xiě)的,實(shí)際不用輸入):;主程序:LOOP
2018-06-12 10:49:06
單片機(jī)有鎖存為什么還需要while循環(huán)
保證萬(wàn)無(wú)一失;單片機(jī)C語(yǔ)言的主程序,通常要用一個(gè)while(1)語(yǔ)句來(lái)讓程序進(jìn)入一個(gè)無(wú)限循環(huán),目的是為了讓程序一直保持在我們需要運(yùn)行的情況下。 雖然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問(wèn),如...
2021-07-13 09:51:16
在一個(gè)程序里面怎么讓一個(gè)未執(zhí)行完的事件立即結(jié)束進(jìn)入下一個(gè)事件
在一個(gè)程序里面怎么讓一個(gè)未執(zhí)行完的事件立即結(jié)束進(jìn)入下一個(gè)事件,該用什么結(jié)構(gòu)才能實(shí)現(xiàn)。
2018-02-24 11:08:00
在主程序中如何設(shè)置一個(gè)Bool控件打開(kāi)關(guān)閉SubVI?
主程序是一個(gè)循環(huán)程序,就是想問(wèn)下如何才能在主程序用一個(gè)Bool控件來(lái)對(duì)subVI進(jìn)行操作,簡(jiǎn)單點(diǎn)說(shuō)就是讓subVI顯示前面板。已經(jīng)使用過(guò)的方法:1.屬性節(jié)點(diǎn):主程序運(yùn)行就會(huì)彈出subVI 的對(duì)話框
2017-09-15 11:48:01
在仿真執(zhí)行自定義custom指令時(shí),只能執(zhí)行軟件程序中所調(diào)用第一條是為什么?
,vivado仿真中能夠進(jìn)入lbuf狀態(tài)并完成后退出至idle狀態(tài),但此后仿真一直保持在idle狀態(tài),不能執(zhí)行之后的c語(yǔ)言句子了,緊接著的打印nice aes done 的命令并不能實(shí)現(xiàn)。當(dāng)然之后的調(diào)用其他
2023-08-16 07:07:57
程序沒(méi)循環(huán)led燈為什么還一直閃
){ unsigned char j; for(;i>0;i--)for(j=255;j>0;j--);}為什么;倆個(gè)程序燒錄到單片機(jī)的結(jié)果是一樣的呢 led燈一直閃沒(méi)有循環(huán)的不應(yīng)該只閃一次嗎?
2013-03-01 17:00:30
AVR單片機(jī)C語(yǔ)言程序框架(單片機(jī)最簡(jiǎn)操作系統(tǒng))及詳解
本帖最后由 lvhoujun 于 2014-2-28 00:37 編輯
這是本人以ATMEGA128為例編寫(xiě)的C語(yǔ)言程序框架,做簡(jiǎn)單的修改即適合AVR所有單片機(jī)??梢哉f(shuō)是一個(gè)單片機(jī)最簡(jiǎn)操作系統(tǒng)
2014-02-12 20:27:23
STC單片機(jī)C語(yǔ)言程序設(shè)計(jì)
STC單片機(jī)C語(yǔ)言程序設(shè)計(jì) 第11章 STC單片機(jī)C語(yǔ)言描述語(yǔ)句STC單片機(jī)C語(yǔ)言描述語(yǔ)句主講輸入輸出語(yǔ)句在完整的計(jì)算機(jī)系統(tǒng)中,包含輸入輸出設(shè)備。典型的,在以PC機(jī)/筆記本為代表的計(jì)算機(jī)系統(tǒng)中,默認(rèn)
2021-07-15 06:09:58
STM32單片機(jī)DEBUG進(jìn)入不了主程序的原因
STM32單片機(jī)DEBUG進(jìn)入不了主程序1.上電不運(yùn)行,DEBUG還進(jìn)入不了主程序2.總結(jié)2.1 STM32單片機(jī)Flash分類2.2 關(guān)于boot腳的設(shè)置3.其他DEBUG模式不能進(jìn)入主程序的原因
2021-11-29 06:52:09
STM8如何跳出雙層循環(huán),加密程序等問(wèn)題
()//假設(shè)這個(gè)是按鍵處理程序 方案2:if(SWITCH==0;)return;//這是主程序掃描程序之一,獲取鍵值后賦值SWITCH,打開(kāi)按鍵處理入口,讓單片機(jī)掃過(guò)去處理鍵值,然后下一
2018-09-11 10:14:45
stm32程序在一個(gè)位置無(wú)限循環(huán)
; while(tim[ 0 ] < 1000);按理說(shuō)程序在這個(gè)位置會(huì)延遲1秒鐘可是事實(shí)這樣會(huì)是無(wú)限循環(huán)當(dāng)然,解決這個(gè)問(wèn)題的辦法是 tim[0] = 0; while(tim[ 0 ] <
2019-03-05 01:36:49
——求 單片機(jī)如何讓兩個(gè)程序同時(shí)運(yùn)行 求 高手解決———
本帖最后由 eehome 于 2013-1-5 09:53 編輯
求 單片機(jī)如何讓兩個(gè)程序同時(shí)運(yùn)行我用一個(gè)單片機(jī)的P1和P3口控制16個(gè)LED做 跑馬燈用P0和P2口控制一個(gè)8x8點(diǎn)陣 顯示
2012-12-12 22:20:32
【我是電子發(fā)燒友】PIC單片機(jī)引腳中斷程序設(shè)計(jì)技巧
所有的中檔系列PIC單片機(jī),PORTB端口最高的4個(gè)引腳(RB7~RB4)在設(shè)為輸入模式時(shí),當(dāng)輸入電平由高到低或由低到高發(fā)生變化時(shí),可以讓單片機(jī)產(chǎn)生中斷。這就是通常所說(shuō)的引腳狀態(tài)變化中斷。在設(shè)計(jì)引腳
2017-05-10 14:52:40
【原創(chuàng)分享】單片機(jī)C語(yǔ)言If和for等基本語(yǔ)句結(jié)構(gòu)
本帖最后由 松山歸人 于 2021-6-22 10:17 編輯
作者:張角老師(張飛實(shí)戰(zhàn)電子高級(jí)工程師)同學(xué)們好,我們從今天開(kāi)始探討單片機(jī)C語(yǔ)言,我們首先從if和for等基本語(yǔ)句結(jié)構(gòu)開(kāi)始
2021-06-21 13:27:01
【跟我學(xué)單片機(jī)C語(yǔ)言】單片機(jī)C51循環(huán)語(yǔ)句
本帖最后由 eehome 于 2013-1-5 10:03 編輯
【跟我學(xué)單片機(jī)C語(yǔ)言】單片機(jī)C51循環(huán)語(yǔ)句這個(gè)語(yǔ)句在很多高級(jí)語(yǔ)言中都會(huì)有,記得小時(shí)候用 BASIC 時(shí)就很喜歡用這個(gè)語(yǔ)句。它是
2011-12-19 14:57:30
【跟我學(xué)單片機(jī)C語(yǔ)言】全面分析C51表達(dá)式語(yǔ)句及仿真器
語(yǔ)句是最基本的一種語(yǔ)句。不一樣的程序設(shè)計(jì)語(yǔ)言都會(huì)有不一樣的表達(dá)式語(yǔ)句,如VB就是在表達(dá)式后面加入回車就構(gòu)成了VB 的表達(dá)式語(yǔ)句,而在51單片機(jī)的C語(yǔ)言中則是加入分號(hào)“;”構(gòu)成表達(dá)式語(yǔ)句。舉例如下:b=b
2011-12-12 10:27:00
【跟我學(xué)單片機(jī)C語(yǔ)言】帶你了解C51循環(huán)語(yǔ)句
循環(huán)語(yǔ)句是幾乎每個(gè)程序都會(huì)用到的,它的作用就是用來(lái)實(shí)現(xiàn)需要反復(fù)進(jìn)行多次的操 作。如一個(gè) 12M 的 51 芯片應(yīng)用電路中要求實(shí)現(xiàn) 1 毫秒的延時(shí),那么就要執(zhí)行 1000 次空語(yǔ)句 才能達(dá)到延時(shí)的目的
2011-12-15 10:07:51
兩個(gè)單片機(jī)通過(guò)串口進(jìn)行通信,如何讓它們的輸出時(shí)間保持一致?
兩個(gè)單片機(jī)通過(guò)串口進(jìn)行通信,如何讓它們的輸出時(shí)間保持一致?因?yàn)榘l(fā)送到接受再到處理是有延遲的,我的方法是根據(jù)硬件情況的測(cè)試,去進(jìn)行延時(shí)來(lái)保持輸出時(shí)間的一致性。有沒(méi)有更好的方法?或者更合理的延遲時(shí)間計(jì)算方法。頻率12M,輸出時(shí)間差保持在5us。
2020-03-23 15:07:31
為什么一個(gè)簡(jiǎn)單的循環(huán)計(jì)數(shù)都會(huì)讓系統(tǒng)進(jìn)入硬件異常呢?
函數(shù)_eth_delay_出 就會(huì)進(jìn)入hardfault_handler,為什么一個(gè)簡(jiǎn)單的循環(huán)計(jì)數(shù)都會(huì)讓系統(tǒng)進(jìn)入硬件異常呢?
2019-09-04 19:25:47
為什么程序總是自動(dòng)進(jìn)入串口中斷?
菜鳥(niǎo)請(qǐng)教各位前輩,為什么一下這段程序會(huì)自動(dòng)進(jìn)入中斷,我想要用上位機(jī)發(fā)送“0xff”,下位機(jī)才進(jìn)行回應(yīng),但是我用串口助手發(fā)送0xff以后就中斷就一直在循環(huán),中斷不是只有在接收到數(shù)據(jù)才會(huì)
2019-09-25 00:37:19
為什么STC15W408AS單片機(jī)一直無(wú)法下載程序?
我使用STC15W408AS單片機(jī),編了一個(gè)簡(jiǎn)單的點(diǎn)燈程序(下載不進(jìn)去好像和程序無(wú)關(guān)吧),可就是下載不進(jìn)去,誰(shuí)能幫忙分析一下呢,一直檢測(cè)單片機(jī),下載軟件設(shè)置如圖(單片機(jī)沒(méi)接外部晶振):
2019-09-12 02:54:22
為什么會(huì)出現(xiàn)中斷的概念呢?這個(gè)概念是為了解決什么問(wèn)題
是為了解決什么問(wèn)題?比如我們有一個(gè)功能,按鍵按下,led等亮起。這個(gè)很好實(shí)現(xiàn),主程序進(jìn)入cpu然后一直while循環(huán),去檢測(cè)按鍵所在gpio口的狀態(tài),如果發(fā)生改變那個(gè)就去控制led燈的gpio口的狀態(tài)
2022-01-05 08:02:31
為何要加一句while死循環(huán)讓程序停留在main函數(shù)中呢?
為何要加一句while死循環(huán)讓程序停留在main函數(shù)中呢?將while(1);語(yǔ)句去掉有什么影響么?
2021-07-15 12:44:01
你不知道的PIC單片機(jī)中斷程序的設(shè)計(jì)技巧
人口只有一個(gè),在響應(yīng)中斷的請(qǐng)求時(shí),PIC單片機(jī)就會(huì)自動(dòng)把全局中斷的使能位(INTCON的第7位GIF)清除,這樣其他中斷就暫時(shí)不能被響應(yīng)(此時(shí),如果別的中斷發(fā)出的中斷請(qǐng)求,標(biāo)志位將一直保留著),直到這個(gè)
2011-11-15 13:58:45
關(guān)于while(1);循環(huán)使用的一些問(wèn)題
你設(shè)置break等類似的跳出循環(huán)語(yǔ)句循環(huán)才會(huì)中止。1就是永遠(yuǎn)為真,所以說(shuō)while(1)就是個(gè)死循環(huán),我們需要程序不斷回到開(kāi)始或者某一點(diǎn)開(kāi)始執(zhí)行,我們就會(huì)使用一個(gè)while(1)循環(huán)。單片機(jī)中while
2015-05-12 10:51:08
關(guān)于STM32 SD存儲(chǔ)程序的一個(gè)問(wèn)題
以下是鄙人測(cè)試中的一個(gè)代碼,用來(lái)將數(shù)據(jù)存儲(chǔ)到SD中,現(xiàn)在的問(wèn)題是,如果這段程序單獨(dú)的在while(1)循環(huán)里,是可以一直存儲(chǔ)數(shù)據(jù)的,但是一旦這段程序放下了if的條件語(yǔ)句下面,就無(wú)法將數(shù)據(jù)保存到SD卡
2015-10-16 11:07:01
分享PIC單片機(jī)的C語(yǔ)言程序一實(shí)例
分享PIC單片機(jī)的C語(yǔ)言程序一實(shí)例1.賦值語(yǔ)句和賦值表達(dá)1)賦值語(yǔ)句賦值語(yǔ)句是C語(yǔ)言中最常用的一種語(yǔ)句,如公式中的計(jì)算,一般都是通過(guò)賦值語(yǔ)句完成的,賦值語(yǔ)句的格式為:標(biāo)識(shí)符二表達(dá)式;等式左邊的標(biāo)識(shí)符
2009-09-17 15:24:25
利用C語(yǔ)言編寫(xiě)PIC單片機(jī)程序的方法是什么
PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)1 7學(xué)電子跟我來(lái)FOLLOW MEPIC 單片機(jī)C 語(yǔ)言程序設(shè)計(jì)(1)◆丁錦滔編者按:為了幫助具有PI C 單片機(jī)匯編語(yǔ)言知識(shí)的技術(shù)人員或工程師,快速掌握利用C 語(yǔ)言編寫(xiě)
2021-07-15 08:40:22
如何讓一個(gè)單片機(jī)點(diǎn)亮一個(gè)LED
剛開(kāi)始學(xué)單片機(jī),這兩天學(xué)了:1.如何讓一個(gè)點(diǎn)亮一個(gè)LED。2.如何讓一個(gè)小燈閃爍。3.實(shí)現(xiàn)一個(gè)簡(jiǎn)單的流水燈。#includetypedef unsigned char u8;typedef
2021-12-02 07:19:32
如何使得單片機(jī)的LED燈閃爍又不影響主程序運(yùn)行?
51單片機(jī)問(wèn)題,緊急求助!
怎樣使得單片機(jī)的LED燈閃爍又不影響主程序運(yùn)行???
我想通過(guò)單片機(jī)接收串口命令讓一個(gè)LED燈閃爍,但同時(shí)又不影響其他程序的運(yùn)行,應(yīng)該怎樣去寫(xiě)這個(gè)程序呢
2023-11-06 07:18:41
如何利用單片機(jī)讓蜂鳴器一直響
#include***it FMQ36=P3^6;想要蜂鳴器發(fā)聲,那么我們需要的是給蜂鳴器高低電平,這樣才能讓蜂鳴器發(fā)出聲音。這里我們需要的是讓蜂鳴器一直響,所以我們將程序寫(xiě)在while里面。#include***it FMQ36=.
2021-11-22 06:23:21
如圖程序一直在跑,波形圖表也一直在刷新,請(qǐng)問(wèn)如何讓labview波形圖表暫停刷新?
如圖,程序一直在跑,波形圖表也一直在刷新。有什么方法讓波形圖表停止刷新,方便擴(kuò)大觀看細(xì)節(jié),而不停止程序運(yùn)行?
2018-06-28 11:13:13
如果程序不加while(1)會(huì)出現(xiàn)什么情況
單片機(jī)C語(yǔ)言的主程序,通常要用一個(gè)while(1)語(yǔ)句來(lái)讓程序進(jìn)入一個(gè)無(wú)限循環(huán),目的是為了讓程序一直保持在我們需要運(yùn)行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問(wèn),如果程序不加while(1)會(huì)出現(xiàn)什么情況,對(duì)于這種好學(xué)精神,還是值得贊揚(yáng)的,做學(xué)問(wèn)就需要有追根問(wèn)...
2021-07-16 06:46:02
幫忙寫(xiě)個(gè)——一直按鍵盤(pán)讀入數(shù)據(jù)就可以一直輸出的程序
我對(duì)c語(yǔ)言不熟悉,請(qǐng)求幫忙寫(xiě)個(gè)程序,情況如下:從鍵盤(pán)上讀入數(shù)字,例如從鍵盤(pán)上讀入1,則輸出1,如果鍵盤(pán)沒(méi)有輸入,則停1秒執(zhí)行下一條語(yǔ)句。這樣的話,如果我一直按鍵盤(pán)讀入數(shù)據(jù)就可以一直輸出。謝謝了
2012-01-12 22:43:41
并發(fā)性程序在寫(xiě)裸機(jī)軟件時(shí)有while(1) 循環(huán)
第一、并發(fā)性程序并發(fā)工作效率低在寫(xiě)裸機(jī)軟件時(shí),不可避免的在主程序中會(huì)有一個(gè)超級(jí)大的 while(1) 循環(huán),這里面幾乎包含整個(gè)項(xiàng)目的所有業(yè)務(wù)邏輯。因?yàn)槊總€(gè)業(yè)務(wù)邏輯里面都會(huì)有 delay 這樣的循環(huán)
2021-08-20 06:47:31
怎么保持一個(gè)外部來(lái)的高電平脈沖
新人想問(wèn)下大蝦們,怎么保持一個(gè)外部來(lái)的高電平脈沖,讓它一直保持高電平,單片機(jī)讀取后再?gòu)?fù)位,等待下一個(gè)高電平的到來(lái),請(qǐng)問(wèn)用什么芯片可以實(shí)現(xiàn)呢
2015-06-16 15:26:08
怎么讓程序運(yùn)行幾分鐘停幾分鐘,然后一直循環(huán)下去呢
本帖最后由 我想看看太陽(yáng) 于 2022-6-8 14:55 編輯
怎么讓程序運(yùn)行幾分鐘停幾分鐘,然后一直循環(huán)下去,需要添加什么模塊呢
2022-06-08 10:01:08
怎么讓labview主程序運(yùn)行時(shí),子程序也在運(yùn)行,我點(diǎn)擊彈出按鈕的時(shí)候,只是顯示子程序,子程序一直都在后臺(tái)運(yùn)行
怎么讓labview主程序運(yùn)行時(shí),子程序也在運(yùn)行,我點(diǎn)擊彈出按鈕的時(shí)候,只是顯示子程序,子程序一直都在后臺(tái)運(yùn)行。比方說(shuō)我的報(bào)警界面,按照要求是一只要運(yùn)行的。用選項(xiàng)卡界面做,是可以實(shí)現(xiàn)這個(gè)功能的,但是感覺(jué)選項(xiàng)卡界面不夠美觀,我這里說(shuō)的是彈窗界面。謝謝指點(diǎn)
2017-08-16 08:27:48
怎么用C#編寫(xiě)一個(gè)上位機(jī)程序來(lái)控制單片機(jī)
求助,怎么用C#編寫(xiě)一個(gè)上位機(jī)程序來(lái)控制單片機(jī),讓單片機(jī)采集直流調(diào)速的速度,根據(jù)反饋的速度顯示在上位機(jī)上,怎么用串口通信實(shí)現(xiàn)啊,跪求各位大神啊
2013-04-23 20:38:03
新人對(duì)while(1)語(yǔ)句的一個(gè)提問(wèn)
剛剛開(kāi)始學(xué)單片機(jī),寫(xiě)了一個(gè)燈亮的程序,可是為什么在while循環(huán)里,最后的效果是八個(gè)燈全亮,感覺(jué)不科學(xué)的樣子ovovoid main(){while(1){P1=0x00;P1=0xfe;}}
2016-09-22 15:41:19
新人求助C51的一個(gè)程序問(wèn)題....萬(wàn)分感謝
剛學(xué)單片機(jī)2天 ,有一定C語(yǔ)言基礎(chǔ)。 剛編一個(gè)4個(gè)按鍵控制4種不同的流水燈,可是運(yùn)行的時(shí)候,當(dāng)按下其中一個(gè)鍵之后,它就一直循環(huán)那一個(gè)流水燈,剩下的怎么按也不管用了,下面是程序 ,請(qǐng)問(wèn)應(yīng)該用什么方法在
2013-09-29 10:37:11
新手求助:怎么給labview程序加一個(gè)燈讓程序運(yùn)行的時(shí)候一直亮著,運(yùn)行完了就熄滅
怎么給labview程序加一個(gè)燈讓程序運(yùn)行的時(shí)候一直亮著,運(yùn)行完了就熄滅
2017-02-15 07:58:03
有關(guān)單片機(jī)C語(yǔ)言中while(1)的問(wèn)題
單片機(jī)C語(yǔ)言中while(1)的問(wèn)題 單片機(jī)C語(yǔ)言的主程序,通常要用一個(gè)while(1)語(yǔ)句來(lái)讓程序進(jìn)入一個(gè)無(wú)限循環(huán),目的是為了讓程序一直保持在我們需要運(yùn)行的情況下。 雖然這種做法毋庸置疑,在網(wǎng)
2021-07-16 07:31:05
求一個(gè)紅外接收單片機(jī)程序
急求高手、大師、大神們幫幫忙了,一個(gè)紅外接收的簡(jiǎn)單的C語(yǔ)言源碼程序,最好是要有注解的,64位的單片機(jī)有,下載軟件有,下載硬件有,就差一個(gè)單片機(jī)程序
2018-05-06 16:09:57
求助一個(gè)單片機(jī)燈程序
單片機(jī)的編程程序,不要C語(yǔ)言的 不知哪位會(huì)幫下我 謝謝在論壇里回復(fù)或QQ395230628 傳給我程序.TXT的謝謝
2011-11-20 14:18:09
點(diǎn)亮Led深入研究,主程序為什么一直循環(huán)?
在51單片機(jī)執(zhí)行完(第一次)主程序為什么還會(huì)循環(huán),并沒(méi)有循環(huán)語(yǔ)句,為什么?主程序就是簡(jiǎn)單的四句話如下:Void main(void){Led=0;延時(shí);led=1;延時(shí);}正?,F(xiàn)象應(yīng)該是燈亮一次滅掉,但是此程序為什么燈會(huì)一閃一閃,閃說(shuō)明單片機(jī)再一次又一次的執(zhí)行主函數(shù)在循環(huán),為什?
2015-05-29 08:07:48
第一個(gè)單片機(jī)程序是什么
第一個(gè)單片機(jī)程序:純文本復(fù)制#include//包含特殊功能寄存器定義的頭文件***it LED = P0^0;//位地址聲明,注意:***it 必須小寫(xiě)、P 大寫(xiě)!void main(){//任何
2021-07-14 07:54:27
請(qǐng)教個(gè)單片機(jī)主程序編寫(xiě)的問(wèn)題
請(qǐng)教個(gè)單片機(jī)主程序編寫(xiě)的問(wèn)題,一般加上while(1)不是讓程序一直跑么,但是我現(xiàn)在有個(gè)問(wèn)題就是:我的程序有兩個(gè)部分。一部分要一直刷新,但是令一部分則要運(yùn)行一次就停止,這該怎么編呢。
2016-05-15 20:36:11
請(qǐng)教幾個(gè)單片機(jī)程序規(guī)范的問(wèn)題
如果有一個(gè)比較大的單片機(jī)工程,用到了挺多中斷,那么單片機(jī)代碼應(yīng)該是主要在中斷服務(wù)程序中,而在main函數(shù)中簡(jiǎn)單進(jìn)行初始化工作,讓while循環(huán)中盡可能少干活,,,,,還是應(yīng)該讓主要的工作在main
2014-09-01 10:34:10
請(qǐng)教各位大神程序中的while(1)寫(xiě)成了死循環(huán),但還想讓其執(zhí)行下面的另一個(gè)循環(huán)內(nèi)容,并保持第一個(gè)while還運(yùn)行。
請(qǐng)教各位大神程序中的while(1)寫(xiě)成了死循環(huán),但還想讓其執(zhí)行下面的另一個(gè)循環(huán)內(nèi)容,并保持第一個(gè)while還一直在運(yùn)行。比如第一個(gè)while里是ad采集程序需要一直采集。應(yīng)該怎么寫(xiě)那?必須中斷嗎?有其他方法嗎?
2017-06-12 12:03:00
請(qǐng)問(wèn)在keil中我使用c語(yǔ)言編程序,但是想用goto語(yǔ)句時(shí)發(fā)現(xiàn)不
請(qǐng)問(wèn)在keil中我使用c語(yǔ)言編程序,但是想用goto語(yǔ)句時(shí)發(fā)現(xiàn)不用,我加了后#include我用ljmp也不能用,我就是想根據(jù)不同的中斷端口,來(lái)跳轉(zhuǎn)到不同的主程序端口。哪位大俠能幫我我一下語(yǔ)言,或者換一種算法?謝過(guò)?。?!
2012-03-03 17:26:26
請(qǐng)問(wèn)如何讓在循環(huán)結(jié)構(gòu)中的布爾燈保持前一個(gè)循環(huán)的值的狀態(tài)
大佬們,我做的是一個(gè)車庫(kù)的車位檢測(cè),通過(guò)判斷測(cè)距來(lái)判斷車位,通過(guò)布爾燈來(lái)表示狀態(tài),但是布爾燈沒(méi)辦法保持前一個(gè)數(shù)據(jù)的狀態(tài),循環(huán)一次結(jié)束后總是會(huì)自動(dòng)亮起,每次來(lái)假的時(shí)候就只會(huì)閃一下,怎么讓燈的狀態(tài)保持呀?
2019-05-15 16:12:07
跳出雙層循環(huán),加密程序等問(wèn)題解答
()//假設(shè)這個(gè)是按鍵處理程序方案2:if(SWITCH==0;)return;//這是主程序掃描程序之一,獲取鍵值后賦值SWITCH,打開(kāi)按鍵處理入口,讓單片機(jī)掃過(guò)去處理鍵值,然后下一句是KEY_Deal
2018-09-07 16:14:42
C語(yǔ)言入門(mén)教程-if語(yǔ)句和while循環(huán)
if語(yǔ)句和while循環(huán)
C語(yǔ)言中,if語(yǔ)句和while循環(huán)都會(huì)用到布爾表達(dá)式。下面是一個(gè)使用if語(yǔ)句的簡(jiǎn)單例子:
#include
2009-07-29 10:48:32
8304

單片機(jī)C語(yǔ)言教程-基礎(chǔ)語(yǔ)句
單片機(jī)C語(yǔ)言教程-基礎(chǔ)語(yǔ)句
C語(yǔ)言入門(mén)之基礎(chǔ)語(yǔ)句 從程序流程的角度來(lái)看,程序可以分為三種基本結(jié)構(gòu),即順序結(jié)構(gòu)、分支
2010-03-27 17:15:46
3059

C語(yǔ)言程序設(shè)計(jì)教程之如何設(shè)計(jì)循環(huán)結(jié)構(gòu)
本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言程序設(shè)計(jì)教程之如何設(shè)計(jì)循環(huán)結(jié)構(gòu)主要內(nèi)容包括了:1 while語(yǔ)句2 do-while語(yǔ)句3 for 語(yǔ)句4 break、continue和goto語(yǔ)句5 循環(huán)的嵌套6 復(fù)合結(jié)構(gòu)程序舉例
2018-10-26 16:48:09
0

C語(yǔ)言的for循環(huán)語(yǔ)句的程序和電路圖免費(fèi)下載
1、在許多實(shí)際問(wèn)題中,需要程序進(jìn)行有規(guī)律的重復(fù)執(zhí)行,這時(shí)可以用循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)。在c語(yǔ)言中。用來(lái)實(shí)現(xiàn)循環(huán)的語(yǔ)句有for語(yǔ)句,while語(yǔ)句,do-while語(yǔ)句,goto語(yǔ)句等。
2019-08-20 17:31:00
1

單片機(jī)程序主函數(shù)中為什么一定要加while
在單片機(jī)的主程序中,我們?cè)趯?xiě)程序的時(shí)候,總是寫(xiě)一個(gè)while(1)的語(yǔ)句,以此達(dá)到讓程序進(jìn)入一個(gè)無(wú)限死循環(huán)中,其目的是讓程序一直保持在我所需要的運(yùn)行情況下,例如:流水燈的程序讓LED燈一直在交替閃爍
2019-08-15 17:32:00
0

為什么單片機(jī)的主程序是死循環(huán)
任何一個(gè)可用程序都必然是死循環(huán)程序,這不僅僅是指單片機(jī)程序。因?yàn)槿魏挝⑻幚砥飨到y(tǒng)一旦開(kāi)機(jī),系統(tǒng)都在處理內(nèi)部事件和外設(shè)響應(yīng),這個(gè)過(guò)程是一個(gè)循環(huán)過(guò)程,除非關(guān)機(jī)才能結(jié)束這個(gè)死循環(huán)程序。因此,對(duì)于單片機(jī)編程必須注意以下幾點(diǎn)
2020-07-15 17:38:43
4703

main函數(shù)中的while(1)解讀
單片機(jī)C語(yǔ)言的主程序,通常要用一個(gè)while(1)語(yǔ)句來(lái)讓程序進(jìn)入一個(gè)無(wú)限循環(huán),目的是為了讓程序一直保持在我們需要運(yùn)行的情況下?! ‰m然這種做法毋庸置疑,在網(wǎng)上還是有不少朋友有疑問(wèn),如果程序不加while(1)會(huì)出現(xiàn)什么情況,對(duì)于這種好學(xué)精神,還是值得贊揚(yáng)的,做學(xué)問(wèn)就需要有追根問(wèn)...
2021-11-15 20:51:02
50

51單片機(jī)實(shí)戰(zhàn)教程之C語(yǔ)言基礎(chǔ)(八 while循環(huán))
則跳過(guò),去執(zhí)行while循環(huán)后面的語(yǔ)句。 while 循環(huán)可以只有條件表達(dá)式,沒(méi)有循環(huán)語(yǔ)句。如while(!TF0= 0);這個(gè)實(shí)際上是T0硬件延時(shí),等待T0計(jì)數(shù)器溢出。 while循環(huán)非常有用,在單片機(jī)編程中最常見(jiàn)的是:whi...
2021-11-21 09:21:01
1

PLC編程中循環(huán)語(yǔ)句FOR和WHILE如何選擇
迭代語(yǔ)句主要用于重復(fù)執(zhí)行的程序,在 CoDeSys 中,常見(jiàn)的迭代語(yǔ)句有 FOR,REPEAT 及WHILE 語(yǔ)句。
2023-01-30 17:45:29
1695

c語(yǔ)言在while中嵌套if循環(huán)
C語(yǔ)言是一種廣泛使用的面向過(guò)程編程語(yǔ)言,它提供了許多控制結(jié)構(gòu)來(lái)幫助程序員實(shí)現(xiàn)復(fù)雜的邏輯和流程控制。其中,while循環(huán)和if語(yǔ)句是非常常見(jiàn)和重要的控制結(jié)構(gòu)。本文將詳細(xì)介紹C語(yǔ)言中在while循環(huán)
2023-11-22 10:09:52
1021

評(píng)論