「007 スペクター」21世紀のボンドにスペクター
100万ポイント山分け!1日5回検索で1ポイントもらえる
>>
人気記事ランキング
ブログを作成
楽天市場
4734726
HOME
|
DIARY
|
PROFILE
【フォローする】
【ログイン】
おびやまロボット研究所 ~マイコン電子工作と自作ドローン~
1対多シリアル通信
Arduino Duemilanove(UNO)はI2C通信が使えるのですが,この場合アナログ4,5ピンが使用されるので,アナログを6ポートとも使いたい場合には使えません.
それでシリアル通信を使って1対多の通信をやってみました.
その様子↓
手書きメモ
ホストはハードウェアシリアルを使う.
ターゲットはハードウェアシリアルの受信と,ソフトウェアシリアルの送信を使う.
ホスト側のTXをターゲットのRXに並列接続.
ターゲットのTX(ソフトウェアシリアルでデジタル3ピン)は100Ωの抵抗を介して
ホストのRXに並列接続.
ホストからの送信は,ターゲットが並列に受信.
ターゲットは自分が呼ばれたら応答をソフトウェアシリアルで返す.
ターゲットのソフトウェアシリアルのTXは,
通常はピンモードを強制的にINPUTにしてハイインピーダンス状態.
送信時だけピンモードをOUTPUTにして送信.
送信後にピンモードをINPUTに戻して,ターゲットデバイスの並列なTXとの干渉を防ぐ.
※このモード切替がハードウェアシリアルではできなかったのでターゲットからの送信にはソフトウェアシリアルを使った.
----------ホスト側のスケッチ----------
#include < MsTimer2.h>
int ch=0;
void recvStr(char *buf)
{
int i = 0;
char c;
while (1) {
if (Serial.available()) {
c = Serial.read();
buf[i] = c;
if (c == '\n') break;
i++;
}
}
buf[i] = '\0'; // \0: end of string
}
// ---------タイマー処理 ----------
void fTimer() {
if (ch==0) ch=1; else ch=0; // チャンネルの切替
sendRequest(ch);
}
void sendRequest(int num){
Serial.print("Q"); Serial.println(num);
}
void setup(){
// 状態表示のためにタイマーセット
MsTimer2::set(2000, fTimer); // 2s 周期でタイマー割込み
MsTimer2::start();
Serial.begin(9600);
}
void loop()
{
char str[90]; // string buffer
if (Serial.available()) {
recvStr(str);
Serial.println(str);
}
}
----------ターゲット側のスケッチ----------
#include < SoftwareSerial.h>
char ch[]="Q0"; // ここでデバイス側のチャンネルを指定
char rs[]="R0"; // 受信文字列をそのまま返すとループに陥るので応答を変える
SoftwareSerial mySerial=SoftwareSerial(2,3); // 3のTXしか使わない
void recvStr(char *buf)
{
int i=0;
char c;
while (1) {
if (Serial.available()) {
c = Serial.read();
buf[i] = c;
if (c == '\n') break;
i++;
}
}
buf[i] = '\0'; // \0: end of string
}
void setup(){
Serial.begin(9600);
mySerial.begin(9600);
pinMode(3,INPUT); // 一旦TXを絶縁状態にする
}
void loop()
{
char str[90]; // 文字列バッファ
if (Serial.available()) {
recvStr(str);
if(strncmp(str,ch,2)==0) {
pinMode(3,OUTPUT);
mySerial.print(rs); mySerial.println(" response");
pinMode(3,INPUT);
}
}
}
ジャンル別一覧
出産・子育て
ファッション
美容・コスメ
健康・ダイエット
生活・インテリア
料理・食べ物
ドリンク・お酒
ペット
趣味・ゲーム
映画・TV
音楽
読書・コミック
旅行・海外情報
園芸
スポーツ
アウトドア・釣り
車・バイク
パソコン・家電
そのほか
すべてのジャンル
人気のクチコミテーマ
Amazonマケプレ
¥1,498 税込 (¥62 / 本)【訳アリ品…
(2024-09-15 19:25:57)
楽天ブログいろいろ
初ブログ
(2024-09-23 13:38:05)
モバイルよもやま
スマートフォンソフトウエア競争促進…
(2024-09-26 08:08:06)
© Rakuten Group, Inc.
X
共有
Facebook
Twitter
Google +
LinkedIn
Email
Design
a Mobile Website
スマートフォン版を閲覧
|
PC版を閲覧
人気ブログランキングへ
無料自動相互リンク
にほんブログ村 女磨き
LOHAS風なアイテム・グッズ
みんなが注目のトレンド情報とは・・・?
So-netトレンドブログ
Livedoor Blog a
Livedoor Blog b
Livedoor Blog c
楽天ブログ
JUGEMブログ
Excitブログ
Seesaaブログ
Seesaaブログ
Googleブログ
なにこれオシャレ?トレンドアイテム情報
みんなの通販市場
無料のオファーでコツコツ稼ぐ方法
無料オファーのアフィリエイトで稼げるASP
ホーム
Hsc
人気ブログランキングへ
その他
Share by: