合理主義的グルメブログ

学生起業家の日常をツラツラと書いています。主に食事情報です。

TWE-Liteのプログラミング(1)

研究で,TWE-Liteを使おうかと思っているので,そのプログラミングについて,基礎的な部分をまとめます.

tocos-wireless.com

 

とりあえず,こいつが一番注意するポイントは,逐次実行するのではなく,イベントに応じて関数が呼び出されることです.

普通のC言語のプログラムのように上から順にではなく,イベントに応じた関数が呼び出されて,その中で処理がはしるみたいな感じです.

 

イベントの関数は,色々あるけど,私が使いそうなのは以下のものかな...

  • cbAppColdStart() - 電源投入時に呼び出される関数
  • cbAppWarmStart() - スリープ復帰時に呼び出される関数
  • cbToCoNet_vRxEvent() - 無線パケット受信時に呼び出される関数
  • cbToCoNet_u8HwInt() - ペリフェラル(周辺機器のこと)の割り込み時に呼び出される関数

詳しくは

ToCoNet (トコネット) - TOCOS-WIRELESS.COM

 

 

ユーザ定義イベント処理関数

その他にも,ユーザーが定義できるイベント処理関数があるので,その設定の仕方をまとめようかと思います.

まずは,"使う関数" と "組み込みイベントの定義名" について

 

ToCoNet_Event_Register_State_Machine(void *pvFunc)

 ユーザ定義イベント処理関数を登録します.pvFuncにはイベント処理関数の関数ポインタを指定する.とりあえず,こいつしか使わないかな. 

 

組み込みイベントの定義名

  • E_EVENT_START_UP - システム起動時に発生.
  • E_EVENT_NEW_STATE - 状態遷移したときに最初に呼ばれるイベント.
  • E_EVENT_TICK_TIMER - システムタイマー(4ms)ごとに呼び出される.
  • E_EVENT_TICK_SECOND - 1秒ごとに呼び出される.

 

システム起動時には,

  1. bStart=FalseでcbAppColdStart()
  2. bStart=TrueでcbAppColdStart()
  3. ユーザ定義イベント処理関数(E_EVENT_START_UP)

 という順に関数が呼び出される.

 

通常の割り込み待ち状態では...

 

 

 

次の機会に書きます.