void modulator_init(void)
{
MDEN=0;//disable modulator 禁止调制器模块,不产生任何输出
MDOE=0;//disable modulator output 禁止调制器引脚输出
MDMSODIS=1; //disable source output 禁止驱动外设输出引脚(通过MDMS<3:0> 选择)的输出信号
MDMS3=0; //use MDBIT as modulation source
MDMS2=0;
MDMS1=0;
MDMS0=0;
MDBIT=0;
MDCHODIS=1; //disable modulation high carrier output 禁止驱动外设输出引脚(通过MDCH<3:0>选择)的输出信号
MDCHPOL=0;
MDCHSYNC=1;//use modulation high carrier synchronization 制器先等待载波高信号上出现下降沿,然后再切换为载波低信号
MDCH3=0; //use CCP2 as high carrier 输出(仅限PWM 输出模式)
MDCH2=1;
MDCH1=0;
MDCH0=1;
MDCLODIS=1; //disable modulation low carrier output 禁止驱动外设输出引脚(通过MDCARL寄存器的MDCL<3:0>选择)的输出信号
MDCLPOL=0; // 选定的载波低信号不反相
MDCLSYNC=1;//use modulation low carrier synchronization 调制器先等待载波低信号上出现下降沿,然后再切换为载波高信号
MDCL3=0; //use Vss as low carrier
MDCL2=0;
MDCL1=0;
MDCL0=0;
}
//通过modulator_start和modulator_stop控制发送红外
void modulator_start(void)
{
MDEN=1;//enable modulator
MDOE=1;//enable modulator output
MDBIT=0;//no wave in high carrier
}
void modulator_stop(void)
{
MDEN=0;//disable modulator
MDOE=0;//disable modulator output
MDBIT=0;//no wave in high carrier
}
我在调制模块对应的输出引脚上接一个发光LED,我觉得执行
while(1){
modulator_start();
delay_ms(500);
modulator_stop();
delay_ms(500);
}
则LED会闪烁发光,但是运行的现象是不闪烁,不发光。请大神指点一下。这个模块该怎么使用
|