on transmit section ,you are written well but how to receive 9bit not there ,
as i am working on MDB its say both transmit and receive are 9bit
if you are having any work update on MDB ,let me know
In your post, you said that
So you don't need to monitor for the 9th bit. It just says if the received byte is address or data.
Can you explain a little bit more? I don't see how you have achieved this in your code. Once the 9th bit is discarded, the remaining 8 bits do not encode whether they are address byte or data byte. Say I have a byte in the rx buffer, how do I know if it's address or data?
For example, let's say the master continuously send out packets consisting of (address byte, data byte, data byte) and in the address byte there is additional encoding other than address alone. The rx side needs to discern if the byte is an address byte or data byte. Because there might be frame errors, in the case a byte is dropped, the rx side cannot assume the packet structure and needs to check the type of the byte.