Servus, ich benutze einen dsPIC33CK256MP506. Ich habe früher immer mit 9 Bit RS-485 gearbeitet da hat die Adress Erkennung immer gut funktioniert. Jetzt muss ich das ganze mit 8 Bit realisieren. Laut Datenblatt ist das auch möglich.
Der Vorteil der Adress Erkennung liegt darin das der RX Interrupt nur bei erkannter Adresse aufgerufen wird und nicht bei jedem Byte das auf dem Bus kommt.
Auszug: "In 8-Bit Address Detect mode, the transmitted address IDs are written to Parameter 1. For receivers, the expected address is written to Parameter 2 (UxP2<7:0>) and the mask value to Parameter 3 (UxP3<7:0>). Mask bit values of ‘1’ will include the respective bit position in the compare, whereas a ‘0’ indicates a ‘don’t care’. A mask value of 0x00 will accept all address values, effectively disabling the address detect feature. A mask value of 0xFF will allow only one matching value."
Ich habe die Adresse beim Slave in U2P2 kopiert und 0xFF in U2P3 (da ich UART2 benutze)
Jedoch egal welches Byte ich vom Master aus sende, er ruft mir immer den U2RXInterrupt auf. Hab schon das ERRATA Sheet gewältzt.. nichts.. vlei benutzt jmd von euch diesen oder nen ähnlichen PIC und hat herausgefunden wies geht..
MFG