3 Replies Latest reply on Nov 18, 2019 2:53 AM by RakshithM_16

    UART stops receiving after some time in half duplex but not in full duplex


      I have a custom board using the CY8C3666LTI-201 PSoC 3 device.  I have a UART that is configured as half duplex, 115200 bps, 8 bits, no parity, 1 stop bit, HW Tx enable, RX interrupt on FIFO not empty, no addressing, and both Tx and Rx buffers left at 4 bytes.  The device is a slave on a Modbus RTU network.  The problem I'm seeing is that after a varying time and hundreds of thousands of exchanges between the master and slave, the UART will just flat out stop receiving. I have verified the UART control register and rx/tx status registers have the correct settings to be receiving and interrupting on RX FIFO not empty. I verified the interrupt vector is still correct. I verified the clock enable bit is still set for the UART. Every register has the correct settings to be receiving and it worked for hundreds and hundreds of thousands of messages (I'm intentionally hitting it hard to bring out the error as quick as possible while still in the bounds of the protocol) but for some reason at some point it just stops. Running out of things to try, I changed the UART to full duplex and it appears to have either removed the issue or prolonged the time before it comes back. I have no idea why this is but suspect it could be related to the sharing of status registers when i half duplex mode