I have been trying to get this AM2315 temp sensor working on a K22FN256LH for quite some time now and have had no luck. I am using KDS v3.2 and Processor Expert, has anyone been able to do this? I seem to be replicating the wave fine (Waiting the appropriate time (1ms)), but I never get my ack. Below is my scope and the next two are from the datasheet. Any suggestions?
I have just browsed the data sheet of temperature sensor AM2315, as you know that the ACK signal is always driven by receiver, if the K22 send slave address or command, the AM2315 must drive the ACK bit, if the K22 reads data, the K22 is the receiver, the IIC of K22 should drive the ACK bit after it has received the data.
The first step is waking up step by the K22 sending the slave address 0xB8, in the waking up step, the temperature sensor does not drive the ACK bit based on the data sheet of sensor, it is normal. When the K22 does not get the ACK signal, the IIC should enter stop mode by switching from master mode to slave mode so that the IIC bus enter stop mode, in stop mode, both SCL/SDA are high, which matches with the FIG15 you attached.
Hope it can help you