Dmitry Kovalev
/
LGfiltr
forkd
Fork of LGstaandart by
Diff: system_LPC17xx.c
- Revision:
- 123:6dd1df6230e9
- Parent:
- 117:eefe61968528
- Child:
- 124:9ae09249f842
diff -r fbacb932a30b -r 6dd1df6230e9 system_LPC17xx.c --- a/system_LPC17xx.c Thu Apr 07 16:45:25 2016 +0000 +++ b/system_LPC17xx.c Thu Apr 07 20:16:24 2016 +0000 @@ -281,6 +281,23 @@ // </e> */ +// сейчас получается частота 100 Mhz +//12 * 2 * (99+1) / (5+1) = 400 (должна быть в пределах 275...550) +//потом еше делится на 4 = 100 +//нам нужно 921600* 16 = 14 745 000, теперб выбираем делитель уартовский 7 = 103 219 200, дибо 8 = 117 964 800 + +//1 выбираем второе 117 964 800 округляем до 100 000 (для второго таймера) 118 000. таку. частоту нужно на входе УАРТА. +//118 * 3 = 354, 118 * 4 = 472. + +// 354 / "3" = 118 +//попробуем с 474 >> умножитель на 59 и делитель на 3 => 12 * 2 * ("58" + 1) / ("2" + 1) = 472. +// 472 / "4" = 118 + +// с другой стороны не рекомендуют частоты выше 100 (120 только для 1769 или чото там еще ) +// 103,200 => *3 = 309.6; * 4 = 412,8. +// 412,8 умножитель на 86 и делитель на 5 => 12 * 2 * ("85" + 1) / ("4" + 1) = 412,8. !!!!!наверно можно остоновиься и попробовать!!!!!!!! +// 412,8 / "4" = 103,2 + #define CLOCK_SETUP 1 //System control - system control and status register: // bit 4 - main oscillator range: @@ -306,10 +323,12 @@ // bits 16...23 - PLL0 Pre-Divider value minus 1. Supported divider N range 1...32 // Fcc0 = (2 * M * Fin) / N #define PLL0CFG_Val 0x00050063//M - 100, N - 6, output = 2 * 100 * 12MHz / 6 = 400MHz + #define PLL1_SETUP 1 #define PLL1CFG_Val 0x00000023//M - 36, N - 1, output = 2 * 36 * 12MHz / 1 = 864MHz? //CPU Clock Configure Register #define CCLKCFG_Val 0x00000003 //Divide by 4 + //USB Clock Configuration register // bits 0...3 // 5 - PLL0 output is divided by 6. PLL0 output must be 288 MHz