在C程式中,函式後面interrupt8是什麼意思

2022-11-10 05:55:15 字數 3999 閱讀 1596

1樓:匿名使用者

數字8是指中斷號。例如在51微控制器中,有5箇中斷:外部中斷0;定時器0中斷;外部中斷1;定時器1中斷;串列埠中斷;其相應的中斷號是:

外部中斷0 interrupt 0定時器0中斷 interrupt 1

外部中斷1 interrupt 2定時器1中斷 interrupt 3

串列埠中斷 interrupt 4不同的微控制器中斷數目不同,中斷號從0開始排,怎樣排,要具體看晶片資料。而你說的interrupt 8,是指中斷號是8,你所用的微控制器中斷數目至少是9個。

2樓:匿名使用者

函式後面interrupt n;就是代表這個中斷函式為哪一個中斷源所寫。比如外部中斷的中斷號是0,定時中斷的中斷號是1,那麼你要是希望當微控制器的引腳捕捉到外部中斷時對這種情況進行處理,你就寫個interrupt 0 的函式,當外部中斷髮生時,就會跳轉到中斷函式執行;你要是希望當微控制器的定時器溢位時對定時事件進行處理,你就寫個interrupt 1的函式,當定時中斷髮生時,就會跳轉到定時中斷函式執行。你查一下你那個微控制器的各個中斷號分別對應什麼中斷事件,就知道這個 interrupt 8 是處理什麼事件的了。

當那個事件發生,微控制器就有可能轉到那個中斷函式去執行裡面的語句了。 不過具體的寫法格式還要參照例程。

3樓:炸樓的波音

正如推薦答案所說,中斷號從0~31

c語言中的interrupt是怎麼回事

4樓:匿名使用者

函式名稱:interrupt

標頭檔案:dos.h

函式用途:申明一個函式為中斷函式,該中斷函式的中斷號為intr函式原型:void interrupt(*getvect(int intr)) (void)

其它說明:以上不是一個函式,實際上是說明了中斷函式的格式,比如我們要將一個函式fun()說明成中斷函式,可寫成: void interrupt( *fun )();

具體不知道,上網找找.

5樓:臺晚竹書妝

二樓的說得很對。它是一箇中斷處理函式,與一般的函式的區別在於他被呼叫的方式。一般的函式是由其上一層函式呼叫而得到執行。

而中斷函式是是外圍裝置觸發它執行的。比如說:spi接收到一位元組的資料、adc取樣完成、定時器發生溢位等等。

一旦這些事件發生了,只要中斷處於使能狀態,就會觸發對應的中斷。

不管主程式執行到什麼地方,cpu都會暫停它並立即執行這種中斷處理函式。中斷處理函式執行完成後又恢復之前的程式位置繼續執行。

中斷的產生,不是由呼叫引起的,是由外界觸發的。就像,有人敲門,你就要去開門,這不等於你去開門了,就一定有人敲門。

另,中斷函式不能被直接呼叫,否則會出錯。

6樓:匿名使用者

interrupt可以看成是int定義為整型

*oldhandler 從你的程式上看來是指標

oldhangler 就是地址名

在c程式中,函式後面的「interrupt8」是什麼意思?

7樓:匿名使用者

數字8是指中斷號。例如在51微控制器中,有5箇中斷:外部中斷0;定時器0中斷;外部中斷1;定時器1中斷;串列埠中斷;其相應的中斷號是:

外部中斷0 interrupt 0定時器0中斷 interrupt 1

外部中斷1 interrupt 2定時器1中斷 interrupt 3

串列埠中斷 interrupt 4不同的微控制器中斷數目不同,中斷號從0開始排,怎樣排,要具體看晶片資料。而你說的interrupt 8,是指中斷號是8,你所用的微控制器中斷數目至少是9個。

微控制器中斷系統函式的interrupt後面的using幾是什麼回事啊?

8樓:匿名使用者

c51 的保留字,

指示當前中斷程式使用哪一暫存器組,數值為0~3mcs-51微控制器,最低地址的32個位元組,由psw中的rs1,rs0確定r0~r7對應於哪一組地址

當rs1=0,rs0=0,r0~r7對應於地址0~7當rs1=0,rs0=1,r0~r7對應於地址8~15以下類推

使用using的好處就是,可以減少暫存器入棧時間不好的是,必須有8個獨立的ram來專門為中斷服務程式儲存暫存器,為了節省這8個位元組,可視具體應用來確定是否使用using,如果中斷服務程式很簡單,可以不加該關鍵字。

9樓:胃火神

有四組工作暫存器,using只是說明用哪組暫存器,以免衝突!

10樓:匿名使用者

