求助:CC2530定时器输出比较模式,输出的频率不对
系统时钟是32MHz,使用定时器1的输出比较模式,T1的I/O口映射到P0_2端口。T1CC0我设置为0x7fff,也就是说在一次计数到最大值0xffff时,输出会产生两次跳转,产生的方波频率应该为488Hz,但是实际测试到的频率是244Hz,也就是说波形没有在0x7fff处产生反转。请教各位老师,是我哪个地方还没有理解透,还没有配置好。程序如下:/****************************
//T1初始化程序
***************************/
void InitialT1test(void)
{
EA=0;
P0SEL |= 0X04;/*P0_2为T1的外设端口*/
P2DIR |= 0X80; /*设置T1的优先级为第一优先级*/
T1CCTL0=0x64; /*
7:
6:使能0通道中断请求
5:3 在向上比较清除输出,在0设置
2:比较模式
1:0 未捕获
*/
T1CC0L=0xff; /*在上升到 0xffff/2 的这个时间点时清零*/
T1CC0H=0x7f;
T1CTL = 0x01; /*
7:4
3:2 32Mhz不分频
1:0 自由运行
*/
T1IE = 1;/*开T1中断*/
EA = 1;/*开总中断*/
}
void InitSysClock()
{
CLKCONCMD &= ~0x40; // 设置系统时钟源为 32MHZ晶振
while(CLKCONSTA & 0x40); // 等待晶振稳定
CLKCONCMD &= ~0x47; // 设置系统主时钟频率为 32MHZ
}
void main()
{
InitSysClock();
InitialT1test();
while(1)
{
}
} 帖子要沉了了,问题没解决,果断顶起来。 定时器T1 32M/65536=488HZ 怎么会是244Hz呢? 迪加 发表于 2012-8-10 10:18 static/image/common/back.gif
定时器T1 32M/65536=488HZ 怎么会是244Hz呢?
迪迦老师,我测量的波形图如下:我配置是要在0x7ffff出产生跳变的,但是看输出的频率并没有发生调变。
是不是我对输出波形的寄存器配置理解不对? CLKCONCMD &= ~0x47; // 设置系统主时钟频率为 32MHZ
这一句把系统时钟设置成32M,timer时钟设置为250K了吧
页:
[1]