質問: env_crc(pdata,sizeof(card_db) - 1); //flash_fs_write((dword)flash_card_addr - (dword)flash_base,(byte *)pscard,sizeof(card_db)); flash_fs_write((dword)flash_card_addr,(byte *)pscard,sizeof(card_db)); } 困っているのが、この関数を word data; byte menucardgroup; int cardindex; card_data_proc(data,menucardgroup,cardindex,1); このプログラムで呼び出した行く時の動作をデバッガでおってみたところ、引数に”1”を渡したはずのaddの変数がなぜか”0"になってしまっていて、card_data_proc関数のif文でtrueの条件に行かないのです。 なぜこのようになるのか御存じの方いらっしゃいませんでしょうか? このような現象に遭遇した場合はどのような点を確認していったらよいのでしょうか?
回答: とりあえず、 if(add == true) ここは if( add ) のほうがよいでしょう。 あと、呼び出し側の関数プロトタイプの確認ですかね。まずは。