打印
[STC单片机]

STC15系列单片CCP/PCA/PWM的管脚切换

[复制链接]
5970|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
示耳三水| | 2015-3-10 13:19 | 只看该作者

使用特权

评论回复
板凳
coody| | 2015-3-10 15:02 | 只看该作者
拷贝自STC官网下载的库函数例程中的“10-PCA-3路硬件PWM”中的main-pca-pwm.c文件里的初始化函数,你要哪组IO,随便切换。

void        PCA_config(void)
{
        PCA_InitTypeDef                PCA_InitStructure;

        PCA_InitStructure.PCA_Clock    = PCA_Clock_1T;                //PCA_Clock_1T, PCA_Clock_2T, PCA_Clock_4T, PCA_Clock_6T, PCA_Clock_8T, PCA_Clock_12T, PCA_Clock_Timer0_OF, PCA_Clock_ECI
        PCA_InitStructure.PCA_IoUse    = PCA_P24_P25_P26_P27;        //PCA_P12_P11_P10_P37, PCA_P34_P35_P36_P37, PCA_P24_P25_P26_P27
        PCA_InitStructure.PCA_Interrupt_Mode = DISABLE;                //ENABLE, DISABLE
        PCA_InitStructure.PCA_Polity   = PolityLow;                        //优先级设置        PolityHigh,PolityLow
        PCA_InitStructure.PCA_RUN      = DISABLE;                        //ENABLE, DISABLE
        PCA_Init(PCA_Counter,&PCA_InitStructure);

        PCA_InitStructure.PCA_Mode     = PCA_Mode_PWM;                //PCA_Mode_PWM, PCA_Mode_Capture, PCA_Mode_SoftTimer, PCA_Mode_HighPulseOutput
        PCA_InitStructure.PCA_PWM_Wide = PCA_PWM_8bit;                //PCA_PWM_8bit, PCA_PWM_7bit, PCA_PWM_6bit
        PCA_InitStructure.PCA_Interrupt_Mode = DISABLE;                //PCA_Rise_Active, PCA_Fall_Active, ENABLE, DISABLE
        PCA_InitStructure.PCA_Value    = 128 << 8;                        //对于PWM,高8位为PWM占空比
        PCA_Init(PCA0,&PCA_InitStructure);

        PCA_InitStructure.PCA_Mode     = PCA_Mode_PWM;                //PCA_Mode_PWM, PCA_Mode_Capture, PCA_Mode_SoftTimer, PCA_Mode_HighPulseOutput
        PCA_InitStructure.PCA_PWM_Wide = PCA_PWM_7bit;                //PCA_PWM_8bit, PCA_PWM_7bit, PCA_PWM_6bit
        PCA_InitStructure.PCA_Interrupt_Mode = DISABLE;                //PCA_Rise_Active, PCA_Fall_Active, ENABLE, DISABLE
        PCA_InitStructure.PCA_Value    = 64 << 8;                        //对于PWM,高8位为PWM占空比
        PCA_Init(PCA1,&PCA_InitStructure);

        PCA_InitStructure.PCA_Mode     = PCA_Mode_PWM;                //PCA_Mode_PWM, PCA_Mode_Capture, PCA_Mode_SoftTimer, PCA_Mode_HighPulseOutput
        PCA_InitStructure.PCA_PWM_Wide = PCA_PWM_6bit;                //PCA_PWM_8bit, PCA_PWM_7bit, PCA_PWM_6bit
        PCA_InitStructure.PCA_Interrupt_Mode = DISABLE;                //PCA_Rise_Active, PCA_Fall_Active, ENABLE, DISABLE
        PCA_InitStructure.PCA_Value    = 32 << 8;                        //对于PWM,高8位为PWM占空比
        PCA_Init(PCA2,&PCA_InitStructure);

        CR = 1;
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

18

帖子

1

粉丝