質問:
コードを異なるMCUクロック周波数に移植すると、シリアルボーレートに影響しますか?
Nikola
2014-11-20 16:08:37 UTC
view on stackexchange narkive permalink

シリアルUARTに9600ボーレートで書き込むArduinoUnoスケッチを1MHzで動作するATtiny2313にアップロードしようとしました。 ATtinyで信号を受信して​​いませんが、これは、MCUのクロック周波数が16対1MHzであることに関係していますか?

`F_CPU`を1に設定する必要があります。ただし、これを行う唯一の方法は、` hardware`フォルダー内に新しいボードを作成することです。作成されると、 `delay`、` millis`、シリアルが修正されます。
1 回答:
Ignacio Vazquez-Abrams
2014-11-20 16:17:03 UTC
view on stackexchange narkive permalink

はい、そうです。データシートの「USART」セクションに示されているように、ボーレートは fosc (別名 FCPU )とUBRRに含まれる値の両方から直接生成されます。セクションの最後にある表は、特定のCPU周波数、必要なビットレート、およびUSARTクロックダブラーの状態に対するUBRRの適切な値を示しています。

ありがとうございます。16MHzのArduinounoスケッチをAttinyで正しく動作させる方法の詳細はどこにありますか。 FCPUとUBRRを変更する必要があると思いますか?
また、ATTINY2313の代わりにATMEGA8を使用した方が、移植性が高くなります。 avrの専門家になることに追いつく素晴らしい初心者向けの本があれば教えてください:)


このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...