stdint.h,了解一下?
使用uint32_t试试?
:lol 早就试过了,sizeof的值也是4 :funk: 本帖最后由 toofree 于 2018-8-2 14:52 编辑
sunwah 发表于 2018-8-2 10:02
额,或者你能不能告诉我,在IAR里面有没有办法定义出来一个32位整数变量?我怎么折腾,都是16位。 ...
toofree 发表于 2018-8-2 14:49
void HandleADC()
{
char ADCBuff;
uint32_t Voltage;
unsigned long Temp;
//第一次读取的ADC值需要丢弃
ADC_Data_Read(&ADCData); //读取ADC的采样数值
ADC_Data_Read(&ADCData); //读取ADC的采样数值
Voltage = ADCData * 330L / 1024L;
Temp = (unsigned int)Voltage;
ADCBuff = 0x0a;
ADCBuff = 0x0d; //换行字符
ADCBuff = Int2HexString(Temp % 100 % 10);
ADCBuff = Int2HexString(Temp % 100 / 10);
ADCBuff = '.';
ADCBuff = Int2HexString(Temp / 100);
Uart1_SendString(ADCBuff,6); //向PC机发送ADC采样数值
}
谢谢你!按照你的做法,运算的时候330和1024后面加L,运算出来的结果就是正确的。 又是一个很好的经验 好经验!
页:
1
[2]