mbedの基本的なI/O方法と実例。
この記事は、mbedのAPIよりも先にやりたい処理が有る場合の対処法です。
興味があるところを読む
mbedのAPIよりも先にやりたい処理が有る場合
mbedでコードを書くときって、main関数の前に外部変数としてAPIを宣言することが多い。
この方式だとどこからでもアクセス出来て便利なんだけど、ちょい困る場合もある。
例えばDigitalOutなんかは、main関数に行く前に初期化されるんで一瞬Hが出たりする。
で、こうしてみた。
InitIo _Init1st; // DO_Upの初期化処理の前にやりたいことをやっちまう
DigitalOut DO_Up(dp4); // GPIO
InitIo::InitIo()
{
LPC_IOCON->R_PIO0_11 = 0xc9; // DO_UpからHが出ないように事前にPullDown
}
InitIoをDigitalOutIよりも先に宣言して、やりたいことをやっておく。
まぁmain関数の中でDigitalOutを宣言するとか、SystemInit関数とかでやっても良いんだけど、この方式ならソースの見通しが良いかなと思って。
コメント