C18 的高低優先權中斷 ?
|
||||
---|---|---|---|---|
新會員
|
請問各位大大
想問在高優先權的中斷時,C本身會將環境參數儲存,等中斷結束,C會透過shadow還原; 但在低優先權的中斷時,C不會存環境參數,等中斷結束也不會還原參數; 所以請問要如何存環境參數,且要儲存哪些參數,謝謝? 因為我寫高優先權的中斷,對程式OK; 但加入低優先權的中斷時,程式就怪怪的,所以請各位大大幫忙,謝謝!
發表於: 2008/1/8 9:01
|
|||
|
Re: Delay time
|
||||
---|---|---|---|---|
新會員
|
可以用Timer2的計時中斷,因Timer2有自動回歸,所以很方便
用Timer2做1mS中斷,再來做Delay就非常準喔! 宣告 intTimer 為公用變數 int intTimer = 0; void Delay(int intDelay) { intTimer = intDelay; // intDelay 單位為 1mS while(intTimer != 0); } 中斷程式 void Timer2(void) { if(intTimer>0) intTimer--; ............. ......... } 那你要做多久的Delay都沒問題,而且超神準的.....
發表於: 2007/5/4 15:47
|
|||
|
Re: 角度平均計算
|
||||
---|---|---|---|---|
新會員
|
因角度一周為360度,所以 360 = 0 度,所以在相加後須先做角度整理,如下
(1+0+359)%360/3=0度 以此類推 (X1+X2+X3......+Xn)%360/n= ??度 這樣不都解決的嘛! 另一解決法,參考之.......
發表於: 2007/5/4 15:25
|
|||
|