由于本人第一次使用Freescale单片机,有一些地方不是很清楚,最近项目中使用了
一款MC9S08LG32单片机,我将时钟这样配置,
ICSC1 = 0x10; ICSC2 = 0x24;
ICSSC = (ICSSC & (unsigned char)~0xA0) | (unsigned char)0x40;
大致的用意是,外部接4M晶振,通过FLL倍频到32M,测试发现用软件延时1秒误差太大,感觉指令周期时间不对!软件延时有误差是肯定的,但差距太大了,我延时1S,结果有两分钟半。但定时器定时时间是对的,不知时钟哪里设置有错误之处,恳请张教主及各位指教。谢谢!
软件延时1S代码大致是这样的:
delay = 32000000;
while(--delay);
|