导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→unsigned char Read8Bit() {
  

* 75437: AT24C256用C51写的Write子程序可以,,但是Read 读子程序不可以?

   zhonghuahun212 
zhonghuahun212发表的帖子 

 
unsigned char Read8Bit() {
    unsigned char temp,rbyte=0;
    for(temp=8;temp!=0;temp--) {
            rbyte=rbyte  <  <1;
        AT24C256_SCL=0;
        AT24C256_SCL=1;
                 rbyte=rbyte|((unsigned char)(AT24C256_SDA));
                 AT24C256_SCL=0;//此处应该加一个把
    }
    AT24C256_SCL=0;
    AT24C256_SDA=0;
    AT24C256_SCL=1;
    AT24C256_SCL=0;
    AT24C256_SDA=0;
    return(rbyte); 
}      
你可知道iic协议,只有当scl为地电平的时候,sda才会反转,也就是说rbyte=rbyte|((unsigned char)(AT24C256_SDA));这一不执行完了以后,你看看,是不是scl从0马上变为一,sda来不及翻转,所以每次读出来的sda都是1
最后就是ff了。
我不知道我该得对不对,我也是刚学这个芯片的,多多向你们学习啊!

发表时间:2005年3月18日10:32:02

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:可是我的main() 里要等待两个中断,串口接受和定时器0中断(产生pwm波的),
[下一篇帖子]:求:MIFARE智能卡和读写器的资料和例程各位大哥: /P P   &nbs