我認為時鐘非常重要,是后面的外設的基礎,TIME/USART/I2C/SPI/等等外設都需要時鐘。如果時鐘沒有配置好,程序也跑不起來,MPLAB IDE里面,從Configuration Bits里面可以配置,或者也可以用宏定義配置。
下面一一介紹:
先從主振蕩器器POSC說起,從配置POSCMD選擇的是HS os mode表示選擇大于10M的晶振,選HT模式是小于10M,這里應該選擇XT。FNOSC選擇的是Primary Osc w/PLL (XT+,HS+,EC+PLL)也就是圖中紅線部分,里面的具體配置是:FPLLDIV(PLL輸入分頻器)=2x,PLLMULT(PLL倍頻器)=16x,PLLODIV(PLL輸出分頻器)=1x,使用系統(tǒng)時鐘為:
//SYSCLK= (8MHz Crystal/ FPLLIDIV * FPLLMUL / FPLLODIV)=64M
PBCLK外設時鐘是系統(tǒng)時鐘經(jīng)過PBDIV分頻得到的,這里配置是8x,也就是PBCLK=8M
注意到FIN的范圍在4M到5M之間,所以FPLLDIV只能選2x。