ホーム フォーラム Texas Instruments マイコン MSP430 if文を無視される記述について

このトピックには2件の返信が含まれ、2人の参加者がいます。5 年、 9 ヶ月前 dengensekkeiGT さんが最後の更新を行いました。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #5149 返信

    dengensekkeiGT
    参加者

    if文を無視される記述について

    デバイス型番:MSP430RF2155

    バグ取り作業をする中で、マイコン単体動作(MSP-FET非接続)にて分岐がうまくいっていない箇所があり、
    MSP-FET接続してステップ実行にて確認を行った所、if文を無視されてしまう記述のある事がわかりました。
    Disasemblaのタグでアセンブラも一緒に見てみましたが、ifに当たる分岐が無い様です。
    添付に、if文無視される場合と認識される場合の構文を乗せますのでご確認ください。
    OK記述にて挿入している動作確認フラグは、出力GPIBポートを反転させる動作をしているのみです。
    if文直後に入れると、そのif文を認識してくれました。
    「if文を重ねるとそうした現象が出る」とか「if文内に配列があるとそうした現象が出る」など
    情報ありませんでしょうか?
    よろしくお願い致します。

    #5236 返信
    クライフ
    クライフ
    従業員

    dengensekkeiGT様

    お問い合わせいただき、ありがとうございます。

    if文が無視されるケースとして、コンパイラの最適化によってコンパイル時にif文などの一部分岐が省略されるケースはございます。
    つきましては、当該プロジェクトより最適化レベルをご確認いただき、レベルを下げる、もしくはoffにしていただいた状態でMSP430へ書き込み、症状が改善されるかご確認いただけますでしょうか。

    最適化レベルの設定方法は次のとおりです。

    1. プロジェクトを右クリック
    2. propertiesをクリック
    3. Build -> MSP430 Compiler -> Optimizationをクリック
    4. Optimization Level を現在の設定値より低い設定値にする、もしくはoffにする

    以上、よろしくお願いいたします。
    Cruijff

    #5265 返信

    dengensekkeiGT
    参加者

    ご回答ありがとうございました。
    試してみます。

3件の投稿を表示中 - 1 - 3件目 (全3件中)