1

MPLAB IDE v8.92 でプログラミング中に非常に興味深い問題が発生しました。これはコードの抜粋ですが、問題が発生している場所は次のとおりです。

struct data
{
  INT32 value;
};

struct data array[8] = {{0},{0},{0},{0},{0},{0},{0},{0}}; 
INT32 IOC[8];
INT32 IOD[8];


for ( byte i = 0; i<8; i++)
{
#ifdef DAC
  IOC[i] = 0;
  IOD[i] = 24;
  if(array[i].value == 0) array[i].value == 1;
#endif
}

コードはエラーなしでビルドされ、ICD 3 デバッグを使用してコードのこの部分をステップ実行すると、IOC と IOD は正しく割り当てられますが、if ステートメントはスキップされます。つまり、デバッガーは停止しません。何が起こったのでしょうか?

4

2 に答える 2

0

助けてくれたみんなに感謝します。フォーラムで初めてコードを正しく書きましたが、自分のコードでは修正していませんでした。間違いを示すために質問を編集しました。

  if(array[i].value == 0) array[i].value == 1;

次のようにする必要があります。

if(array[i].value == 0) array[i].value = 1;

一日中画面を見つめていると、それが得られると思います XD

于 2015-10-20T21:27:00.877 に答える