現在、PIC(dsPIC30f3014)マイコン + MPLAB C30コンパイラー で2つのUARTを用い開発をしているのですが、他の汎用ポートを用いて、もうひとつUARTを作成する方法があれば、お教えください

(送信だけでかまいません)

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/03/14 16:22:44
  • 終了:2008/03/21 16:25:04

回答(1件)

id:garyo No.1

garyo回答回数1782ベストアンサー獲得回数962008/03/14 20:36:10

ポイント60pt

送信のみであれば、汎用ポートで十分できます。

まず、無信号時のレベル(High or Low)を決めます。これはハード的に何に接続するかで決まります。

MAX232などのレベルコンバーターを使うのであれば、無信号時にLowにすれば良いと思います。(内部にインバータが入っているので)

(PCのRS232Cは±3~15Vの信号を使用し、負論理(1の時-15V)になります)

まず、送信に必要なタイマを用意します。9600bpsであれば1/9600秒の時間が計れるタイマを作ります。

その上で、無信号時は1をポートから出力し、最初にスタートビットとして1ビット0を送信します。

その後、8ビットのデータを出力します。このときに下位のビットから一ビットづつ出力します。

最後にストップビットとして1ビット0を出力しその後ポートを1にします。

以下に図解されているので、こちらをみるといいと思います。

http://www.nahitech.com/nahitafu/mame/mame5/rs232c.html

PC側は8ビット、1ストップビット、パリティなし、フロー制御なしの設定にすれば受信できると思います。

id:shochankun

大変詳しい回答ありがとうございます

2008/03/15 00:11:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません