Home
フォーラム
Coron質問
UARTの使い方
引用付き投稿返答 :UARTの使...
Android事業
実績紹介
製品紹介
フォーラム
会社概要
お問い合わせ
メインメニュー
Home
Android事業
Android+Robot
GDD2011出展
Android アプリ開発
ロボット事業
製品情報
Go Simulation!
Coroid
Coron
フォーラム
ショップ
会社概要
会社情報
アクセス
採用情報
サイトマップ
ログイン
社長ブログ
引用付き投稿返答 :UARTの使い方
ユーザー名
件名:
post_text_textarea
[admin2 2009-12-08 13:47:33]:
<p> >1.ボーレートに関して</p><p>ボーレートの値に関しては、指定した数値から計算して設定されるので中途半端なスピードでも指定できるようになっています。</p><p>なので115200,384000くらいであれば問題なく動作すると思います(こちらでは460800bpsまでは動作を確認しています)。</p><p>上限に関しては、あまり大きすぎると次第に精度が悪くなってくるので、大体1Mbpsくらいが目安になります。</p><p> </p><p>>2.UART3に関して</p><p>> USART_Init(USART3, &USART_InitStructure);<br />> USART_Cmd(USART3, ENABLE);</p><p>初期化に関してはご指摘の通り、UART_init()の内容をコピーして頂いて、USART2をUSART3に置き換えて頂ければ動きます。</p><p>具体的には上記2つの変更に加えて、クロックの設定</p><p>RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);</p><p>と、GPIOの設定で</p><p> /* Configure USARTx_Tx as alternate function push-pull */<br /> GPIO_StructInit(&GPIO_InitStructure);<br /> GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;<br /> GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;<br /> GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;<br /> GPIO_Init(GPIOB, &GPIO_InitStructure);<br /> /* Configure USARTx_Rx as input floating */<br /> GPIO_StructInit(&GPIO_InitStructure);<br /> GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;<br /> GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;<br /> GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;<br /> GPIO_Init(GPIOB, &GPIO_InitStructure);</p><p> </p><p>と変更してください。</p><p>また、現在お使いのライブラリがv1.0.xの場合にはinc/stm32f10x_conf.h内、v2.0.xの場合にはinc/coron.h内の</p><p>//#define _USART3</p><p>を</p><p>#define _USART3</p><p>としてください(USART3に関するライブラリ使用の宣言です)。</p><p> </p><p>>3. ポートを開いた後ににパリティを操作することはできますか?</p><p>データごとにパリティを変更する簡単な方法として、データ長を</p><p>USART_InitStructure.USART_WordLength = USART_WordLength_8b;</p><p>から</p><p>USART_InitStructure.USART_WordLength = USART_WordLength_9b;</p><p>と変更して9bitにするのが良いかと思います。</p><p>そして、送信の際に例えばパリティ=1,データ=0x45ならば</p><p>USART_SendData( USART3,0x0145 );</p><p>パリティ=0,データ=0x67ならば</p><p>USART_SendData( USART3,0x0067 );</p><p>とすればマルチプロセッサ通信に対応できます。</p><p>(同様に受信時もUSART_ReceiveData(USART3);で9bit分のデータが返ってきます)</p><p> </p><p>その他、ご不明な点がございましたらお気軽にご連絡ください。</p>
セキュリティ:
プレビュー
保存
キャンセル
引用付き投稿返答 :UARTの使い方
User
Powered by
ccBoard