这两句代码是什么意思

[复制链接]
490|10
 楼主| jlyuan 发表于 2017-9-23 23:56 | 显示全部楼层 |阅读模式
/*******************************************
函数名称:Write_NByte
功    能:向EEPROM中写入N个字节的数据
参    数:outbuf--指向写入数据存放首地址的指针
          n--数据个数,最大不能超过8,由页地址
             决定其最大长度
          dataaddress--数据写入的首地址
返回值  :写入结果:1--成功,0--失败
********************************************/
/*******************************************
函数名称:Read_1Byte_Randomaddress
功    能:从EEPROM的指定地址读取1个字节的数据
参    数:dataaddress--数据读取的地址
返回值  :读取的数据
********************************************/
  if(Write_NByte(wbuffer,8,0x08)) //从第1页的第0个字节起连续写8个数据
        flag = 3;
   
    _NOP();     //在此设置断点观察flag
   
    if(Read_NByte_Randomaddress(rbuffer,8,0x08))//从第1页的第0个字节起连续读8个数据
        flag = 4;
   
    _NOP();     //在此设置断点观察rbuffer的值
yszong 发表于 2017-9-23 23:57 | 显示全部楼层

哪儿的
 楼主| jlyuan 发表于 2017-9-23 23:59 | 显示全部楼层
430 IO口模拟I2C 啊
dengdc 发表于 2017-9-24 10:21 | 显示全部楼层
什么问题
 楼主| jlyuan 发表于 2017-9-24 10:23 | 显示全部楼层
为什么0x08是从第零个字节?
heweibig 发表于 2017-9-24 10:25 | 显示全部楼层

Write_NByte/Read_NByte_Randomaddress 没有原函数吗,看不到原函数无法理解此现象.
wuhany 发表于 2017-9-24 10:26 | 显示全部楼层

应该是Write_NByte与Read_NByte_Randomaddress函数产生的
jiahy 发表于 2017-9-24 10:28 | 显示全部楼层

代码里头是说从第1页的第0个字节,前提就是范围限于某页内,0x08是8个字节一页的连续写的地址分块的起始字节,所以原注释者说是第0字节,这个零不是说绝对地址分配的第0,而是相对页来说的第0
jiahy 发表于 2017-9-24 10:29 | 显示全部楼层
不过,一页不一定是8个字节,原Catalyst生产的EEPROM就是16字节
lizye 发表于 2017-9-24 10:30 | 显示全部楼层

贴出Write_NByte函数来
 楼主| jlyuan 发表于 2017-9-24 10:31 | 显示全部楼层

睡了,明天再说吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

880

主题

12030

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部