奧,我解釋一下,是這樣子的,我剛剛改了一下我的程序,接收函數(shù)我使用了中斷函數(shù)來代替上面我的兩個函數(shù),然后在上位機(jī)發(fā)個0,小燈亮,發(fā)個1,小燈滅,但是我是想在上位機(jī)上發(fā)一串?dāng)?shù)(上位機(jī)是我用C#編的,調(diào)試正常),并且至少是得用數(shù)碼管甚至是液晶屏顯示的,所以我的中斷函數(shù)是這么寫的:(補(bǔ)充,2L問我數(shù)碼管函數(shù)的問題,我的靜態(tài)數(shù)碼管是74HC164串并轉(zhuǎn)換的,所以只需要兩根線,一根時鐘一根DAT,這個不是關(guān)鍵的,關(guān)鍵的是串口接收這兒) void serial (void) interrupt 4 { uint i; uchar temp; if(RI==1) { RI=0; temp=SBUF;//上位機(jī)數(shù)據(jù),送到temp 中 if(temp == '1') LED = 1;//如果上位機(jī)發(fā)了個1,那么小燈滅 if(temp == '0') LED = 0;//如果上位機(jī)發(fā)了個0,那么小燈亮 for(i=0;i<8;i++) { string=SBUF;//將從接收緩沖區(qū)得到的數(shù)據(jù)全部存在事先定義好的數(shù)組里面,然后把這個數(shù)組發(fā)到我的靜態(tài)數(shù)碼管的顯示函數(shù)里面去 } } }
[此貼子已經(jīng)被作者于2012-3-14 12:58:36編輯過]
|