请问一下, CC2540 timer3 设置为 比较模式时, 应该 对应的pin 设置为 输出模式吧。
我的程序, 设置 TIMER3 ch1 映射P1.7; ch0 映射P1.6; 如下面程序, 当我将P1.7 和 P1.6 设置为输入时, 才可以用示波器上测量到 P1.7 和 P1.6 的波形; 当我将p1.7 和 p1.6 设置为输出时, 示波器上就看不到波形 。 请问这是怎么回事。
void Timer3_Init(void)
{
PERCFG |= (0x1<<5); //Timer3 在位置2
P1SEL |= (0x1<<7); //P1.7 为外设功能 (Timer3_ch1)
P1DIR &= ~(0x1<<7); //P1.7 为输入模式 (Timer3_ch1)
P1SEL |= (0x1<<6); //P1.6 为外设功能 (Timer3_ch0)P1DIR &= ~(0x1<<6); //P1.6 为输入模式 (Timer3_ch0)
P2SEL |= (0x1<<5); // Timer3 优先
T3CTL = 0x0f; //128分频,正/倒计数;
T3CCTL1 = 0x54; //bit6:中断使能
//bit5-3:比较切换
//bit2:比较模式 T3CCTL0 = 0x54; //bit6:中断使能
//bit5-3:比较切换
//bit2:比较模式
T3CC0 = 0xff; //设置ch0 比较寄存器值
T3CC1 = 0x7f; //设置ch1 比较寄存器值
}
uint8 Timer3_Start(void)
{
T3CTL |= (0x1<<4); //启动定时器
return 0;
}
uint8 Timer3_Stop(void)
{
T3CTL &= ~(0x1<<4); //停止定时器
return 0;
}
void main(void)
{
Timer3_Init();
Timer3_Start();
//Timer3_Stop();
}
Viki Shi:
T3CTL = 0x0f; //128分频,正/倒计数; 这分频不对吧?
如果是要输出PWM 波的话,建议参考此帖的例程: https://e2e.ti.com/support/wireless_connectivity/zigbee_6lowpan_802-15-4_mac/f/158/t/399413#pi239031348=1