zhxiufan 發(fā)表于 2022-9-4 08:05
如果僅僅是這些代碼的話,估計(jì)應(yīng)該是程序跑飛了,因?yàn)槟阒袛啻蜷_了,但是并沒有寫中斷服務(wù)程序,所以很可能 ...
wulin 發(fā)表于 2022-9-4 09:02
void UARTSendString(char *p)在沒有注釋掉的情況下,雖然沒有被你調(diào)用,但不代表后臺不能運(yùn)用。當(dāng)你強(qiáng)制TI ...
void UARTSendString(char *p)在沒有注釋掉的情況下,雖然沒有被你調(diào)用,但不代表后臺不能運(yùn)用。當(dāng)你強(qiáng)制TI = 1;后,只要開了中斷,CPU必須響應(yīng),跳轉(zhuǎn)到while (TI!=1);TI=0;。后面的這句if(TI == 1) P2_1 = 0;已經(jīng)沒有意義了。TI是由硬件自動置1,軟件清0。不是不可以人為置1,是在某些特殊運(yùn)用方式時才采用。在不了解其內(nèi)在因果關(guān)系的情況下盲目使用當(dāng)然達(dá)不到目的。樓主可以在編輯器里走單步就一目了然了。 |
censv 發(fā)表于 2022-9-4 09:32
謝謝解惑,但還是有疑問,cpu為什么會跳轉(zhuǎn)到「while (TI!=1);TI=0;」處呢?
當(dāng)我把UARTSendString函 ...
wulin 發(fā)表于 2022-9-4 10:30
改函數(shù)名導(dǎo)致出錯的形式變化并沒有改變出錯的本質(zhì)。在編輯器里走單步!走單步!走單步!重要的事情說3遍 ...
censv 發(fā)表于 2022-9-4 10:57
你可能沒有仔細(xì)看我的回復(fù),修改的并不只是函數(shù)名,而且也和函數(shù)名無關(guān)。
修改的內(nèi)容包括:函數(shù)參數(shù)(由 ...
xxxevery 發(fā)表于 2022-9-4 15:07
樓主提出這個問題其實(shí)還是很有意思的,但我覺得已經(jīng)超出了你目前的知識范圍,這已經(jīng)涉及到硬件底層操作和編 ...
censv 發(fā)表于 2022-9-4 09:32
謝謝解惑,但還是有疑問,cpu為什么會跳轉(zhuǎn)到「while (TI!=1);TI=0;」處呢?
當(dāng)我把UARTSendString函 ...
188610329 發(fā)表于 2022-9-4 18:31
void UARTInit(void) //9600bps@11.0592MHz
{
PCON &= 0x7F; //波特 ...
censv 發(fā)表于 2022-9-4 18:56
多謝回復(fù)
寫了中斷處理函數(shù),TI也不一定變0,比如空的處理函數(shù)。沒寫中斷函數(shù),跑飛能理解。
但這種處 ...
188610329 發(fā)表于 2022-9-4 19:04
沒中斷處理函數(shù), 只要你開了中斷, 中斷請求標(biāo)志位被置位,程序 100% 跑飛,至于跑飛后,是否能再跑回原 ...
censv 發(fā)表于 2022-9-4 18:56
多謝回復(fù)
寫了中斷處理函數(shù),TI也不一定變0,比如空的處理函數(shù)。沒寫中斷函數(shù),跑飛能理解。
但這種處 ...
censv 發(fā)表于 2022-9-4 19:13
理解了,多謝,沒仿真器debug不了
串口中斷觸發(fā)時程序計(jì)數(shù)器必定跳到 C:0023,這是人為規(guī)定的?
188610329 發(fā)表于 2022-9-4 18:52
誰說 printf 必須TI 為1 才可以的?
printf 調(diào)用的是 putchar
188610329 發(fā)表于 2022-9-4 19:26
你覺得不合理,是因?yàn)槟愕闹R儲備不夠,如果,你對單片機(jī)運(yùn)作原理有足夠的了解,你就不會有這種想法了。 ...
censv 發(fā)表于 2022-9-4 20:45
keil還是知道的,比如在新建工程時,會讓選擇芯片類型
censv 發(fā)表于 2022-9-4 20:09
直接修改lib文件夾中的putchar.c文件就可以嗎?還需要重新編譯嗎?
btw,TIbusy是什么?變量嗎?
188610329 發(fā)表于 2022-9-4 21:46
自定的標(biāo)志, 你隨便找?guī)讉 開串口中斷的 范例,或者STC的范例就可以。就會看到 TIbusy, T1busy , Uartb ...
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |