在例程中,PWM的调节效果如果不是在示波器上观察实在是看不出个所以然来,为此只能通过修改程序来使效果明显的明显。此外,由于PWM的输出并没有接到相应的LED上,因此需要外挂LED灯来解决。
翻遍手头的小模块,还真没有应手的,无奈将一个不太好使的DHT11模块排上用场,因为它上面有一个电源指示灯,就让它充当LED了,电源则由PWM的输出来充当。
测试所用的PWM通道为PWM7,也就是PB1引脚。
测试用的主程序如下:
int main()
{
char i;
GPIOB_ModeCfg(GPIO_Pin_1, GPIO_ModeOut_PP_5mA); // PB1 - PWM7
PWMX_CLKCfg( 4 );
PWMX_CycleCfg( PWMX_Cycle_64 );
while(1)
{
for(i=0;i<64;i++)
{
PWMX_ACTOUT( CH_PWM7, 64*i/64, Low_Level, ENABLE);
mDelaymS(500);
}
for(i=64;i>0;i--)
{
PWMX_ACTOUT( CH_PWM7, 64*i/64, Low_Level, ENABLE);
mDelaymS(500);
}
}
}
下载后的显示效果是渐暗渐亮的呼吸灯效果,见图1和图2所示。
图1 渐亮效果
图2 渐暗效果
|