?? system.c
字號:
//system.c
#include <iolpc2138.h>
#include "system.h"
#define VIC_TIMER0_bit (1 << VIC_TIMER0)
// 根據電路板上晶振設置振蕩器頻率
#define OSCILLATOR_CLOCK_FREQUENCY 11059200 //in MHz
unsigned int GetCclk(void) { // 獲得實際處理器時鐘頻率
return OSCILLATOR_CLOCK_FREQUENCY * (PLLCON & 1 ? (PLLCFG & 0xF) + 1 : 1);
}
//獲得外圍功能時鐘頻率
unsigned int GetPclk(void) {
unsigned int divider;
switch (VPBDIV & 2) {
case 0: divider = 4; break;
case 1: divider = 1; break;
case 2: divider = 2; break;
}
return GetCclk() / divider;
}
//相乘或相除,這里是計算鎖相環頻率
void FrecInit(void) {
PLLCFG_bit.MSEL = 4; //M - 相乘
PLLCFG_bit.PSEL = 1; //P - 相除
PLLFEED_bit.FEED = 0xAA; //更改設置
PLLFEED_bit.FEED = 0x55;
PLLCON_bit.PLLE = 1; //允許 PLL
PLLFEED_bit.FEED = 0xAA; //更改設置
PLLFEED_bit.FEED = 0x55;
//while(PLLSTAT_bit.PLOCK == 0); //等待PLOK穩定
PLLCON_bit.PLLC = 1; //連接 PLL
PLLFEED_bit.FEED = 0xAA; //更改設置
PLLFEED_bit.FEED = 0x55;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -