Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

PIC16F1827を32MHzで動かす。

PIC16F1827 + SC1602B」でPLLを使って8MHz x 4 = 32MHzにしようとしたが出来なかった。
考えてみたら、今までは全部8MHzで動かしていたので、32MHzって1度も使ったことがなかったのだった。
で、改めてデータシートを読むと、わざわざ「5.2.2.6 32 MHz Internal Oscillator Frequency Selection」というセクションがあって、「The following settings are required to use the 32 MHz internal clock source:」と書いてある。
何だか、特別の事でもしなけりゃ32MHzにはできないのだろうか。
pic16f1827_32mhz

1.Configuration BitsのFOSCはINTOSCに
2.OSCCON RegisterのSCSはゼロに
3.OSCCON Registerのは0b1110にして8MHzに
4.OSCCON RegisterのSPLLENを1にするか、Configuration BitsのPLLENをONに

4つのうち3つは良かったが、2.のSCSの設定が間違っていた。
SCSの説明では、以下のようになっていて、
pic16f1827_32mhz_2
1xなら内蔵のオシレータを、00ならConfiguration Bitsで指定したものを使うと読めるので、どちらでも内蔵のオシレータを使うからいいのかと思っていたが、00にしないとダメだということだ。
事実、11になっていたのを00にしたらちゃんと32MHzで動いているようだ。

このエントリーをはてなブックマークに追加

Posted under: PIC16F1827


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.