不会C,也没有用过STM8
但单片机的原理是一样的:C代码是先转换(编译)成汇编,然后再烧录进单片机的
单片机C数据类型并不是标准C的长度,不同的编译器有着不同的数据类型的长度,对于超过长度的,编译器就不要那多出来的部分了,多次运算之后,不要数据越来越多,误差就越来越大了
浮点型数据的长度要比整型的长,运算结果误差是要大一点的
对于10位的ADC,你直接使用整型运算就可以了
865*3022/1024,这样最多使用到一32位的整型数据,/1024放后面,这会是一个位移的运算,也许误差会小点
运算结果2552.7左右,能有2552就很好了,要是我的话,后面就直接加小数点,不再运算了 |