Outils pour utilisateurs

Outils du site


robotics:computing:linux_asynchronous_serial_programming_how_to

Différences

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

robotics:computing:linux_asynchronous_serial_programming_how_to [2011/02/07 00:15]
gdo
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Introduction ====== 
  
-This article describes asynchrous serial programming using signal handler. 
- 
-== References == 
-  * Serial Programming HOWTO : [[http://​tldp.org/​HOWTO/​Serial-Programming-HOWTO/​]] 
- 
-== Hardware used : == 
-  * A desktop PC. 
-  * Roboard RB-100 : [[http://​www.roboard.com/​RB-100.htm]] 
-  * Mini PCI VGA Card : [[http://​www.icop.com.tw/​pddetail.aspx?​id=93&​pid=4]] 
-  * 4 Go micro SD card plugged in the built-in micro-SD card reader. 
-  * An internet connection. 
- 
-== Softwares : == 
-  * Ubuntu 10.10 installed on both Roboard and desktop PC : [[http://​www.ubuntu.com/​]] 
-  * Package **build-essential** already installed on your Ubuntu operating system. 
- 
-====== Asynchronous serial I/O library ====== 
- 
-The following code is very simple. There is just one function to initialize the serial communication. 
-Only serial port device, baudrate and if there is a parity checking can be set. Everything else is hard coded, supposing we use 8 bits of data, 1 stop bit and a prefix on parity error. 
-Then it results in a very simple header file **serialCom.h** : 
-<​code>#​ifndef _SERIALCOM_H_ 
-#define _SERIALCOM_H_ 
- 
-#ifdef __cplusplus 
-extern "​C"​ 
-{ 
-#endif 
- 
-#include <​termios.h>​ 
- 
-  /* Controls :  CS8      = 8 bits 
-   ​* ​            ​CREAD ​   = Enable reading */ 
-#define SERIAL_CONTROL ​ (CS8 | CREAD) 
- 
-  /* Input    :  PARMRK ​  = If IGNPAR is not set, prefix a character with a parity error  or 
-   ​framing ​ error  with  \377  \0 */ 
-#define SERIAL_INPUT ​   PARMRK 
- 
-  /* Handler type definition */ 
-  typedef void 
-  (*serial_handler)(int status); 
- 
-  /* Serial port initialization function */ 
-  int 
-  serialConfiguration(serial_handler,​ const char* device, tcflag_t baudrate, 
-      char parity); 
- 
-#ifdef __cplusplus 
-} 
-#endif 
- 
-#endif 
-</​code>​ 
robotics/computing/linux_asynchronous_serial_programming_how_to.1297034125.txt.gz · Dernière modification: 2012/09/20 10:52 (modification externe)