找回密码
 立即注册

QQ登录

只需一步,快速开始

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

temp_h=byte_read(0x2000)*256+byte_read(0x2001);//这是什么意思?

[复制链接]
跳转到指定楼层
楼主
ID:696938 发表于 2020-2-23 14:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void read_memory()           //上电读存储
{
   unsigned char q=0;        
        temp_h=byte_read(0x2000)*256+byte_read(0x2001);//这是什么意思?
    for(q=0;q<11;q++)
    {
        phone[q]=byte_read(0x2100+q);//这是什么意思?
    }
        if(temp_h>255||temp_h<0)
        {
                temp_h=20;
        }
}

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

使用道具 举报

沙发
ID:696939 发表于 2020-2-23 14:33 | 只看该作者
读取 0x2000 和0x2001地址内的数据存入temp_h
0x2000 为高8为,0x2001为低8位,
回复

使用道具 举报

板凳
ID:94031 发表于 2020-2-23 14:36 | 只看该作者
temp_h=byte_read(0x2000)*256+byte_read(0x2001);读高位地址0x2000与低位地址0x2001组成一个16位数temp_h

for(q=0;q<11;q++) {phone[q]=byte_read(0x2100+q);  }从phone[q]连续读10个数。
  
回复

使用道具 举报

地板
ID:235200 发表于 2020-2-23 14:44 | 只看该作者
temp_h=byte_read(0x2000)*256+byte_read(0x2001);//这是读出地址0x2000和0x2001两个存储单元的值组成1个16位的二进制值,因地址0x2000和0x2001均只能存放8位二进制
如:一个盒子放8,1个盒子放6,要由2个1位的十进制数组成2位十进制数,  86=8x10+6  道理是一样的
回复

使用道具 举报

5#
ID:213173 发表于 2020-2-23 15:39 | 只看该作者
void read_memory()           //上电读存储
{
        unsigned char q=0;         
        //temp_h=读取EEPROM第一扇区首地址0作高8位和第2地址1作低8位,合成一个16位数据
        temp_h=byte_read(0x2000)<<8|byte_read(0x2001);//这样写更易理解
//        temp_h=byte_read(0x2000)*256+byte_read(0x2001);//这是什么意思?
        for(q=0;q<11;q++)
        {        //连续读取EEPROM第二扇区第0~10地址共11个数据按序保存在数组phone[]中。
                phone[q]=byte_read(0x2100+q);//这是什么意思?
        }
        if(temp_h>255||temp_h<0)
        {
                temp_h=20;
        }
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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