Florian's most newest Diary

ふろりあんの再最新日記

今日の教訓

とりあえず。

  • OS起動前にグローバルイニシャライザーでOSの機能を使ってはいけない。

どういうことかというと、

void tick(uint32_t id)

{

}

Channel::Channel(long us)

{

       gTicker(::tick,us);

}

 というコードがあったとして、

Channel gChannel(22);

void main()

{

}

これは、うごかない。

こうすれば動く。

Channel* gChannel;

void main()

{

     gChannel=new Channel(22);

}

 ようは、どの時点でOSが起動しているのかをきちんと考えなさいということだな。mainが動く前に初期化してもダメというところで。組み込み向けOSだから、main前に何か初期化してるかもしれないもんね。

あとはD/A変換を何とかすれば音はなりそう。

 

ちょっと元気になってきた。