请教关于2个32位变量软件实现64位变量的算法 static uint32_t bmp280_compensate_pressure_int64(struct bmp280 *bmp280, int32_t adc_P) { int64_t var1, var2, pressure; var1 = ((int64_t)bmp280->t_fine) - 128000; var2 = var1 * var1 * (int64_t)dig_P6; var2 = var2 + ((var1*(int64_t)dig_P5)<<17); var2 = var2 + (((int64_t)dig_P4)<<35); var1 = ((var1 * var1 * (int64_t)dig_P3)>>8) + ((var1 * (int64_t)dig_P2)<<12); var1 = (((((int64_t)1)<<47)+var1))*((int64_t)dig_P1)>>33; if (var1 == 0) { return 0; // avoid exception caused by division by zero } pressure = 1048576-adc_P; pressure = (((pressure<<31)-var2)*3125)/var1; var1 = (((int64_t)dig_P9) * (pressure>>13) * (pressure>>13)) >> 25; var2 = (((int64_t)dig_P8) * pressure) >> 19; pressure = ((pressure + var1 + var2) >> 8) + (((int64_t)dig_P7)<<4); return (uint32_t)pressure; } 以上程序在iar stm32上运行正常,但是在iar stm8上不支持64位的变量 |
真的非常复杂,建议你直接参考现成的例子。实现除法你就要崩溃了 |
STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
adc施密特触发器stm8
stm8l051f3 TSSOP20 封装,待机模式下,2天后,电流突然增加到140UA
STM8S用STVP烧录怎么加密?
如何使用ST官网例程_LIN总线通讯_STM8AF
STM8 LIN
IAR代码编辑太费劲了,想问一下有没有好的方法,试了VScode但是头文件老是报错,调了很久也没调好,想换个方法了。
想问一下各位大佬,IAR下载调试代码时出现 warning: is an illegal data sample expression IAR是什么意思啊?
STM8S标准库TIM1编码器功能不计数,请大师帮我看看