主题中讨论的其他部件:MSP430FR4133
工具/软件:Code Composer Studio
尊敬的TI工程师:
我正在 FR2633,MET 2中运行MSP430FR4133_IR_BP_RX参考代码问题:
1,以下参数,实际输出9K载波形。如果我设置104/4=26,25/4=6,则38K 载波形正常。哪里错了?
// 38kHz 1/4占空比载波波形长度设置
TA0CCR0 = 104;
TA0CCR2 = 25;
2,While (1),持续进行的死循环导联至 载波形。 启动完成后如何进入待机状态?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
同时(1)
{
//清除标记和计数器
IR_FLAG = 0;
byte_cnt = 0;
bit_sel =0;
IF (IR_STOP == 0)
{
//配置IR输出引脚
P1SEL0|= BIT4; //使用内置IR调制器,WFP 1.4 IR
//在IR发射期间禁用端口1和端口2中断
P1IE = 0;
P2IE = 0;
IR_CODE =12;// outputkey_num (); 扫描键盘
//配置IR调制:ASK
SYSCFG1 = IRDSEL + IREN;
TA1CCTL0 = CCIE;
TA1CCTL2 = OUTMOD_7; //输出模式:重置/设置
TA0CCTL2 = OUTMOD_7; //输出模式:重置/设置
// 38kHz 1/4占空比载波波形长度设置
TA0CCR0 = 104; //参考代码104
TA0CCR2 = 25; //参考代码25
TA1CCR0 = 640; // TA0的初始时间应长于TA1
TA1CCR2 = 320;
//设置定时器操作模式
TA0CTL = tassel_2 + MC_1 + TCLR; //SMCLK,UP模式
TA1CTL = tassel_2 + MC_1 + TCLR; //SMCLK,UP模式
//将按钮编号写入缓冲区
send_data[2]= IR_code;
send_data[3]=~IR_code;
send_addr =&send_data[0];
//停止,直到IR代码结束
while (IR_STOP == 0);
TA0CCTL0 = 0;
TA0CCTL2 = 0;
TA0CTL = 0;
TA0CCR0 = 0;
TA0CCR2 = 0; //禁用timer0
TA1CCTL0 = 0;
TA1CCTL2 = 0;
TA1CTL = 0;
TA1CCR0 = 0;
TA1CCR2 = 0; //禁用Timer1
P1IE ||(BIT0 + BIT1 + BIT2+ BIT3 + BIT6); //启用GPIO中断,PresskeypadIO
//P2IE |= BIT7; 2*2的旧代码按键
}
__bis_sr_register(LPM3_bits | GIE); //进入低功耗模式
IR_STOP = 0; //启用IR代码发射
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
感谢您的持续支持