I have interfaced two MCU with RS-485 using SN65HVD72.
1. If on startup, I define one as receiver fro entire code & other as transmiiter then I am able to communicate
2. But if I do, send master address, let slave ack & then transmit or receive data depending upon situation, codes does not work.
I have written master code as:
Slave code:
1. If on startup, I define one as receiver fro entire code & other as transmiiter then I am able to communicate
2. But if I do, send master address, let slave ack & then transmit or receive data depending upon situation, codes does not work.
I have written master code as:
Rich (BB code):
main()
{
uint8_t ready = 0;
while(0 == ready)
{
RX_DISABLE_TX_ENABLE();
send_uart(0x01); /* slave will send ack after this */
RX_ENABLE_TX_DISABLE();
WAIT_1_SEC(); or (receive_uart());
if(0x02 == receive_uart)
{
ready = 1;
//slave ack
}
}
while(1)
{
//send_data();
}
}
Slave code:
Rich (BB code):
main()
{
uint8_t ready = 0;
RX_ENABLE_TX_DISABLE();
while(0 == ready)
{
if(receive_data() == 0x01)
{
RX_DISABLE_TX_ENABLE();
uart_send(0x02);
ready = 1;
}
}
RX_ENABLE_TX_DISABLE();
while(1)
{
//receive_data();
}
}