標(biāo)題:
關(guān)于STM8S208MB單片機(jī)開(kāi)發(fā)的問(wèn)題
[打印本頁(yè)]
作者:
xqleft
時(shí)間:
2022-9-22 11:25
標(biāo)題:
關(guān)于STM8S208MB單片機(jī)開(kāi)發(fā)的問(wèn)題
首先感謝大家百忙之中抽空關(guān)注這個(gè)問(wèn)題,首先對(duì)關(guān)注的人表示感謝. 開(kāi)發(fā)環(huán)境IAR Embedded Workbench for STM8(3.11.4 已處理好) .開(kāi)發(fā)芯片STM8S208MB.關(guān)于求助的內(nèi)容有以下幾點(diǎn):
1 關(guān)于標(biāo)志位的定義,此標(biāo)志位就是51單片機(jī)的 bit 位定義. 我在網(wǎng)上找了很多資料沒(méi)有找到,說(shuō)是不能用關(guān)鍵字,不知道能不能,如果能能否告知,如果不能又是以什么方式來(lái)定義類似 bit標(biāo)志位的定義.
2 關(guān)于中斷函數(shù),因?yàn)槲伊?xí)慣性的用一個(gè)中斷函數(shù)入口來(lái)包括所有的中斷,就比如51里面的<interrupt void ISR(void)>這里面就可以包含所有的中斷,里面只需要查詢相關(guān)的標(biāo)志位就可以來(lái)判斷相應(yīng)的中斷是否被出發(fā)了.
3 關(guān)于中斷的標(biāo)志位問(wèn)題.我也看了這款單片機(jī)的中文手冊(cè),關(guān)于中斷的讀取就是按照上面第二點(diǎn)那樣的思路來(lái)查詢的.我想請(qǐng)教一下這樣的方法不知道可行.
4 關(guān)于ST-LINK/V2.我在TB上買的美版原裝的.現(xiàn)在調(diào)試和下載也遇到了問(wèn)題,安裝驅(qū)動(dòng)已經(jīng)安裝成功,在設(shè)備管理器>通用串行總線設(shè)備>STM32 STLink.用的是WIN10系統(tǒng). 我也在網(wǎng)上找了資料,說(shuō)WIN10的系統(tǒng)下驅(qū)動(dòng)安裝成功以后顯示的只是STM32 STLink. 請(qǐng)教的問(wèn)題是STM8和32的驅(qū)動(dòng)是否是要單獨(dú)安裝,如果是不知道能否給個(gè)鏈接.或者安裝驅(qū)動(dòng)的程序也可以. 5 在程序編譯沒(méi)有錯(cuò)的情況下,用上面提到的IDE進(jìn)行在線調(diào)試,現(xiàn)在下載不了.出現(xiàn)了以下提示,請(qǐng)問(wèn)這種問(wèn)題如何解決.就是現(xiàn)在ST Link/V2.連接不上.
11.jpg
(669.51 KB, 下載次數(shù): 77)
下載附件
2022-9-22 11:22 上傳
作者:
yzwzfyz
時(shí)間:
2022-9-24 13:18
【1 關(guān)于標(biāo)志位的定義……】
答:51單片機(jī)有個(gè)特別靈活的地方,就是有256個(gè)可以按位進(jìn)行操作的指令。其中系統(tǒng)用了128個(gè)。所以用戶還可使用128個(gè)。
STM8和32相對(duì)比51功能強(qiáng)一點(diǎn),內(nèi)存也大多了,其設(shè)計(jì)理念就沒(méi)有考慮用位操作的指令,所以無(wú)法直接按位操作。
如果你非要按位操作,只能變通一下。用與、或等邏輯運(yùn)算,將字節(jié)邏輯到位,進(jìn)行操行。如最高位是否為1:與8000H。置1:或8000H。
【2 關(guān)于中斷函......】
答:?jiǎn)纹瑱C(jī)上有若干個(gè)中斷源,每個(gè)中斷必然有一個(gè)入口(CPU執(zhí)行的地址),有時(shí)幾種中斷源會(huì)共用一個(gè)入口。
51的中斷入口地址是指定死的。如0003H,0013H。也即對(duì)應(yīng)的中斷響應(yīng)后進(jìn)入0003H地址執(zhí)行程序。
STM8中斷入口稍活一些,它是從指定的地址中,取出你自由定義的中斷入口地址,也就有了中斷向量一說(shuō)。方式復(fù)雜了一步,但更活了,入口可以在任意位置了。
如果你用匯編寫(xiě)程序,必須注意這些。
如果你用C寫(xiě)程序,編譯平臺(tái)會(huì)幫助你處理這些問(wèn)題,你只要告訴平臺(tái),一個(gè)地址變量就可以了。
【3 關(guān)于中斷的標(biāo)志位....]
答:當(dāng)中斷源動(dòng)作時(shí),是否發(fā)生中斷分兩類。
一類是強(qiáng)制性的,必須響應(yīng),稱為非屏蔽中斷。
一類是由你決定的,也即給你一個(gè)開(kāi)關(guān),由你來(lái)決定是否允許它被響應(yīng)。
各中斷源為了表達(dá)自己發(fā)生了中斷動(dòng)作,就必須給出一個(gè)標(biāo)記,這就是中斷標(biāo)記。
特別是,有的中斷源共用一個(gè)入口,就更需要用這個(gè)標(biāo)記區(qū)分是誰(shuí)發(fā)生了中斷。
中斷標(biāo)記只負(fù)責(zé)申請(qǐng)中斷,至于是不是被響應(yīng)執(zhí)行,那是CPU的事。如果這個(gè)標(biāo)記不被清除,它就一直申請(qǐng)。所以執(zhí)行完中斷程序后,要記得清除它,非則:又重新來(lái)一次又一次。
【4 關(guān)于ST-LINK/V2.我......】
答:STM8和32是完全不同的指定系統(tǒng)。如果你是編譯平臺(tái),同樣一個(gè)IF語(yǔ)句,你如果編譯成CPU代碼呢?寫(xiě)成STM8的呢?還是32的呢?
必須給出一個(gè)區(qū)分的方式。
【5 在程序編譯沒(méi)有錯(cuò)。......】
答:【編譯沒(méi)有錯(cuò)】只是平臺(tái)對(duì)你寫(xiě)的程序,評(píng)價(jià)為:沒(méi)有違反它的規(guī)定!!
不表示你沒(méi)有其它錯(cuò)誤行為!
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1