Re: Rb_interrupt and 浮點數運算
|
||||
---|---|---|---|---|
版主
|
你叫 8-bit 的 MCU 算浮點數,我敢跟你保證每次的轉輪中斷發生時,之前的浮點運算一定還沒算完,所以新的資料再交給其用算當然是錯的。8-bit MCU 甚至 Fixed-Point DSP 在執行時都盡量避免去做浮點運算,一般都只做整數(int)及小數(Q15 Format)的運算。
記住一點,一般在寫程式最好不要在中斷裡做計算,就算一簡單的加減法也要避免,因為在C裡會有所會計算用的資料站存區,主程式下與中斷程式會供用相同的暫存區所以不注意就毀了主程式的資料。 你在中斷裡去計算浮點數...只能說你真好膽!!!
發表於: 2009/4/2 10:03
|
|||
|
Rb_interrupt and 浮點數運算
|
||||
---|---|---|---|---|
新會員
|
想請問….
Rb_interrupt接至encoder,當輪子轉動時會觸發rb_interrupt 問題是:當rb中斷時沒有辦法執行浮點數運算,算出來的結果都不正確,維果都為零,但是在執行浮點數運算前將rb_interrupt關掉後再執行運算,算出結果才正確,確定在觸發rb_interrupt並不會改變所計算的浮點數內容。 這似乎不太合理,為什麼在rb_interrupt沒有辦法執行浮點數運算????
發表於: 2009/4/1 20:04
|
|||
|