NXP JN516X (TWELITE) をプログラミングする(Main Routine)

メイン・ルーチンと言うとmain()が普通だがJN516Xは違っている。通常起動なのかウェイクアップ起動なのかを判別するためらしい。

【基本のメイン・ルーチン】

jendefs.hはSDKの基本的な型などの定義。AppHardwareApi.hはハードウェアの基本的なAPIが定義されている。何をするにも最低この二つは必要なので何も考えずにインクルードしよう。

これでメイン・ルーチン編は完了!って、これだけだとすこし寂しすぎるので定番のLチカまでいきましょうか。

【Lチカ】

LED+抵抗を接続したピンをvAHI_DioSetDirection()で出力モードに設定しvAHI_DioSetOutput()でON/OFFするだけ。簡単!

これでLチカの完成!。でも目ではチカチカしてるのがわからなかったのでオシロで確認してみると...


見事にLチカしてるけど、暇つぶしに42億回ほどループっても1.5usしか時間がかからないのか...ていうか、またつまらない物を撮ってしまった気がする。(笑)

でも、なんか不自然な気が...16MHzクロックにしては妙に速すぎる...どうやらコンパイラの最適化により暇つぶしループが除去されてしまうようだ。ループ回数に関係なく同じ結果になってしまう。この件はまたあとで...

次回は、Lチカにも必要な時間計測の予定。

【関連投稿】
NXP JN516X (TWELITE) をプログラミングする(開発環境の構築)
NXP JN516X (TWELITE) をプログラミングする(メイン・ルーチン)
NXP JN516X (TWELITE) をプログラミングする(TICKTIMER)
NXP JN516X (TWELITE) をプログラミングする(UART)
NXP JN516X (TWELITE) をプログラミングする(SYSTEM)
NXP JN516X (TWELITE) をプログラミングする(GPIO)
NXP JN516X (TWELITE) をプログラミングする(TIMER)
NXP JN516X (TWELITE) をプログラミングする(ALARM)
NXP JN516X (TWELITE) をプログラミングする(WAKETIMER)
NXP JN516X (TWELITE) をプログラミングする(WATCHDOG)
NXP JN516X (TWELITE) をプログラミングする(I2C)
NXP JN516X (TWELITE) をプログラミングする(SPI)
NXP JN516X (TWELITE) をプログラミングする(ADC)
NXP JN516X (TWELITE) をプログラミングする(COMPARATOR)
NXP JN516X (TWELITE) をプログラミングする(CLOCK)
NXP JN516X (TWELITE) をプログラミングする(BROWNOUT)
NXP JN516X (TWELITE) をプログラミングする(PULSCOUNTER)
NXP JN516X (TWELITE) をプログラミングする(INFRARED)
NXP JN516X (TWELITE) をプログラミングする(RANDOM-GENERATOR)
NXP JN516X (TWELITE) をプログラミングする(FLASH)
NXP JN516X (TWELITE) をプログラミングする(EEPROM)
NXP JN516X (TWELITE) をプログラミングする(WPAN)
NXP JN516X (TWELITE) をプログラミングする(Eclipse-CDT+MWSTAGE)
NXP JN516X (TWELITE) をプログラミングする(乗算と除算)
NXP JN516X (TWELITE) をプログラミングする(マルチタスク)
NXP JN516X (TWELITE) をプログラミングする(フラッシュ・プログラマー)
NXP JN516X (TWELITE) をプログラミングする(OTA UPDATE)
NXP JN516X (TWELITE) をプログラミングする(TWELITE CUE/MC3630)
NXP JN516X (TWELITE) をプログラミングする(LED)
NXP JN516X (TWELITE) をプログラミングする(AES)
NXP JN516X (TWELITE) をプログラミングする(Downloads)