OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13255|回复: 3

Stm32是怎样二、十进制转换的呢?自动的吗?

[复制链接]

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2011-7-18
在线时间
0 小时
发表于 2011-7-21 16:09:24 | 显示全部楼层 |阅读模式
1、   如果定义一个u16 ,那么可不可以说它是16位的二进制?例如:
         在《内部温度传感器》实验中ADC函数中
    u16 Get_Adc(u8 ch)  
    {
      //设置转换序列     
      ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch
     ADC1->SQR3|=ch;          
     ADC1->CR2|=1<<22;       //启动规则转换通道
     while(!(ADC1->SR&1<<1));//等待转换结束     
     return ADC1->DR;  //返回adc值 
   }
    //得到ADC采样内部温度传感器的值
    //取10次,然后平均
    u16 Get_Temp(void)
   {
     u16 temp_val=0;
     u8 t;
     for(t=0;t<50;t++)
     {
      temp_val+=Get_Adc(TEMP_CH);
      delay_ms(5);
     } 
      return temp_val/50;
  }
在Get_Adc()函数返回值是16为二进制,在Get_Temp()函数里怎么和整数temp_val相加?


2、     在《内部温度传感器》实验中,main函数里有如下语句
    adcx=Get_Temp();//获得ADC值 16位
    LCD_ShowNum(132,130,adcx,4,16);//显示ADC的值 4位
    16位的二进制"adcx"在LCD显示为4位十进制的数,它是如何转换的呢?
    是不是在函数 LCD_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 size)转换的额?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-21 16:21:22 | 显示全部楼层
回复【楼主位】小华338:
---------------------------------
1,u16就是16位的.这里的位就是二进制的位.很明显,相加后面除50是个简单的取平均数,得数更加准确罢了.
2,这个问题,你自己想想吧.我告诉你ADC的值(4位)这里的4位是指4个十进制的位.而不是二进制位.其他的你自己想了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2011-7-18
在线时间
0 小时
 楼主| 发表于 2011-7-21 18:19:38 | 显示全部楼层
1、问题关键是 相加后的二进制怎么能被除十进制整数?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-21 20:36:28 | 显示全部楼层
大哥,C语言里面基本都是处理10进制的.最终输出给单片机的运算单元的都是二进制.至于怎么实现的,得问芯片设计者了.

简单点: u16 a=32;
这是个16位的数字,这里的十六位是指二进制,转为二进制为: 0000 0000 0010 0000
转为16进制为 0X0020;
你写a=32和写a=0x0020是一样效果的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 18:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表