![]() |
發(fā)布時間: 2022-9-22 11:25
正文摘要:首先感謝大家百忙之中抽空關(guān)注這個問題,首先對關(guān)注的人表示感謝. 開發(fā)環(huán)境IAR Embedded Workbench for STM8(3.11.4 已處理好) .開發(fā)芯片STM8S208MB.關(guān)于求助的內(nèi)容有以下幾點: 1 關(guān)于標志位的定義,此標 ... |
【1 關(guān)于標志位的定義……】 答:51單片機有個特別靈活的地方,就是有256個可以按位進行操作的指令。其中系統(tǒng)用了128個。所以用戶還可使用128個。 STM8和32相對比51功能強一點,內(nèi)存也大多了,其設(shè)計理念就沒有考慮用位操作的指令,所以無法直接按位操作。 如果你非要按位操作,只能變通一下。用與、或等邏輯運算,將字節(jié)邏輯到位,進行操行。如最高位是否為1:與8000H。置1:或8000H。 【2 關(guān)于中斷函......】 答:單片機上有若干個中斷源,每個中斷必然有一個入口(CPU執(zhí)行的地址),有時幾種中斷源會共用一個入口。 51的中斷入口地址是指定死的。如0003H,0013H。也即對應(yīng)的中斷響應(yīng)后進入0003H地址執(zhí)行程序。 STM8中斷入口稍活一些,它是從指定的地址中,取出你自由定義的中斷入口地址,也就有了中斷向量一說。方式復(fù)雜了一步,但更活了,入口可以在任意位置了。 如果你用匯編寫程序,必須注意這些。 如果你用C寫程序,編譯平臺會幫助你處理這些問題,你只要告訴平臺,一個地址變量就可以了。 【3 關(guān)于中斷的標志位....] 答:當中斷源動作時,是否發(fā)生中斷分兩類。 一類是強制性的,必須響應(yīng),稱為非屏蔽中斷。 一類是由你決定的,也即給你一個開關(guān),由你來決定是否允許它被響應(yīng)。 各中斷源為了表達自己發(fā)生了中斷動作,就必須給出一個標記,這就是中斷標記。 特別是,有的中斷源共用一個入口,就更需要用這個標記區(qū)分是誰發(fā)生了中斷。 中斷標記只負責申請中斷,至于是不是被響應(yīng)執(zhí)行,那是CPU的事。如果這個標記不被清除,它就一直申請。所以執(zhí)行完中斷程序后,要記得清除它,非則:又重新來一次又一次。 【4 關(guān)于ST-LINK/V2.我......】 答:STM8和32是完全不同的指定系統(tǒng)。如果你是編譯平臺,同樣一個IF語句,你如果編譯成CPU代碼呢?寫成STM8的呢?還是32的呢? 必須給出一個區(qū)分的方式。 【5 在程序編譯沒有錯。......】 答:【編譯沒有錯】只是平臺對你寫的程序,評價為:沒有違反它的規(guī)定!! 不表示你沒有其它錯誤行為! |
Powered by 單片機教程網(wǎng)