Qt Programming memo

[個人メモ] [仕事メモ] [アイデア] [Rubyの魔神]
[Qt2クラス索引] [Qt基礎] [QFile] [Qt関連(SRA)] [Qtユーザフォーラム]
[Qt4tutorial] [入門Qt4プログラミング(英語版)] [Qt 4 @ Qt - Linux Life] [Qt2の本(PDF)] [Qt4.6リファレンス]
[The Linux Serial Programming HOWTO] [Qt Programming]
 | 

2010-03-08

cygwinRS232C通信ソフトサンプル 10:49

#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>


#include<string.h>

#define BUFSIZE 256

static int fd;

/***********************************************************************
[機能]UART初期化
[関数名]int initUart(int comNo)
[入力]COM番号
[出力]0:正常 0以外:エラー
[備考]
***********************************************************************/
int initUart(int comNo)
{
	char devName[256];
	
	sprintf(devName,"/dev/com%d",comNo);
	
	fd = open(devName,O_RDWR);
	if(fd<0){
		perror("COM OPEN ERROR\n");
		return 1;
	}
	return 0;
}

/***********************************************************************
[機能]UART出力
[関数名]int writeUart(char *s)
[入力]s:出力する文字列
[出力]出力した文字数
[備考]
***********************************************************************/
int writeUart(char *s)
{
	return write(fd,s,strlen(s));
}

/***********************************************************************
[機能]UART出力(バイナリ)
[関数名]int writeBUart(char *s,int size)
[入力]s:出力する文字列,size:出力データ長
[出力]出力した文字数
[備考]
***********************************************************************/
int writeBUart(char *s,int size)
{
	return write(fd,s,size);
}

/***********************************************************************
[機能]UART入力
[関数名]int readUart(char *s,int size)
[入力]s:受信する文字列,size:受信文字数
[出力]受信した文字数
[備考]sは呼び出し側で実体を用意すること。size以上のバイト数があること
***********************************************************************/
int readUart(char *s,int size)
{
	memset(s,0,size);
	return read(fd,s,size);
}
 |