3534|6

274

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

有关AD的问题 [复制链接]

用单片机和AD芯片做电位采集时,采集到的电压通过串口输送到串口调试助手中,但是输出的数全是16进制的,
例如:24位AD,电压基准2.5V,当达到满量程时,输出为:FFFFFF,当<2.5v时,输出(通过串口调试助手输出)假设为999999,
此时,我们的输出电压=(999999/FFFFFF)*2.5v
问题是:
怎么样在串口调试助手上看到我们想要的电压?
或者说,你认为我上面说的不对的话,给另一种解决此问题的方法。谢谢!
此帖出自单片机论坛

最新回复

一般的串口调试软件没有显示十进制的功能,你必须进行ASCII码或者BCD码的转换,要不然就得换用别的调试软件  详情 回复 发表于 2009-10-27 13:27
点赞 关注
个人签名学无先后,达者为师
 

回复
举报

132

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
你不会设置串口通讯啊
此帖出自单片机论坛
 
 

回复

255

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
将HEX 转为 十进制的ascII码即可
  方法:
    1、 直接用printf函数打印 %d格式即可  缺点printf函数比较大
    2、自己写一个转换函数,
       先将 HEX转为 十进制 这个应该不难
       再将 十进制转为 ascII码

     以下是两个实际的代码函数 参考一下
bool RS232_PutHex(u8 *s,u16 length)
{
   u16 i;
   u8  ch;
   bool success =TRUE;
   for(i=0; i     {
      ch =s
>>4;
      if( ch<=9 )
       {  RS232_TX_Char(ch+'0'); }
      else
       {  RS232_TX_Char(ch+0x37);}

     ch =s
&0x0f;
     if( ch<=9 )
      { RS232_TX_Char(ch+'0'); }
     else
     {  RS232_TX_Char(ch+0x37);}
   }
   return success;
}

bool RS232_PutWord(u32 ch,u8 bit)
{
   u8  con[5];
   bool success =TRUE;
   if(bit ==8)
   {
     con[0]=ch&0xff;
     RS232_PutHex(con,1);
   }
   else if(bit ==16)
   {
     con[0]=(ch>>8) &0x0ff;
     con[1]=ch &0x0ff;
     RS232_PutHex(con,2);   
   }
   else if(bit ==32)
   {
     con[0]=(ch>>24) &0x0ff;
     con[1]=(ch>>16) &0x0ff;
     con[2]=(ch>>8) &0x0ff;
     con[3]=ch &0x0ff;
     RS232_PutHex(con,4);
   }
   return success;
}

调用 RS232_PutWord(u32 ch,u8 bit)函数
可以将8bit  16bit  32bit 的HEX  转为ascII码输出至串口

如果想将 0x0a 显示为 “10”的话  再加一级将hex转为十进制即可  

希望对你能有用
此帖出自单片机论坛

赞赏

1

查看全部赞赏

 
个人签名每天进步一点点
 
 

回复

277

帖子

0

TA的资源

五彩晶圆(中级)

4
 
换算成BCD码输出。
例如:24位AD,电压基准2.5V,当达到满量程时,输出为:FFFFFF,当<2.5v时,输出(通过串口调试助手输出)假设为999999,
此时,我们的输出电压=(999999/FFFFFF)*2.5v=1.5V
为了保证精度,可以1000*2.5*(0x999999 / 0xffffff)=1500mV,=0x05FC
把005dc换算成BCD码,01 05  00 00,然后输出就行了。或者组合成压缩BCD码,输出15 00。
此帖出自单片机论坛

赞赏

1

查看全部赞赏

 
 
 

回复

370

帖子

0

TA的资源

纯净的硅(中级)

5
 

串口调试助手,没有这个运算功能,

你可以试一下labview
此帖出自单片机论坛

赞赏

1

查看全部赞赏

 
 
 

回复
redstone9910 该用户已被删除
6
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

196

帖子

0

TA的资源

五彩晶圆(中级)

7
 
一般的串口调试软件没有显示十进制的功能,你必须进行ASCII码或者BCD码的转换,要不然就得换用别的调试软件
此帖出自单片机论坛

赞赏

1

查看全部赞赏

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表