#include "CH57x_common.h" // 引入CH57x系列单片机的通用头文件
int main() // 主函数入口
{
char i; // 定义一个字符型变量i,用于循环计数
GPIOB_ModeCfg(GPIO_Pin_0, GPIO_ModeOut_PP_5mA); // 配置PB1引脚为推挽输出模式,输出电流为5mA
GPIOB_ModeCfg(GPIO_Pin_1, GPIO_ModeOut_PP_5mA); // 配置PB2引脚为推挽输出模式,输出电流为5mA
PWMX_CLKCfg( 4 ); // 配置PWM时钟源频率为4倍系统时钟
PWMX_CycleCfg( PWMX_Cycle_64 ); // 配置PWM周期为64个时钟周期
while(1) // 无限循环
{
for(i=0;i<64;i++) // 从0到63循环
{
PWMX_ACTOUT( CH_PWM6, 64*i/64, Low_Level, ENABLE); // 设置PWM6通道占空比为i/64,低电平有效,使能输出
PWMX_ACTOUT( CH_PWM7, 64*i/64, Low_Level, ENABLE); // 设置PWM7通道占空比为i/64,低电平有效,使能输出
mDelaymS(50); // 延时50毫秒
}
for(i=64;i>0;i--) // 从64到1循环
{
PWMX_ACTOUT( CH_PWM6, 64*i/64, Low_Level, ENABLE); // 设置PWM6通道占空比为i/64,低电平有效,使能输出
PWMX_ACTOUT( CH_PWM7, 64*i/64, Low_Level, ENABLE); // 设置PWM7通道占空比为i/64,低电平有效,使能输出
mDelaymS(50); // 延时50毫秒
}
}
}
亲测有效,但是TMR方式的PWM没有效果。
|