1樓:
定義中斷的方式有兩種,
第一種interrupt void pth_inter(void) //pth_inter 是中斷函式名,這個可以任意取
這種方式需要在project.prm檔案中將這個函式名與中斷向量對應上。
如在prm檔案處寫上"vector address 0xffe8 pth_inter" (0xffe8是中斷向量地址,在這只是舉個例子),也可以寫成「vector vectornumber_vtimch7 pth_inter」 (vectornumber_vtimch7是中斷向量號)
第二種#pragma code_seg __near_seg non_banked //中斷函式置於非分頁區內
interrupt vectornumber_vtimch7 void icu_ch7int(void)
#pragma code_seg default //後續**置於預設區域內
我一般第二種方式宣告中斷函式,這樣可讀性和可移植性都較好。
由於飛思卡爾16位微控制器的中斷向量是16位,所以中斷函式只有被置於非分頁區內才能被定址到,這就是第一行的作用。
第二行中「vectornumber_vtimch7」是中斷號,它是由檔案「mc9s12xs128.h」中定義的巨集,這個中斷號在它的技術手冊中找到,但是我建議你採用這種巨集的形式,因為這個巨集不容易出錯,可讀性較高,比如「vectornumber_vtimch7」即為定時器(tim)通道7(ch7)所對應的中斷號。中斷函式名「icu_ch7int」可任意取,沒有影響。
2樓:出群
類似 void interrupt 24 speedmeasure()
void interrupt 中斷向量 函式名字 (void)中斷向量是個數字 用#define 申明的也可以用後面的函式名字 自己隨便寫 和一般的函式一樣 只是前面加 'interrupt 中斷向量號'
s12xs128飛思卡爾有那幾種中斷方式,每個中斷的功能說明?
3樓:
全部中斷列表在datasheet的interrupttable中列出s12的中斷是不可修改優先順序的,所以每個中斷有確定的優先順序和序號中斷的方式如果從產生來說,分為這樣幾種:
1、reset復位中斷
2、cpu執行中斷(比如非法指令、看門狗復位)3、軟中斷(swi指令引起)
4、外部觸發中斷(比如irq xirq)
5、外設事件中斷(比如定時器、sci通訊、鍵盤等等)
飛思卡爾mc9s12xs128微控制器 外部中斷有哪些 分別對應哪些引腳?
4樓:小號很好使
8個外部中斷,portt的8個口都是
5樓:
t口是定時器和增強型外部中斷
此外,還有h口,j口,p口都是普通外部中斷口。
飛思卡爾微控制器mc9s12xs128的中斷週期定時器的關閉問題
6樓:匿名使用者
是在做飛思卡爾
智慧車麼,可以去飛思卡爾論壇問
說一下我的理解:
我以前也用過這個晶片,有一次是用它做超聲波測距,要用輸入捕捉來測高電平持續時間,就用了裡面的一個計時器來計時高電平持續時間,記得當時在datasheet裡看到這樣一句話:晶片內部的時鐘的值是不能夠被改變的,就是read-only。所以使能關閉可能也只是關閉中斷,溢位時不會中斷,而不是關閉計時器的工作
飛思卡爾9s12系列 irq中斷中怎麼將中斷和pe口關聯起來 意思就是pex口為高電平時觸發中斷
7樓:
主函式中設定狀態:
irqcr = 0xc0; //bit7(irqe) 0-低電平觸發 1-下降沿觸發
//bit6(irqen) 1-中斷時使能 0-中斷禁止中斷函式:
#pragma code_seg __near_seg non_banked
void interrupt 6 porte_pe1_isr (void)
#pragma code_seg default
飛思卡爾xs128 外部中斷的中斷向量問題
8樓:匿名使用者
#pragma code_seg __near_seg non_banked //中斷函式置於非分頁區內
void interrupt vectornumber_vporth porth_isr(void)
else if(pifh_pifh1)
}#pragma code_seg default如上述,在權中斷中,用軟體查詢是哪個中斷源引起的(在此僅以ph0和ph1為例)
9樓:匿名使用者
入中斷後,用軟體查詢這個中斷源所有引腳電平。
飛思卡爾mc9s12xs128微控制器只有一個脈衝累加器,如果想要對兩路脈衝訊號進行累加(測速)有什麼好方法呢?
10樓:楠林笑笑生
方法1:使用數字模擬開關,或輸入緩衝器,見下圖。取樣的時候通過兩個io口選擇需要取樣的編碼器,讓對應的測速脈衝輸入到xs128 pt7口。
io口的切換頻率決定了你取樣的頻率,例如0.5ms切換一次。那麼單個編碼器的取樣速率就是1ms,相當於1khz的取樣的頻率,對於電機控制來說應該是足夠了。
方法2:採用外部計數器。例如使用級聯二進位制計數器,兩個編碼器同時計數,xs128只用通過io口讀入資料即可,並可以實現同時計數,同時清零,只是增加了硬體負擔。
常用的外部計數器 cd4520
其實我也在糾結這個問題
因為我把pwm67被我級聯控制電機了 就是說pt7這個口被我佔用了。。。問學長說 還可以用中斷的方法測速
11樓:anyway中國
1、你說的脈衝累加器一般稱計數器/定時器的話。一個計數器測量兩路脈衝訊號,原則上是可以的。
2、計數器工作在定時器方式,迴圈計數,不受任何一路脈衝訊號的控制。你可以採用兩個外部中斷分別響應兩路脈衝訊號下降沿或上升沿,在每個中斷服務程式中,分別讀取同一個定時器的引數,連續兩次讀取引數的差值就是該脈衝的週期。
3、如果精度要求較高,最好的方法是採用計數器的脈衝捕獲方式,當然,這樣就只能做一路了。
12樓:匿名使用者
外接另一路累加器,用ttl晶片。
13樓:匿名使用者
一路用累加器,另一路可以使用一路輸入捕捉通道來做。
飛思卡爾微控制器mc9s12xs128mal和mc9s12xs128有什麼區別
14樓:實驗的森林
mal是112管腳 mk是80管腳 少了4個ad口和一些io口 主要功能沒少 80管腳的佈線比較簡單
15樓:
mal代表封裝是112腳的
我想請教下各位大神電腦問題,我想請教下各位大神電腦問題
頁遊?頁遊不需要顯示卡啊。你隨便下個端遊玩玩呢,例如cf或者cs go,如果這兩遊戲都不卡的話,那估計是網頁問題,不是你電腦配置問題,你這配置玩遊戲沒問題的 事實上,你bai分了4個邏輯區du,但只格式化了zhi兩個,所以只 你這個配置很好,玩大型的端遊的沒什麼問題,你玩這個頁遊不版流暢可能是有如下...
飛思卡爾微控制器中IC和OC是什麼意思
ic是輸入捕捉,對於管腳來說是輸入,可以設定為上升沿捕捉 下降沿捕捉 跳版變沿捕捉 上升沿 權 下降沿都捕捉 通常我們用這個來計算輸入脈衝的週期和佔空比。以計算脈衝的週期為例,先設定定時器的時鐘,然後設定上升沿捕捉,並設定捕捉中斷。當脈衝上升沿到來時,進入中斷,在中斷中讀取當前定時器時鐘的讀數,減去...
想請教下繼承方面的問題,請教遺產繼承方面的問題
ps 目前房子正在辦手續階段,她丈夫反對買房,但買房的資金完全來自我母親個人,稍有不足的部分也是她找自己的朋友借的,另外我也會支援小部分,所以母親表示不會理會她現任丈夫的意見。之所以我有這方面的考慮是因為我會一直在外地發展,房子弄好了之後將由我母親居住保管,如果她的丈夫願意跟母親一起住進去我也沒意見...