2016-07-26 6 views
-1

私はATmega128などで約2年間作業していましたが、シリアル伝送にはUARTライブラリを使用しました。私はそれが何百回も使用されているのでライブラリが正しいと確信していますが、ここ数ヶ月からATmega128でUARTを実行することはできません。私は自分のハードウェアが正しいと確信しています、私は自分のコードを確認し、それに加えて、同じ16進数のファイルが他の2つのATmegaボードでは良いが、他のボードではうまく動作しません。UARTは1つのATmega128ボードで動作しますが、別のもので同じ16進ファイルで失敗します

  1. すべてのピンが出力を与えるようにコード化されている場合、PORTは5V出力を与えます。
  2. ステートメントはUART関数が発生する前に実行され、その後は停止します(何もしません、UARTの後のステートメントではなくUARTはありません)
  3. main.cに完全にUARTコードを貼り付けようとしました。

助けてください!私は何が起こっているのか分かりません。

+0

また、プログラミング中にUARTが正常に動作していることを示すプログラムを作成している間に、UARTが変な文字を表示します。 –

+0

ヒューズの設定を確認しましたか? 「動作していない」ボード上のMEGAは、例えば、間違ったクロックで動作することがあります。 –

+0

はい私は自分のヒューズを書き込み中にもプログラムしました。高ヒューズ:C4低ヒューズ:D9 –

答えて

0

まあ、多くの騒ぎの後、私はついにこの問題を見つけて解決しました。私が他のマイクロコントローラ(動作しているもの)のヒューズビットをチェックしたところ、動作していないマイクロコントローラとは異なるExtended Fuse bitsが見つかりました。私はExtended Fuse bits0xFFに変更し、問題を解決しました。

関連する問題