ad转换的值是二进制数?,怎么变成十进制数呢

2019-07-14 19:39发布

ADC1_CR1_bit.START = 1;       //启动ADC    //delay(500);

                while(ADC1_SR_bit.EOC == 0);  //等待转换结束
                ADC1_SR_bit.EOC = 0;          //清除中断标志
                adc_tmp = ADC1_DRH;
                *AD_Value = (unsigned int)((adc_tmp << 8) + ADC1_DRL);   //高8位与低8位相加,凑成16位数据  
                ADC1_CR1_bit.START = 0;

这是怎么读取的啊,把数据给一个指针变量,不懂,ad转换的值是二进制数?,通过液晶屏显示怎么变成十进制数呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
wulinwl
2019-07-15 15:27
本帖最后由 wulinwl 于 2017-4-20 16:11 编辑
huihui163 发表于 2017-4-20 15:20
对,分解就是这样的,但是ad转换的结果是二进制数xx,你不先转换十进制数,怎么xx/10000这个运算呢比如xx=0xff,十进制数位255, wan = 255/10000;不转换就是 wan = 0xff/10000,这怎么计算啊

C程序中用10或16进制表示的表达式都会由编译器转换成2进制码。xx=0xff一样可以分解,你就看成是xx=1111 1111,只是只有百、十、个位。只是分解成代表10进制数的符号用于显示,是符号不是数!再不明白就无语了。

一周热门 更多>