430G系列使用内部DCO校准1M,实测怎么只有250K??
本帖最后由 xiangjing 于 2012-5-23 16:44 编辑使用到内部DOC,用手册上校准1M,但实测IO口输出只有250K,不知道是没校准对,还是程序分频没处理好,请大家帮忙看看!!!
#include"io430g2231.h"
void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
DCOCTL = CALDCO_1MHZ; //读出的值 0xc4
BCSCTL1 = CALBC1_1MHZ; //读出的值 0x86
BCSCTL2= 0;
P1DIR = 0x44;
while(1)
{
P1OUT = 0x44; //实测只有250K
P1OUT = 0x00;
}
}
//找到原因了,430的指令很多是3-5个时钟周期; 受不了,以前一直以为它是单时钟周期。 我的就是1M啊 是1M,直接设置相应的时钟脚为第二功能,再设置为输出,打在示波器上就是1M;
而从IO口输出的话,因为指令执行需要时间,就像你所说的,就不在是1M了~
页:
[1]