PCとPIC 16F877Aとの間のUARTインタフェース

L

lcs81

Guest
こんにちは、私は実際にインタフェースに新しいです。事の多くは理解していけない。あなたがこれに私を導くことができると思います。私はPICとPCとのインタフェースするためのプロジェクトをやっています。 PCはシリアルポートからCプログラムを介してデータを送信する必要がありますとPICとLCD画面に表示され、PICに。 LCDへのPICのために、私はすでにセットアップし管理することができます。 PICとPC間のハードウェアにも何をすべきかを知っています。しかし、どのように私はPCからこれらのデータを管理する方法については、PICにデータを送信するために、PCサイトでCを使用してPICにプログラムできますか?私を導くか、有用な読み物に私を持参してください。 TQ。
 
あなたは、シリアル通信をよく読んでする必要があります。私は、実際のCプログラマはいないんだけど、私が知っているPC側でシリアルデータを送信するためのCの方法論があります。私はそれはあなたのPIC側では、LinuxまたはWindowsなどを使用しているかどうかに依存して考える、シリアルリンクを実装する方法について、マイクロチップからの情報がたくさんあり​​ます。 PICで使用されるロジックレベルに - あなたは、RS-232電圧(12 V + / - )に変換するRS-232インタフェース·チップが必要になります。
 
PIC側では、ここで、iは、PCとのインタフェースのプロトコルを見つけることができますか?ので、私は、UARTインタフェースについて検索してみてくださいました。私は "RCIE"、 "TXIE"のようなものを使用して、多くのコードを見ています。私はこの上ではわかりません。私は私が写真データはPCから(準備中)、どのようなPICはそれに対処しようとしているノウハウを知っておく必要があります意味ですか?感謝
 
あなたがC言語でのPICコードを書くつもりですか?もしそうなら、あなたは次のリンクからPIC16シリーズ用のHI-TECH Cコンパイラをダウンロードすることができます。 PIC10/12/16 MCUファミリ用C [/URL]上記のコンパイラは自由にダウンロード可能で、シリアル番号が "Lite"モードで動作します。シリアル通信用にUARTの設定の例については、コンパイラのマニュアルを研究しています。月Axelsonのサイトのオファーは、シリアル通信をPICにPC用の優れたリソースです:[URL = "http://www.lvr.com/serport.htm"]月Axelsonのシリアルポートの中央[/URL]次のチュートリアルでは、PIC18FシリーズRSについて説明します。 -232の通信は、しかし、内容の大半は、PIC16Fシリーズに直接適用されます。 PICマイクロコントローラのチュートリアル[/URL] BigDog - PIC18F4520のUSARTを使った通信
 
あなたは、メッセージ構造/プロトコルのいくつかの種類を確立する必要があります。シリアル通信は単なるバイトの転送を処理します。それはあなたが正確に何をしようとしているに依存します。あなたの述べられたケースで​​は、PCには、PICのLCDに表示されるメッセージを送信します。表示されるデータは、常にASCII文字であれば、その後、メッセージの開始を示すために表示データ "をスタートバイト '(ASCIIの英数字の範囲外のもの)を使用することができますし、"最後のバイト "メッセージの終わりを示します。 PICのソフトウェアが "先頭バイト"を探してしなければならない、表示データを収集する、などがこれを行う方法の一例です。あなたのメッセージは固定長であれば、あなたは、たとえば、 "最後のバイトを '必要はありません。
 
こんにちは[QUOTE = lcs81。1056935]こんにちは、しかし、どのように私はPCからこれらのデータを管理する方法については、PICにデータを送信するために、PCサイトでCを使用してPICにプログラムできますか? [/QUOTE] PCとのリンクを確​​立するには、最初は必要ありませんが、プログラムにCリコーテクニカルレポート関連リンクでは、PC上のターミナルRS232は、このソフトウェアを使用することができます(Windowsの?) https://sites.google .com /サイト/ terminalbpp / それは無料です!あなたはすべてのデータを置くことができるマクロを定義するための12のタッチがあります:ASCII、バイナリ..マクロを使って、あなたはスクリプトを使用したいすべてのXXX msまたはwahteverデータを送信するために、各マクロの内部タイマを使用することができます。 DS275を使用するには、+-12V、MAX232またはDIP8場合にそれを見つけることができれば非常に簡単に+-3V UPT RS232レベルにTTLレベル、ないような(UART)PICからPIC RxのピンとピンのTxとの間のハードウェア·レベル·トランスレータのためにコンデンサが必要でした。
 
あなたは、USARTモジュールは、あなたがそれを駆動するために管理することはありませんどのように動作するかを知らなくても、PICのハードウェア上に読み込む必要があります。のような 'プロトコル'がありません、プロトコルは、あなたがコードを記述する必要があり、高レベルの構造ではありません、PICは、 "バイトを送信"と "バイトを受信"を理解しています。ほとんどの目的のために、PCに話を含めて、これはあなたが必要とするすべてである。詳細については、最高の場所は、マイクロチップ社のウェブサイトから16F877Aのデータシートですが、それはステップ·バイ·ステップの送信のための命令とデータの受信を示しています。 1:基本的に、あなたのPCがPICからPCへ送信するためにして(例えば9600ボー)を使用している速度に合わせて、ボー·レート·ジェネレータを設定します。あなたは最後のバイトは、2を送信するように時間を過ごしている知っているので、送信バッファが空で確認してください。あなたが送信バッファに送信したいバイトを入れてください。 3。送信する方がある場合は、ステップ1に戻ります。 1:PCからの受信のために。 RCIFビットがあれば割り込みレジスタ= 1を確認してください。これは、バイトが受信されたことを示しています。 2。また、次回の準備ができてRCIFビットをクリアしRCREGレジスタからバイトを読み取ります。次のいずれかのRCIF = 1を待っているループ内で座ったり来​​てバイトを待つ間にPICが何かを行うことができますので、割り込みを設定することができます。ブライアン。
 

Welcome to EDABoard.com

Sponsor

Back
Top