マイコン入門spacer ad
トップページに戻る(マイコン徹底入門:STM32で始めるARM/Cortex-M3組み込み開発)
「マイコン徹底入門」とは? |  「マイコン徹底入門」を読む |  ダウンロード |  掲示板 |  筆者の自己紹介


Previous: 9.1.4.1. USART

Up: 9.1.4. ソフトウェアと外付け回路の詳細

Next: 9.1.4.3. フルカラーLED


マイコン徹底入門:RTOS編:フリーのリアルタイムOS活用法: 9. FreeRTOSを利用したマウスロボット: 9.1. マウス: 9.1.4. ソフトウェアと外付け回路の詳細:

9.1.4.2. XBee

 XBeeは初期化に時間がかかりますが、XBeeの初期化が終わるまでマウスが起動しないというのは問題です。そこでXBeeの初期化はそれ自体を一つのタスクとして実装します。xbee.cprvTask_XBee_Controlがそのタスクです。

 さらにXBeeが接続を確立したかどうかを検証できるようにしたいので、一定周期で相手方のXBeeにある番号を送り、その番号が送り返されてきたら接続確立と判断することにします。確認の際には$<CR>で挟んで番号を送り、受け取った側は&<CR>で挟んで受け取った番号を送り返します。

 このタスクでは現在の接続状態をグローバル変数XBeeStatusで保持します。内容は以下のいずれかの列挙型で指定します。それぞれ、「未接続・接続試行を行っていない」「未接続・接続試行中」「未接続・接続試行完了」「接続済み」を意味しています。タスクの中ではこの状態に応じて処理を行っています。

typedef enum {

? XBEE_DISCONNECTED = 0,

? XBEE_INITIATING = 1,

? XBEE_INITIATED = 2,

? XBEE_CONNECTED = 3

} XBeeStatus_Type;

 なお現在のところバグがあるようで、一旦接続が途切れた後の再接続がうまくいかないようです。


Previous: 9.1.4.1. USART

Up: 9.1.4. ソフトウェアと外付け回路の詳細

Next: 9.1.4.3. フルカラーLED


このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。