[Armadillo:06117] Re: Armadillo-440でシリアル通信のボーレートを変更する方法について
Nobuyuki SASAKI
email@hidden
2010年 11月 5日 (金) 20:03:48 JST
ささきといいます
横から失礼します。
From: 和佐田 翔一 <email@hidden>
Subject: [Armadillo:06110] Re: Armadillo-440でシリアル通信のボーレートを変更する方法について
Date: Fri, 05 Nov 2010 18:28:58 +0900
> 上記サイトを参考に下記のようなコードで実行してみました。
> ------------------------------------------------------------------
> fd = open("/dev/ttymxc1", O_RDWR | O_NOCTTY);
>
> tcgetattr(fd, &oldtio);
>
> newtio = oldtio; <<< せっかく get したのに
>
> memset(&newtio, 0, sizeof(newtio)); <<< 0埋めしてませんか?
>
> newtio.c_iflag = IGNBRK | IGNPAR;
ちなみに、アルマジロ9付属の hermit のコードでは、こんな感じです。
portfd = open(portname, O_RDWR|O_NOCTTY);
tcgetattr(portfd, &newtios);
memcpy(&oldtios, &newtios, sizeof newtios); /*コピーですね*/
newtios.c_iflag |= IGNPAR; /* ignore parity on input */
newtios.c_oflag &= ~(OPOST|ONLCR|OLCUC|OCRNL|ONOCR|ONLRET|OFILL);
newtios.c_cflag = CS8|CLOCAL|CREAD;
newtios.c_cc[VMIN] = 1; /* block until 1 char received */
newtios.c_cc[VTIME] = 0; /* no inter-character timer */
/* 115200 bps ここは変えればいいと思います*/
cfsetospeed(&newtios, B115200);
cfsetispeed(&newtios, B115200);
tcflush(portfd, TCIFLUSH);
tcsetattr(portfd, TCSADRAIN, &newtios);
close(portfd);
440は扱ったことがないので同じではないのかもですが、いかがなものでしょうか?
--
ささきのぶゆき サンビットシステム <email@hidden> SAPPORO
Nobuyuki SASAKI Sunbit System Co.Ltd. http://www.3bit.co.jp/ JAPAN
GnuPG fingerprint = 2996 E30B D633 5AE3 D469 9E86 32C1 604A 729A 74E4
〒062-0932 札幌市豊平区平岸2条7丁目4-20 アークパレス平岸308号
TEL: 011-598-1800 FAX: 011-598-1801 携帯: 090-6262-2826
--
armadillo メーリングリストの案内