www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式分享
[導讀]什么是PIC中斷程序呢?形象的生活比喻就比如你現(xiàn)在這在看我的文章,突然你的朋友喊你一起去烤地瓜,這時候你就中斷了看文章和朋友烤地瓜去了,烤完地瓜之后你又回來看文章??镜毓线@件事就好比中斷程序,他中斷了你看文章這件事。在程序方面來說 當CPU在執(zhí)行一個程序的時候,突然產(chǎn)生了中斷事件CPU就去執(zhí)行中斷程序了,當執(zhí)行完成后CPU又回來執(zhí)行原先的程序。

什么是PIC中斷程序呢?形象的生活比喻就比如你現(xiàn)在這在看我的文章,突然你的朋友喊你一起去烤地瓜,這時候你就中斷了看文章和朋友烤地瓜去了,烤完地瓜之后你又回來看文章。烤地瓜這件事就好比中斷程序,他中斷了你看文章這件事。在程序方面來說 當CPU在執(zhí)行一個程序的時候,突然產(chǎn)生了中斷事件CPU就去執(zhí)行中斷程序了,當執(zhí)行完成后CPU又回來執(zhí)行原先的程序。

具體有哪些事件會引起中斷可以看:

1,中斷控制寄存器INTCON

2,外設中斷允許寄存器 PIEX 注 : X可以是1 2 3 4.。。。不同型號的單片機數(shù)目不同

3,外設中斷標志寄存器 PIRX 注: X可以是1 2 3 4.。。。不同型號的單片機數(shù)目不同

INTCON 中斷控制寄存器講解:

1開啟或關閉 全體的中斷功能(GIE)

2開啟或關閉全體外設的中斷功能(PEIE)外設就是在外設中斷允許/標志寄存器里面所寫的設備。

3開啟一些中斷事件。

PIEX 與 PIRX 是相互對應的如:當把PIE1的TMR1IE設置為1 定時器timr1將開啟中斷。等到TMR1定時器溢出后,則會在PIR1的TMRIF將為1,并且執(zhí)行中斷程序。

中斷服務程序有一個特殊的定義方法: void interrupt ISR(void)其中的函數(shù)名“ISR”可以改成任意合法的字母或數(shù)字組合,但其入口參數(shù)和返回參數(shù)類型必須是“void”型,亦即沒有入口參數(shù)和返回參數(shù),且中間必須有一個關鍵詞“interrupt”中斷函數(shù)可以被放置在原程序的任意位置。因為已有關鍵詞“interrupt”聲明,PICC 在最后進行代碼連接時會自動將其定位到0x0004 中斷入口處,實現(xiàn)中斷服務響應。編譯器也會實現(xiàn)中斷函數(shù)的返回指令“retfie”。

一個簡單的中斷服務示范函數(shù)如下:

void interrupt ISR(void) { //中斷服務程序

if (T0IE && T0IF){ //判TMR0 中斷

T0IF = 0; //清除TMR0 中斷標志 //在此加入TMR0 中斷服務

}

if (TMR1IE && TMR1IF){ //判TMR1 中斷 T

MR1IF = 0; //清除TMR1 中斷標志

//在此加入TMR1 中斷服務

}

} //中斷結束并返回

PICC 會自動加入代碼實現(xiàn)中斷現(xiàn)場的保護,并在中斷結束時自動恢復現(xiàn)場,所以編程員無需象編寫匯編程序那樣加入中斷現(xiàn)場保護和恢復的額外指令語句。但如果在中斷服務程序中需要修改某些全局變量時,是否需要保護這些變量的初值將由編程員自己決定和實施。用C 語言編寫中斷服務程序必須遵循高效的原則:

z 代碼盡量簡短,中斷服務強調的是一個“快”字。

z 避免在中斷內(nèi)使用函數(shù)調用。 雖然PICC 允許在中斷里調用其它函數(shù),但為了解決遞歸調用的問題,此函數(shù)必須為中斷服務獨家專用。既如此,不妨把原本要寫在其它函數(shù)內(nèi)的代碼直接寫在中斷服務程序中。

z 避免在中斷內(nèi)進行數(shù)學運算。數(shù)學運算將很有可能用到庫函數(shù)和許多中間變量,就算不出現(xiàn)遞歸調用的問題,光在中斷入口和出口處為了保護和恢復這些中間臨時變量就需要大量的開銷,嚴重影響中斷服務的效率。

中檔系列PIC 單片機的中斷入口只有一個,因此整個程序中只能有一個中斷服務函數(shù)。

1)系統(tǒng)初始化的時候會打開總中斷控制位(GIE),打開某個中斷控制位,如果是外圍中斷還要打開外圍中斷控制位(PEIE);

2)CPU正在執(zhí)行某個用戶程序時,突然收到一個隨機產(chǎn)生的中斷信號,使某個中斷標志位置為1;

3)CPU立刻停止當前的程序,并將下一條要執(zhí)行的程序的地址保存起來;

4)CPU自動關閉總中斷控制位(GIE),控制指令指針跳到中斷入口處;

5)從中斷入口跳轉至中斷服務子程序(ISR)。在ISR中程序員應該首先保護中斷現(xiàn)場(保存相應重要寄存器的值),

然后根據(jù)中斷標志位來響應何種中斷并作出處理;

6)中斷程序執(zhí)行完畢,首先清空中斷標志位并恢復中斷現(xiàn)場,執(zhí)行特殊的指令返回原先用戶程序終止處。

要避免上述問題,其實只需要我們在代碼上注意以下兩點便可以避免。

1、在中斷響應函數(shù)中,判斷條件除了標志位判斷再增加使能判斷,如外部中斷原來只判斷INTF,現(xiàn)寫為INTF&&INTE;

2、在開啟一個中斷前,必須先將其標志位清零;

3、PIC每個中斷響應處理函數(shù)內(nèi),必須將其標志位清零,雖然某些標志位是硬件清零,但是考慮不同芯片型號設置不一致,或者遺忘,反正加一條軟件清零不會出錯。

聲明:該篇文章為本站原創(chuàng),未經(jīng)授權不予轉載,侵權必究。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