利用軟中斷來列印, 則可以利用msp棧, 乙個列印結束就釋放了記憶體, 另乙個再列印可以共用, 可以節省較多記憶體.
採用svc可以很方便地傳遞傳遞引數, 但是svc通常設定為較高的中斷優先順序, 可能會阻塞其他重要的中斷. 這裡用乙個不用的中斷作為軟中斷來實現.
static va_list paramlist;
// 引數列表
static
char
*sformat_pass;
// ""
void
tim17_irqhandler
(void
)// tim17的中斷函式
// 列印函式介面, 使用與printf一樣
void
printf_irq
(const
char
* sformat,..
.)
// 軟中斷初始化
static
void
swi_init
(void
)
執行緒 對執行緒的控制
使用thread建立執行緒後,我們需要對執行緒進行 控制 1.使用start 方法,使執行緒處於running狀態,執行緒開始執行 2.使用join 方法,使執行緒進入waitsleepjoin狀態。3.使用sleep 方法,也會使執行緒進入waitsleepjoin狀態。經歷了sleep 方法定義...
對執行緒的總結
一 建立執行緒 重點1 繼承 thread 2 實現 runnable 知識點 其中用到了設計模式中的 模式,角色 持有真實角色的引用。引申到aop,就是用的動態 3 實現 callable 了解 二 執行緒的狀態 1 新生 start 就緒 執行 阻塞 終止2 終止執行緒 重點 3 阻塞 join...
對執行緒安全的理解
方法中的變數不存在非執行緒安全問題,永遠都是執行緒安全的,這是因為方法內部的變數是私有的特性造成的。synchronized鎖加在方法上,鎖的是物件。效果同synchronized this synchronized加在靜態方法上,鎖的是類。效果同synchronized class.class 多...