|
楼主 |
发表于 2010-10-8 20:46:10
|
显示全部楼层
本帖最后由 chen981001 于 2010-10-8 20:50 编辑
额。都没人遇到么。今天又调了一下,没ACK的问题解决了。。
不过写的时候AD9980给ACK了, 读出来结果却是 default value (01H单元默认值为69H)。
附上时序图,大家帮看看
图中C代表SCL ,D代表SDA
写时序为start ,98H+ack,01H+ack,87H+ack,stop 。 98H为AD9980器件写地址,01H为所写单元,87H为要写的数。
读时序为start, 98H+ack,01H+ack,start,99H+ack,读的数据(图中为69H)+NOACK,STOP。 因为只读一个字节的数据,所以主机读到数据
后不给ACK信号,然后给出STOP。
问题是看时序明明写进去了,为什么读出来的不是写的数,而是FPGA复位后的default value .
写时序图
读时序图
|
|