[Armadillo:09352] Re: Armadillo-420 シリアル通信(UART3)でスタート・ストップビットを付加しない様にする
Masaya Matsuzaka
email@hidden
2013年 12月 11日 (水) 10:28:40 JST
(2013/12/10 19:30), 中村 浩 wrote:
> Armadillo-420、Linux(atmark-dist v1.28.1 (AtmarkTechno/Armadillo-420)
> Linux 2.6.26-at15 [armv5tejl arch])でソフト開発を行っております。
>
> UART3でシリアル通信しています。(相手先はRS-232Cではありません。)
>
> 相手先は1文字8ビットとしている為に、
> Armadillo-420からデータを送信すると、8ビットのデータにスタート・ストップビットが
> 付加して、1文字10ビットになりデータがオーバーフローします。
> 相手はスタート・ストップビットを付加しないので受信ビットが足りない為
> 受信時にタイムアウトしてしまいます。
>
> スタート・ストップビットを付加しない様にして、1文字8ビットにしたいのですが
> パラメータ等の設定をご教示お願いいたします。
スタートビットが不要でよいということは、
データの始まりを相手に伝える手段が無くなるのですが、問題は無いですか?
i.mx25のリファレンスマニュアルでUARTのレジスタを確認しましたが、
スタート・ストップビットを付加しない設定はなさそうです。
8ビットのデータを隙間なく送信するのでしたら、UARTよりもCSPIやSSIの方が適切な気がします。
(すでにSPIやSSIを検討済みかもしれませんが・・)
>
> (2Mbpsで1文字8ビットで送受信する手順があればお教え願います。)
>
> ===設定内容===
> int fd = 0;
> fd=open( "/dev/ttymxc2" , (O_RDWR | O_NOCTTY | O_NONBLOCK) );
> /*通信情報の設定 */
> bzero(&tio, sizeof(tio));
> tio.c_cflag = (B2000000 | CS8 | CLOCAL | CREAD) ;
> tio.c_iflag = (IGNPAR);
> tio.c_oflag = 0;
> tio.c_lflag = 0;
> tio.c_cc[VTIME] = 0;
> tio.c_cc[VMIN] = 0 ;
> tcsetattr(fd, TCSANOW|TCSAFLUSH , &tio);
>
> 以上 よろしくお願いします。
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
---
まつざか
armadillo メーリングリストの案内