OSCCON制御関数です。OSCCONを操作するためには特別な手順が必要ですがその一連操作を行います。
dsPIC30F2012のOSCCON内容
関数名 内容 void InitOSC(unsigned int i) OSCCONの変更
SFR Name Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 OSCCON - COSC - NOSC POST LOCK - CF - LPOSCEN OSWEN
- COSCは現在の設定内容です。
- NOSCに変更するOSCを指定します。その後OSWENを1にすることでCOSCに反映されます。
- POSTはポストスケーラです。00=1/1,01=1/4,10=1/16,11=1/64
- LOCKはPLLが安定した場合1になります。
- CFはクロック不良を検知した場合1になります。
- LPOSCEN=1でセカンダリOSCが有効になります。
- OSCCON.hをインクルードしてください。
- 必要であればOSCTUNを設定してください。
- 必要であればRCDIVを設定してください(PIC24の場合)。
ポストスケーラーを変更する例です(1/1から1/4)。LEDの点灯間隔が変更前は1秒間隔ですが、変更後は4秒間隔になります。
- OSCCONで変更できるオシレータの種類は制限されています。FPRを変更できません。
- LPOSCENのみを有効にする場合は、__builtin_write_OSCCONL(2)とします。
OSCCON.zip(C)2010 All rights reserved by Einstein.
- OSCCON.h
- OSCCON.c
- Sample.c