Skip to main content
edited body; edited title
Source Link
JRE
  • 75.1k
  • 10
  • 115
  • 197

Why does the I2C debugger sendssend NOT ACK?

I am simulating a master-slave scenario. theThe master is the PIC18F4620, the slave is the I2C debugger.

I am sending a slave address of 0x04. R/W = 0 to perform a write operation on the slave.

This is my frame format.

 //Slave address is 0x04. mcal_i2c_send_slave_address(0x04,0,&ack_status); //Send data = 0x77 mcal_i2c_master_send_data(0x77,&ack_status); //send repeated start mcal_i2c_send_repeated_start_condition(); //send data = 0x00 , then send stop condition. mcal_i2c_master_send_data(0x00,&ack_status); mcal_i2c_send_stop_condition(); 

The transmitter which is the PIC18F is transmitting the frame correctly. But theThe problem is that the I2C debugger won`t send ACK, it only sends notNOT ACK. Does

Does anybody know why I am receiving NACK from the i2CI2C debugger?

enter image description here

Why I2C debugger sends NOT ACK?

I am simulating a master-slave scenario. the master is the PIC18F4620, the slave is the I2C debugger.

I am sending a slave address of 0x04. R/W = 0 to perform a write operation on the slave.

This is my frame format.

 //Slave address is 0x04. mcal_i2c_send_slave_address(0x04,0,&ack_status); //Send data = 0x77 mcal_i2c_master_send_data(0x77,&ack_status); //send repeated start mcal_i2c_send_repeated_start_condition(); //send data = 0x00 , then send stop condition. mcal_i2c_master_send_data(0x00,&ack_status); mcal_i2c_send_stop_condition(); 

The transmitter which is the PIC18F is transmitting the frame correctly. But the problem is that the I2C debugger won`t send ACK, it only sends not ACK. Does anybody know why I am receiving NACK from the i2C debugger?

enter image description here

Why does the I2C debugger send NOT ACK?

I am simulating a master-slave scenario. The master is the PIC18F4620, the slave is the I2C debugger.

I am sending a slave address of 0x04. R/W = 0 to perform a write operation on the slave.

This is my frame format.

 //Slave address is 0x04. mcal_i2c_send_slave_address(0x04,0,&ack_status); //Send data = 0x77 mcal_i2c_master_send_data(0x77,&ack_status); //send repeated start mcal_i2c_send_repeated_start_condition(); //send data = 0x00 , then send stop condition. mcal_i2c_master_send_data(0x00,&ack_status); mcal_i2c_send_stop_condition(); 

The transmitter which is the PIC18F is transmitting the frame correctly. The problem is that the I2C debugger won`t send ACK, it only sends NOT ACK.

Does anybody know why I am receiving NACK from the I2C debugger?

enter image description here

Source Link
XMAX
  • 23
  • 2

Why I2C debugger sends NOT ACK?

I am simulating a master-slave scenario. the master is the PIC18F4620, the slave is the I2C debugger.

I am sending a slave address of 0x04. R/W = 0 to perform a write operation on the slave.

This is my frame format.

 //Slave address is 0x04. mcal_i2c_send_slave_address(0x04,0,&ack_status); //Send data = 0x77 mcal_i2c_master_send_data(0x77,&ack_status); //send repeated start mcal_i2c_send_repeated_start_condition(); //send data = 0x00 , then send stop condition. mcal_i2c_master_send_data(0x00,&ack_status); mcal_i2c_send_stop_condition(); 

The transmitter which is the PIC18F is transmitting the frame correctly. But the problem is that the I2C debugger won`t send ACK, it only sends not ACK. Does anybody know why I am receiving NACK from the i2C debugger?

enter image description here