【发布时间】:2010-10-30 22:18:40
【问题描述】:
我正在研究 PIC16F88X 的 I2C 协议。 我想做的是根据 I2C 上接收到的数据,使 I2C 从机能够 ACK 或 NACK。
PIC 可以对在线发送的 I2C 地址进行 ACK 或 NACK,但从我读到的内容来看,它总是会在后续接收到的字节上进行 ACK。对吗?
在以下通信中:
Start - I2c_Addr+write/ACK - Register_value/Nack
我希望从站能够根据 Register_value 中的值进行 Ack 或 Nack。如果slave不理解Register_value,就不应该Ack。
有人可以确认这是不可能的吗,或者告诉我该怎么做?
【问题讨论】:
-
快速澄清问题:在这个 I2C 交易中,您的 PIC 将成为主机还是从机(或两者兼而有之)?
-
两个 PIC,一个从属和一个主控。问题似乎出在从属设备上(决定 NAck 一个不相关的寄存器)。你可能在考虑多主?如果您是并且您有信息要提供,请不要犹豫回复...