找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1225|回复: 2
打印 上一主题 下一主题
收起左侧

单片机C语言读位程序问题 高八位第八位是通过什么读的?

[复制链接]
跳转到指定楼层
楼主
ID:938011 发表于 2022-4-9 17:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
uint tmp()               //get the temperature
{
  float tt;
  uchar a,b;
  dsreset();
  delay(1);
  tmpwritebyte(0xcc);
  tmpwritebyte(0xbe);
  a=tmpread();读取温度低8位
  b=tmpread();读取温度高8位
  temp=b;
  temp<<=8;             //two byte  compose a int variable
  temp=temp|a;
  tt=temp*0.0625;
  temp=tt*10+0.5;
  return temp;
}
高八位第八位是通过什么读的?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

板凳
ID:213173 发表于 2022-4-9 20:39 | 只看该作者
                        temp=ReadTemperature(); //读取温度
                        if(temp&0x8000)//读高八位的最高位
                        {
                                negative=1;                        //负号标志
                                temp=~temp+1;                //取反加1
                        }
                        else negative=0;                //正数

                        TempH=temp>>4;                //分解出整数
                        TempL=temp&0x0F;        //分解出小数
                        TempL=TempL*6.25;        //保留两位小数
回复

使用道具 举报

沙发
ID:121859 发表于 2022-4-9 20:22 | 只看该作者
亲,高八位是tmpread()这个函数读出来的,你看这个函数就知道了
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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