中井@同志社大です.
少しくらいは投稿しておかないと…てことで.
> シーケンサへはコマンドを送って、そのレスポンスを見ているのですが
> キーボードからのコマンド入力だと正常にレスポンスが返るのですが、
> コマンドを#defineなどで初期化して、while文でコマンドを送りつづけると、
> レスポンスが文字化けしたり、LCDにprintfでパソコンのモニタに表示させていた
> 文字が表示されたり、不可解な動作をします。
コマンド入力されていた時は正常動作していたという事ですが,コマンド
入力回数がループでまわしたときと同じくらいでも正常に動いていたのでしょう
か.
動いていたとすれば,差し替えた部分に問題があるという事になりますが.
この場合,コマンドを #define で定義されているのであれば,定義文字が
重複している可能性もあります.const <型> 変数=初期値; で global宣言
したほうがコンパイラにエラー検出してもらえるのでよろしいのではないかと.
#コンパイラがタコならわかりませんが…
また,LCDへ予期しない文字列が出力されているという点から,プログラム
メモリかスタックが破壊されているようにも見受けられます.
計算量が多いという事なので,スタックが不足しているなども検討されては
いかがでしょうか.
#手動で動いてるならスタック不足はどうかと思われますが…
##手入力の部分を関数化して,正常動作を確認してから自動入力するような形で
##関数だけ書き換えれば正常に動くかもしれませんね(汗;
-------------------------------------------------------------------------
中井 祐一 (Yuichi Nakai) | 信じる心を失ったら
同志社大学大学院工学研究科電気工学専攻 | 生きてはいけないわ
e-mail : tt0146@xxxxxxxxxxxxxxxxxxxx | 人は信じる力を源にして
http://www.geocities.co.jp/SiliconValley/7053/| 生きていくものだから
-------------------------------------------------------------------------