Python example
This is a basic example on how to use a serial port in Pyhon using the pySerial module:
import serial ser = serial.Serial( port='/dev/ttyS1', baudrate=9600, timeout=1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS ) ser.write("A") # Send a "A" char to the serial port s = ser.read(1) # Wait for a char print s ser.close()
C example
This is a basic example on how to use a serial port in C.
Refer to these links to understand how it works.
#include "stdio.h" #include "string.h" #include "unistd.h" #include "fcntl.h" #include "errno.h" #include "sys/types.h" #include "sys/stat.h" #include "stdlib.h" #include "stdarg.h" #include "termios.h" int main(void) { char txBuffer[10]; char rxBuffer[10]; int fd; struct termios tty_attributes; if ((fd = open("/dev/ttyS1",O_RDWR|O_NOCTTY|O_NONBLOCK))<0) { fprintf (stderr,"Open error on %s\n", strerror(errno)); exit(EXIT_FAILURE); } else { tcgetattr(fd,&tty_attributes); // c_cflag // Enable receiver tty_attributes.c_cflag |= CREAD; // 8 data bit tty_attributes.c_cflag |= CS8; // c_iflag // Ignore framing errors and parity errors. tty_attributes.c_iflag |= IGNPAR; // c_lflag // DISABLE canonical mode. // Disables the special characters EOF, EOL, EOL2, // ERASE, KILL, LNEXT, REPRINT, STATUS, and WERASE, and buffers by lines. // DISABLE this: Echo input characters. tty_attributes.c_lflag &= ~(ICANON); tty_attributes.c_lflag &= ~(ECHO); // DISABLE this: If ICANON is also set, the ERASE character erases the preceding input // character, and WERASE erases the preceding word. tty_attributes.c_lflag &= ~(ECHOE); // DISABLE this: When any of the characters INTR, QUIT, SUSP, or DSUSP are received, generate the corresponding signal. tty_attributes.c_lflag &= ~(ISIG); // Minimum number of characters for non-canonical read. tty_attributes.c_cc[VMIN]=1; // Timeout in deciseconds for non-canonical read. tty_attributes.c_cc[VTIME]=0; // Set the baud rate cfsetospeed(&tty_attributes,B9600); cfsetispeed(&tty_attributes,B9600); tcsetattr(fd, TCSANOW, &tty_attributes); txBuffer[0]='A'; write(fd,txBuffer,1); // Read a char if (read(fd,&rxBuffer,1)==1) { printf("%c",rxBuffer[0]); printf("\n"); } } close(fd); return EXIT_SUCCESS; }
Related links
Documentation Terms of Use
The Acme Systems srl provides this Debian system development and user manual.
The origin of these doc came from the website: http://www.acmesystems.it
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.