I am tried recived in HART 3 bytes, for example 0x11,0x33,0x44. After all bytes have been transferred, i read FIFO_M2D reg and get 0x3111. I am trying to read this register again, and I get the same value (0x311). How to read the received data correctly? Here is the code for reading:
Modem_Status = DAC8741_read(MODEM_STATUS); if ((Modem_Status & (1<<5))==0) { while ((Modem_Status & (1<<5))==0) { Recieve_Reg = DAC8741_read(FIFO_M2D); Modem_Status = DAC8741_read(MODEM_STATUS); }