diff -c clock-029\clock.c clock\clock.c *** clock-029\clock.c Mon Nov 10 04:04:34 2014 --- clock\clock.c Sat Nov 19 08:09:50 2016 *************** *** 12,18 **** * (forked from wsmon-020) * (21 <== 2.1 <== 021) */ ! #define VERSION 29 /* * state for clock operations --- 12,18 ---- * (forked from wsmon-020) * (21 <== 2.1 <== 021) */ ! #define VERSION 31 /* * state for clock operations diff -c clock-029\main.c clock\main.c *** clock-029\main.c Mon Nov 10 03:59:08 2014 --- clock\main.c Sun Nov 20 09:31:03 2016 *************** *** 11,17 **** * | LPC810 | * ) P M021F | * ) X 1M28603 | ! * | N +D3414C | ... year 3, week 41, 4C' ver.13.4 * +------------+ * | Dev.ID: 0x00008100 * | B.L.Ver: 13.4 --- 11,17 ---- * | LPC810 | * ) P M021F | * ) X 1M28603 | ! * | N +D3414C | ... year 3, week 41, '4C' ver.13.4 * +------------+ * | Dev.ID: 0x00008100 * | B.L.Ver: 13.4 *************** *** 99,104 **** --- 99,117 ---- tmp = (tmp & ~0x3) | 0x0; /* flash access time = 1 system clock */ LPC_FMC->FLASHCFG = tmp; #endif /* n */ + + { + /* + * wait for the external oscilator stable. + * here, because before initial_sysCLK(), this software loop + * may waste 2.5 times longer, I don't care. + */ + VOLATILE u_long ttt; + + for(ttt=0; ttt<(LOOP_WAIT_1msec * 250); ttt++) { + ; + } + } /* * setup PLL for max 30MHz processing speed