PIC32MX Clock

Oscillator Diagramについて。

ConfigSet クロック関係はこの図を見ながら設定していく。
関係も至ってシンプル。のように見える。
使い込んでいくとわからない部分も出てくるのかもしれないが・・・

Oscillator Diagram

// PLL Input Divider:
#pragma config  FPLLIDIV = DIV_1 // 1x Divider
#pragma config  FPLLIDIV = DIV_2 // 2x Divider
#pragma config  FPLLIDIV = DIV_3 // 3x Divider
#pragma config  FPLLIDIV = DIV_4 // 4x Divider
#pragma config  FPLLIDIV = DIV_5 // 5x Divider
#pragma config  FPLLIDIV = DIV_6 // 6x Divider
#pragma config  FPLLIDIV = DIV_10 // 10x Divider
#pragma config  FPLLIDIV = DIV_12 // 12x Divider
// PLL Multiplier:
#pragma config  FPLLMUL = MUL_15 // 15x Multiplier
#pragma config  FPLLMUL = MUL_16 // 16x Multiplier
#pragma config  FPLLMUL = MUL_17 // 17x Multiplier
#pragma config  FPLLMUL = MUL_18 // 18x Multiplier
#pragma config  FPLLMUL = MUL_19 // 19x Multiplier
#pragma config  FPLLMUL = MUL_20 // 20x Multiplier
#pragma config  FPLLMUL = MUL_21 // 21x Multiplier
#pragma config  FPLLMUL = MUL_24 // 24x Multiplier
// USB PLL Input Divider:
#pragma config  UPLLIDIV = DIV_1 // 1x Divider
#pragma config  UPLLIDIV = DIV_2 // 2x Divider
#pragma config  UPLLIDIV = DIV_3 // 3x Divider
#pragma config  UPLLIDIV = DIV_4 // 4x Divider
#pragma config  UPLLIDIV = DIV_5 // 5x Divider
#pragma config  UPLLIDIV = DIV_6 // 6x Divider
#pragma config  UPLLIDIV = DIV_10 // 10x Divider
#pragma config  UPLLIDIV = DIV_12 // 12x Divider
// USB PLL Enable:
#pragma config  UPLLEN = ON // Enabled
#pragma config  UPLLEN = OFF // Disabled and Bypassed
// System PLL Output Clock Divider:
#pragma config  FPLLODIV = DIV_1 // PLL Divide by 1
#pragma config  FPLLODIV = DIV_2 // PLL Divide by 2
#pragma config  FPLLODIV = DIV_4 // PLL Divide by 4
#pragma config  FPLLODIV = DIV_8 // PLL Divide by 8
#pragma config  FPLLODIV = DIV_16 // PLL Divide by 16
#pragma config  FPLLODIV = DIV_32 // PLL Divide by 32
#pragma config  FPLLODIV = DIV_64 // PLL Divide by 64
#pragma config  FPLLODIV = DIV_256 // PLL Divide by 256
// Oscillator Selection Bits:
#pragma config  FNOSC = FRC // Fast RC Osc (FRC)
#pragma config  FNOSC = FRCPLL // Fast RC Osc with PLL
#pragma config  FNOSC = PRI // Primary Osc (XT,HS,EC)
#pragma config  FNOSC = PRIPLL // Primary Osc w/PLL (XT+,HS+,EC+PLL)
#pragma config  FNOSC = SOSC // Low Power Secondary Osc (SOSC)
#pragma config  FNOSC = LPRC // Low Power RC Osc (LPRC)
#pragma config  FNOSC = FRCDIV16 // Fast RC Osc w/Div-by-16 (FRC/16)
#pragma config  FNOSC = FRCDIV // Fast RC Osc w/Div-by-N (FRCDIV)
// Secondary Oscillator Enable:
#pragma config  FSOSCEN = OFF // Disabled
#pragma config  FSOSCEN = ON // Enabled
// Internal/External Switch Over:
#pragma config  IESO = OFF // Disabled
#pragma config  IESO = ON // Enabled
// Primary Oscillator Configuration:
#pragma config  POSCMOD = EC // External clock mode
#pragma config  POSCMOD = XT // XT osc mode
#pragma config  POSCMOD = HS // HS osc mode
#pragma config  POSCMOD = OFF // Primary osc disabled
// CLKO Output Signal Active on the // OSCO Pin:
#pragma config  OSCIOFNC = ON // Enabled
#pragma config  OSCIOFNC = OFF // Disabled
// Peripheral Clock Divisor:
#pragma config  FPBDIV = DIV_1 // Pb_Clk is Sys_Clk/1
#pragma config  FPBDIV = DIV_2 // Pb_Clk is Sys_Clk/2
#pragma config  FPBDIV = DIV_4 // Pb_Clk is Sys_Clk/4
#pragma config  FPBDIV = DIV_8 // Pb_Clk is Sys_Clk/8
// Clock Switching and Monitor Selection:
#pragma config  FCKSM = CSECME // Clock Switch Enable, FSCM Enabled
#pragma config  FCKSM = CSECMD // Clock Switch Enable, FSCM Disabled
#pragma config  FCKSM = CSDCMD // Clock Switch Disable, FSCM Disabled

コメント

タイトルとURLをコピーしました