不會C,也沒有用過STM8
但單片機的原理是一樣的:C代碼是先轉換(編譯)成匯編,然后再燒錄進單片機的
單片機C數據類型并不是標準C的長度,不同的編譯器有著不同的數據類型的長度,對于超過長度的,編譯器就不要那多出來的部分了,多次運算之后,不要數據越來越多,誤差就越來越大了
浮點型數據的長度要比整型的長,運算結果誤差是要大一點的
對于10位的ADC,你直接使用整型運算就可以了
865*3022/1024,這樣最多使用到一32位的整型數據,/1024放后面,這會是一個位移的運算,也許誤差會小點
運算結果2552.7左右,能有2552就很好了,要是我的話,后面就直接加小數點,不再運算了 |