Guest User

Untitled

a guest
Feb 16th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. ISR(TWI_vect) {
  2. switch(TW_STATUS) {
  3. // NOTE: SLA+W = SLave Address + Write bit
  4. // SLA+R = SLave Address + Read bit
  5.  
  6. // All
  7. case TW_NO_INFO: // No state information available
  8. case TW_BUS_ERROR: // Bus error; Illegal START or STOP condition
  9.  
  10. // All Master
  11. case TW_START: // Start condition transmitted
  12. case TW_REP_START: // Repeated start condition transmitted
  13.  
  14. // Master Transmitter
  15. case TW_MT_SLA_ACK: // SLA+W transmitted, ACK received = Slave receiver ACKed address
  16. case TW_MT_SLA_NACK: // SLA+W transmitted, NACK received = Slave receiver with transmitted address doesn't exists?
  17. case TW_MT_DATA_ACK: // Data transmitted, ACK received = Slave receiver ACKed data
  18. case TW_MT_DATA_NACK: // Data transmitted, NACK received
  19. case TW_MT_ARB_LOST: // Arbitration lost in SLA+W or data
  20.  
  21. // Master Receiver
  22. case TW_MR_SLA_ACK: // SLA+R transmitted, ACK received = Slave transmitter ACKed address
  23. case TW_MR_SLA_NACK: // SLA+R transmitted, NACK received = Slave transmitter with transmitted address doesn't exists?
  24. case TW_MR_DATA_ACK: // Data received, ACK returned
  25. case TW_MR_DATA_NACK: // Data received, NACK returned
  26. case TW_MR_ARB_LOST: // Arbitration lost in SLA+R or NACK
  27.  
  28. // Slave Receiver
  29. case TW_SR_SLA_ACK: // SLA+W received, ACK returned = Addressed, returned ACK
  30. case TW_SR_GCALL_ACK: // General call received, ACK returned = Addressed generally, returned ACK
  31. case TW_SR_ARB_LOST_SLA_ACK: // Arbitration lost in SLA+RW, SLA+W received, ACK returned
  32. case TW_SR_ARB_LOST_GCALL_ACK: // Arbitration lost in SLA+RW, general call received, ACK returned
  33. case TW_SR_DATA_ACK: // Data received, ACK returned
  34. case TW_SR_DATA_NACK: // Data received, NACK returned
  35. case TW_SR_GCALL_DATA_ACK: // General call data received, ACK returned
  36. case TW_SR_GCALL_DATA_NACK: // General call data received, NACK returned
  37. case TW_SR_STOP: // Stop or repeated start condition received while selected
  38.  
  39. // Slave Transmitter
  40. case TW_ST_SLA_ACK: // SLA+R received, ACK returned = Addressed, returned ACK
  41. case TW_ST_ARB_LOST_SLA_ACK: // Arbitration lost in SLA+RW, SLA+R received, ACK returned
  42. case TW_ST_DATA_ACK: // Data transmitted, ACK received
  43. case TW_ST_DATA_NACK: // Data transmitted, NACK received = Received NACK, so we are done
  44. case TW_ST_LAST_DATA: // Last data byte transmitted, ACK received = Received ACK, but we are done already!
  45. }
  46. }
Add Comment
Please, Sign In to add comment