alextime 发表于 2014-4-2 16:14:32

32khz做主时钟,_delay_cycles();延时不对,高手近来看看

如题
贴上程序:
   时钟配置部分:
   uint8 i;                              //32768Hz
   for(i=0; i<0xff; i++);                  //wait forOSC
   BCSCTL2 |= SELM_3;                      //MCLK:32768hz
   
   延时部分:
   #define CPU_F ((double)32768)
   #define Delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
   #define Delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

    使用Delay_ms(3000);
   延时连半秒都不到?请问是什么原因?

alextime 发表于 2014-4-2 16:31:46

来看看吧~

alextime 发表于 2014-4-3 11:41:36

没人知道么?

haihuawu 发表于 2014-4-3 12:53:30

不知道long类型的变量占几个字节,如果是两个字节的话,就溢出了。

mfketggo111 发表于 2014-4-3 22:51:23

你的晶振没启动吧!是不是晶振坏掉了,然后系统直接使用的RC振荡器的始终?

还有,不建议用这种方法延时,有误差的,差的还很大。
页: [1]
查看完整版本: 32khz做主时钟,_delay_cycles();延时不对,高手近来看看