PIC18F4550へのデータフレームを取得する

B

brucelee2

Guest
こんにちはすべて、Imは私の部屋に個人的なプロジェクトに取り組んでいます。私は、HMI(ヒューマンマシンインターフェイス)は、その800 * 480の画面があります。それはあなたが標準的なシリアル接続を使用して(私は通信プロトコルやデータフレーム)に送信するさまざまなコマンドの動作します。今:画面は、指定されたボーレートでマイコンへのデータフレームを送信します。このデータフレームは次のようになります:(タッチスクリーン座標)0xAAを(開始)0x73(16ビットは、座標Xを)(16ビットのY座標)0x33 0x3C 0xC3私は、タッチスクリーンを押すと移動ビットの運賃額がありますので。のみ私が推測するUARTモジュールの8ビットレジスタを持って写真。そこでどのようにCANは、私が変数にこれだけ多くのビットを取り出す?(、維持するボーレートECTを...)たぶん割り込み? MIKROELECTRONIKA MikroCコンパイラを使用してイム。シンプルなUARTライブラリビットがありますが一度に8ビットと思われる......あなたからの人をお待ちして見て!乾杯、ブルース:Dさん
 
こんにちは、写真のUSARTモジュールは、わずか8または9ビットで固定されているようにx / yを、16データビットとして私はそれを行うことができる見ることができる唯一の方法は、送信されている座標は、独自のソフトウェアのシリアルリンクを作成することです。あなたは、チップや、USARTのポートが不足しているだけではありません任意つのUSARTをいくつかの例を見つけることがギブ&ビット用検索する場合は、そのソフトウェアつのUSARTは、ギャップを埋めるために書くことがあります。おそらく彼らはみな、8ビットモードにすると確信して、それが16ビットをacceprtする方法としてご案内いたします。
 
先端の玉のおかげ。私は、MikroelectronicaのMikroCは、ソフトウェアUARTのライブラリを持っていますを参照してください再度8ビットのみが:-(をhandeling ..私は病気のいくつかの''ビットbanging'soonを試していると思う:ページの、大規模なデータフレームのためにかなり厳しいものになるとして考えて.. ..いずれかのC言語でいくつかの素晴らしい例を(秒)が備わっていながらコピーを持っている可能性がありますしてください。
 
かいずれかの方法ビット叩いに近づくために知っている?それはすべきは次のよう気にいらないこと:1。を生成する外部割り込みスタートビットが発生したとき。 2。 1 / 3 * 1/baudrateすなわち、試料ピンにタイマを起動します。ビットあたり3回。 3.Dissableこの時間の間に割り込み。 4。ストップビット6.disable時間と再度有効にするための変数の5.checkにビットをシフト外部割り込みはどのようにこの音?
 
これは、デバイスが16ビットに連結するためのもの、16ビットの値をが、2つの連続した8ビット値ではなく、返すことがあります。
 
そのは0xでそれを送信する?? 8ビットのhex値が、指定されたボーレートで一度に大規模なストリーム。だから私は、写真UARTモジュールでこれを処理できないではなく、それを行うにはいくつかのソフトウェアをinplementする必要があります。 Bitbanging。しかし、bitbangingを行うにはどうすれば計算してみなければならないものです。 proceedures /イベントのプロセスの図は、私が推測するに役立つだろう
 
このHMIは'標準のシリアル接続を'ではなく、標準的なシリアルプロトコル、すなわち、スタートビット、ストップビットフレーミング使用するように。方法についてはpart-/model-number?
 
それは8N1ので、8dataビットは、停止、およびビット、パリティビットを開始します。私は混乱は、大規模なデータフレームを送信することにされているイムと思います。しかしれるMCUはレジスタがまだ私のソースコードが読み込まれていない場合は、次のバイトを送信するHMIを停止するか?またはHMIが続行されます.... :|
 
両方のピアは、ハードウェアのハンドシェークを使用することができますれない限り、[引用]、またはHMIは、....[/引用] Yesをクリックして続行します。交流は、バッファにデータのバーストを読み取り、処理、それらを後で問題を持っていないか、またはでも、それを処理飛ぶ - 適切なプログラミングと。 UARTの割り込みでデータを受信する通常の方法です。
 
HMIへ送ら手ぶれのコマンドがありますが、これはハードウェアではありません。 ''の0x00は''残りはフレーム構造です手ぶれの一部です。0xAAには0x00 0x33 0xC3 0x3Cを送信します。 >受信送信グランドの - HMIには3の接続があります。 Naybeが動作するのTxピンの停電のroutunesを使用しています!
 
擬似コード:[コード]受信割り込み:受信した文字は'AA'とストアバッファにBuffer_pointer + +他のBuffer_pointer = 0 Message_receivedされている場合= 0の場合は、受信Message_received = 1終了割り込み[/コード]をオフBuffer_pointer == length_of_message + 1ターン.. 。応答の部分は、簡単な割り込みを必要としないようだが、それが一度受信機が考え出したされ、実行するのは簡単だろう。
 
はいそれは私のようないくつかのことが推測
 

Welcome to EDABoard.com

Sponsor

Back
Top