[Armadillo:02464] COM4のシリアル通信について
Masanori Ito
email@hidden
2007年 11月 27日 (火) 09:27:21 JST
いつもお世話になっています。伊藤と申します。
現在、Armadillo210を用いてCOM4から機械の制御を
シリアル通信で行おうとしているのですがうまくいきません。
ハイパーターミナルから見ても、COM4には出ていません。
初歩的なことで申し訳ございませんが、どなたかご回答
いただけますようお願い致します。
なお、現状、作業をしているソースは以下の通りです。
#include<stdio.h>
#include<stdlib.h>
#include<strings.h>
#include<termios.h>
#include<unistd.h>
#include<fcntl.h>
#include <stdint.h>
#include <sys/signal.h>
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>
#define BAUDRATE B38400
#define MODEMDEVICE "/dev/ttyAM1"
#define _POSIX_SOURCE 1
#define FALSE 0
#define TRUE 1
extern uint16_t StrwCalcCRC16( uint8_t * pbData, int iDataLen, int iOpt );
volatile int STOP=FALSE;
void signal_handler_IO (int status);
int wait_flag=TRUE;
int main(int argc,char * argv[])
{
int fd, res;
struct termios oldtio,newtio;
struct sigaction saio;
char buf[8];
char rtn[13];
fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY | O_NONBLOCK);
if (fd <0)
{
perror(MODEMDEVICE);
exit(-1);
}
saio.sa_handler = signal_handler_IO;
//saio.sa_mask = 0;
saio.sa_flags = 0;
saio.sa_restorer = NULL;
sigaction(SIGIO,&saio,NULL);
fcntl(fd, F_SETOWN, getpid());
fcntl(fd, F_SETFL, FASYNC);
tcgetattr(fd,&oldtio);
newtio.c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR | ICRNL;
newtio.c_oflag = 0;
newtio.c_lflag = ICANON;
newtio.c_cc[VMIN]=1;
newtio.c_cc[VTIME]=0;
tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
bzero(&buf,sizeof(buf));
bzero(&rtn,sizeof(rtn));
bzero(&buf2,sizeof(buf2));
buf[0] = 0x05;
buf[1] = 0x54;
buf[2] = 0x30;
buf[3] = 0x30;
buf[4] = StrwCalcCRC16(buf,4,0);
buf[6] = 0x04;
while (STOP==FALSE)
{
res = write(fd,buf,7);
printf(".\n");
usleep(100000);
if (wait_flag==FALSE)
{
res = read(fd,rtn,12);
buf[res]=0;
printf(":%s:%d\n", buf, res);
if (res==1)
STOP=TRUE;
wait_flag = TRUE;
}
}
close(fd);
return(0);
}
void signal_handler_IO (int status)
{
printf("received SIGIO signal.\n");
wait_flag = FALSE;
}
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20071127/e6b6bbb8/attachment.html>
armadillo メーリングリストの案内