Simon Ford
/
PLL
main.cpp@0:7ebf892f4561, 2009-11-29 (annotated)
- Committer:
- simon
- Date:
- Sun Nov 29 11:29:59 2009 +0000
- Revision:
- 0:7ebf892f4561
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simon | 0:7ebf892f4561 | 1 | #include "mbed.h" |
simon | 0:7ebf892f4561 | 2 | |
simon | 0:7ebf892f4561 | 3 | int main() { |
simon | 0:7ebf892f4561 | 4 | int Fin = 12000000; // 12MHz XTAL |
simon | 0:7ebf892f4561 | 5 | |
simon | 0:7ebf892f4561 | 6 | printf("PLL Registers:\n"); |
simon | 0:7ebf892f4561 | 7 | printf(" - PLL0CFG = 0x%08X\n", LPC_SC->PLL0CFG); |
simon | 0:7ebf892f4561 | 8 | printf(" - CLKCFG = 0x%08X\n", LPC_SC->CCLKCFG); |
simon | 0:7ebf892f4561 | 9 | |
simon | 0:7ebf892f4561 | 10 | int M = (LPC_SC->PLL0CFG & 0xFFFF) + 1; |
simon | 0:7ebf892f4561 | 11 | int N = (LPC_SC->PLL0CFG >> 16) + 1; |
simon | 0:7ebf892f4561 | 12 | int CCLKDIV = LPC_SC->CCLKCFG + 1; |
simon | 0:7ebf892f4561 | 13 | |
simon | 0:7ebf892f4561 | 14 | printf("Clock Variables:\n"); |
simon | 0:7ebf892f4561 | 15 | printf(" - Fin = %d\n", Fin); |
simon | 0:7ebf892f4561 | 16 | printf(" - M = %d\n", M); |
simon | 0:7ebf892f4561 | 17 | printf(" - N = %d\n", N); |
simon | 0:7ebf892f4561 | 18 | printf(" - CCLKDIV = %d\n", CCLKDIV); |
simon | 0:7ebf892f4561 | 19 | |
simon | 0:7ebf892f4561 | 20 | int Fcco = (2 * M * 12000000) / N; |
simon | 0:7ebf892f4561 | 21 | int CCLK = Fcco / CCLKDIV; |
simon | 0:7ebf892f4561 | 22 | |
simon | 0:7ebf892f4561 | 23 | printf("Clock Results:\n"); |
simon | 0:7ebf892f4561 | 24 | printf(" - Fcco = %d\n", Fcco); |
simon | 0:7ebf892f4561 | 25 | printf(" - CCLK = %d\n", CCLK); |
simon | 0:7ebf892f4561 | 26 | } |