51微控制器中有好幾組暫存器,在這裡用using指定中斷中使用哪一組暫存器。

11樓:昝蝶欒歌

不加using的話,

預設是第一組暫存器r0~

r7,跟主程式中使用同一組暫存器

這樣的話,

進中斷後要儲存的暫存器就多了8個了,

哦,這個是c語言自己處理的,

速度上就要慢了一點,

在一些需要實時中斷的地方,

有可以會出現問題

微控制器中的 interrupt 是什麼意思?

12樓:生活如歌

是中斷的意思,c51裡中斷函式。比如

void time0_int() interrupt 1

13樓:天之魏晉風度

中斷的意思,中斷有很多種外部中斷,定時中斷等等

c51微控制器中斷程式中的interrupt1,2,3是由什麼決定的?

14樓:衛戍邊疆

中斷是由於某種事件的發生(硬體或者軟體的),計算機暫停執行當前的程式,轉而執行另一程式,以處理髮生的事件,處理完畢後又返回原程式繼續作業的過程。中斷是處理器一種工作狀態的描述。

1、int0——外部中斷0,由p3.2埠引入,低電平或下降沿引起。預設優先順序最高。

2、int1——外部中斷1,由p3.3埠引入,低電平或下降沿引起。預設優先順序第二。

3、t0——定時器/計數器0中斷,由t0計數器計滿回零引起。預設優先順序第三。

4、t1——定時器/計數器1中斷,由t1計數器計滿回零引起。預設優先順序第四。

5、t2——定時器/計數器2中斷,由t2計數器計滿回零引起。預設優先順序第五。

擴充套件資料:

微控制器中斷源型別

1、外部裝置請求中斷。一個普通的外設(如鍵盤、印表機、a/d轉換器等)在cpu完成自己的操作後向它發出一箇中斷請求。由計算機硬體異常或故障引起的中斷,也稱為內部異常中斷。

2、故障強制中斷。計算機在一些關鍵部位配備了自動故障檢測裝置。如操作溢位、記憶體讀取錯誤、外部裝置故障、斷電等報警訊號,如裝置的報警訊號可以中斷cpu,相應的中斷處理。

3、實時時鐘請求中斷。在控制過程中會遇到定時檢測和控制,因此通常使用外部時鐘電路(可程式設計)來控制時間間隔。當需要定時時,cpu發出一個命令使時鐘電路開始工作。

一旦到達指定時間,時鐘電路發出中斷請求,cpu轉動完成檢測和控制工作。

4、資料通道中斷。資料通道中斷也稱為直接記憶體訪問(dma)操作中斷,如磁碟、磁帶驅動器或crt直接與記憶體交換資料所需的中斷。

5、專案自願中斷。cpu執行特殊指令(陷阱指令)或由硬體電路引起的中斷就是程式自願中斷。是指程式在使用者除錯程式時所採用的檢查手段,如斷點中斷、單步中斷等,用於檢查中間結果或查詢錯誤位置。

15樓:羅特

取決於中斷優先權

一般的51微控制器優先等級:外部中斷0(interrupt0)定時器中斷0(interrupt1)外部中斷1(interrupt2)定時器中斷0(interrupt3)串列埠中斷(interrupt4)

16樓:匿名使用者

interrupt的序號是自然中斷優先順序序號0是外部中斷0

1定時器0中斷

2是外部中斷1

3定時器1中斷

4是串列埠中斷

在c 程式中,main函式的位置

main函式的位置不固定。main函式只是說程式從這個函式開始,其他基本和一般函式一樣。只需要確保main函式裡出現的名字在之前有宣告 不需要定義 即可。比如以下形式可以 int foo 宣告並定義foo函式int main 以下形式也可以 int foo 宣告foo函式 int main int ...

C在定義函式時,在傳遞的引數後面加上是什麼意思

沒有這個形式,寫反了,應該是 bool start char strr 這是說,函式的形參是你傳遞的實參的一個別名 引用 什麼叫別名呢?那就是一損俱損,一榮俱榮,完全可以當作同一個東西對待。說白了,函式裡對引用引數的改變會影響到呼叫這個函式的程式中實參的值。引用,也就是直接用該變數,不生成副本 沒有...

func在c語言中什麼意思,在C語言程式中,func 是什麼意思?

func應該代表的是function這個英文單詞,不過它並不是語法關鍵字,沒有任何特殊的含義,內只是在有些c語言的容練習題程式中會作為自定義函式的命名,但實際程式設計時不推薦這樣命名,這樣的命名可讀性太差 因為它不能夠說明函式是幹什麼的 而且還容易造成命名衝突。這個不是什麼型別,只是程式設計師在書寫...