Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual
Page 90

KTD-S0057-I
Page 86 Linux® Programming Examples (DebianTM)
KTAM3874/pITX Software Guide
int rs485_outgoing_msg (void)
{
char out_str[] = "the quick brown fox jumps over the lazy dog";
if (rts_transmit_control (TRUE))
return
-1;
if (write (fd, out_str, sizeof (out_str)) != sizeof (out_str))
return
-1;
if (tcdrain (fd))
return
-1;
if (rts_transmit_control (FALSE))
return
-1;
return
0;
}
int rs485_incoming_msg (void)
{
int
i;
unsigned char data [MIN_RCV_CHARS];
if (tcflush (fd, TCIFLUSH))
return
-1;
memset (&data, 0, sizeof (data));
if (read (fd, data, MIN_RCV_CHARS) < 0)
return
-1;
printf ("Received data = ");
for (i = 0; i < MIN_RCV_CHARS; i++)
printf ("0x%02X ", data [i]);
printf
("\n");
return
0;
}
int main (void)
{
printf ("\nRS485 test program\n");
if (init_uart_interface (DEF_BAUDRATE))
{
close
(fd);
printf ("UART init error!\n\n");
return
-1;
}
if (rts_as_gpio_open () || rts_transmit_control (FALSE))
{
rts_as_gpio_close (); close (fd);
printf ("RTS control error!\n\n");
return
-1;
}