-
這通常是通過在 main 函式之外設定乙個全域性變數來完成的。
這是因為全域性變數的作用域是整個程式程序,包括中斷函式。
因此,中斷函式中對全域性變數的操作被保留,即變數值被更改。
-
有兩種方法可以做到這一點:
首先,在中斷函式中,在變數前新增 static。 例如:static int i;
其次,設定全域性變數並在檔案開頭定義變數。
-
它是乙個想要與外部函式通訊的中斷函式,如果是,它可以是乙個全域性變數。 這將使中斷函式中使用的變數的值保持不變。
-
可以定義全域性變數來做到這一點,在 TSR 中分配值後,即使它們彈出,這些值仍然有效,只是注意不要定義太多全域性變數,以免 430 上的有限 RAM 耗盡。
-
在中斷函式中定義變數時,新增乙個靜態
例如:static int i=0;
-
樓上的大哥說得對。
事實上,MSP430 的 C 語言與計算機程式設計的 C 語言不同。
首先,是靜態的東西。
其次,C 要求變數必須在函式的開頭或 ** 塊的開頭定義,在使用 IRA 對 MSP430 進行程式設計時,我發現變數可以隨動定義。
-
你通常理解的CPU執行完全是“順序”執行,即按照一定的順序(包括跳躍)乙個接乙個地取手指執行。
隨著中斷的增加,情況發生了變化:CPU 可以隨時中斷以執行另乙個函式,同時按順序執行主函式和它呼叫的子函式。 這裡有幾層含義:
1)任何時候:即中斷發生的那一刻。這是主要功能無法預料到的。
2)其他功能:即中斷處理功能。這個函式也是由使用者編寫的,但不會由使用者直接呼叫,而是會被CPU自動重定向。 這就是中斷和子函式呼叫之間的區別。
3) 執行中斷處理程式後,繼續在中斷的同一位置執行。這有點像“跌倒時從**中站起來”。
如何提問 在輸入框中輸入指令碼以提問。
在每個頁面的頂部,您可以看到“我想問乙個問題”問題輸入框,並在問題輸入框中輸入您的問題。 >>>More