Other Parts Discussed in Thread: MSP430F5438A
Hello,
I have an MSP430F5438A using UCSI_Bx in Slave mode.
I want to do following: NACK current frame if received data are not allowed.
Frame A)
Command not allowed => NACK
START, ADR+W, CMD+ NACK, STOP
Frame B)
Invalid received DATA => NACK
START, ADR+W, CMD, DATA+ NACK, STOP
START, ADR+W, CMD, DATA1, DATA2+ NACK, STOP
Frame C)
Reading of this command is not allowed => NACK
START, ADR+W, CMD, RESTART, ADR+R+NACK, DATA1, DATA2, STOP
If I’m right, the user guide (SLAU208G page 602) tells me that after reading incoming buffer UCBxRXBUF the bus is released.
Thus how can I read incoming data, have time to evaluate it and ACK or NACK after?
It looks that I can only NACK the next byte.
If I add a CRC byte in the frame, then I’m able to NACK after evaluating incoming data, but in this case if CRC doesn’t match, how can I tell the master that the received frame was wrong?
Regards
Stephane