[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 メーリングリストの案内