我将你的设计进行仿真,发现写入数据可以实现,但读出数据函数数据没读出。再看你的程序,是读数据函数有错,改为以下可以读出数据。 uchar read_at24c02(uchar address) {uchar date; start(); write_byte(0xa0); ack(); write_byte(address); ack(); start(); write_byte(0xa1); date=read_byte(); nack(); stop(); return date; } 你漏了红色语句。加上这句后就可以读出数据了,但你的程序还有问题,想要连续读取多个数据还要做不少工作,这些你自己改,如果我帮你改好你也得不到提高。 |
奇怪楼主怎么会是0主题0贴子的![]() |
不仿真可能会通过,投入量产的未必能过仿真 |