在linux下如何驱动本机的串口
在linux下如何驱动本机的串口,小弟急用
[解决办法]
#include <stdio.h> /* perror, printf, puts, fprintf, fputs */
#include <unistd.h> /* read, write, close */
#include <fcntl.h> /* open */
#include <sys/types.h>
#include <string.h> /* bzero, memcpy */
#include <limits.h> /* CHAR_MAX */
//#include "vardef.h " /* int, INT16, INT8, Uint, UINT16, UINT8 */
#include <termios.h> /* tcgetattr, tcsetattr */
//#include <sys/signal.h>
class CSerialPort
{
public:
CSerialPort();
~CSerialPort();
int OpenComPort(int ComPort, int baudrate, int databit,
const char *stopbit, char parity);
void CloseComPort (void);
int ReadComPort (void *data, int datalength);
int WriteComPort (unsigned char * data, int datalength);
//int SendFile (const char *pathname);
virtual void GetData(double &RTData, double &TotalData);
private:
intfd; //File descriptor for the port
structtermios termios_old, termios_new;
fd_setfs_read, fs_write;
structtimeval tv_timeout;
//structsigaction sigaction_io; /* definition of signal action */
//intSetPortSig ();
// static voidsignal_handler_IO (int status);
voidSetBaudrate (int);
intGetBaudrate ();
voidSetDataBit (int databit);
intBAUDRATE (int baudrate);
int_BAUDRATE (int baudrate);
intSetPortAttr (int baudrate, int databit,
const char *stopbit, char parity);
voidSetStopBit (const char *stopbit);
voidSetParityCheck (char parity);
};
#endif