when i not waiting the TC
but not work as expect:
when i wait for the TC
as work as expect:
why the first case won't work? Shouldn't the DEDT (Driver Enable Delay Time), which refers to the duration of the high level, be automatically inserted by the hardware after the shift register has completed its transmission? Does the TDR directly transfer data to the shift register without waiting for DEDT?
DEDT functionality is related to RS485 and DE pin/signal. The purpose of DEDT is not to insert delays between individual transmitted frames (bytes), but to add a delay at the end of a whole message, before deasserting DE, so that the RS485 transmitter is not switched off immediately after the last frame's stopbit - this may be needed for some RS485 installations.
If you need inter-character delay, use 1.5 or 2 stopbits. If you need longer delay, you have to use some different technique, e.g. transmit using timer-triggered DMA (in that case, if you use also DE and want it to be continuous, you'd need to handle it "manually").
JW