找回密码
 立即注册
查看: 22|回复: 2

AI8H2K32U P0.2脚PWM7_3无法输出PWM

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2026-07-04 09:41:28

1

主题

0

回帖

5

积分

新手上路

积分
5
发表于 昨天 09:41 | 显示全部楼层 |阅读模式
AI8H2K32U P0.2脚PWM7_3的PWM用官方提供库程序还是自己写程序,都没有PWM输出


/***************  串口初始化函数 *****************/
void        PWM_config(void)
{
        PWMx_InitDefine                PWMx_InitStructure;
       
        //PWMx_InitStructure.PWM_Mode    =        CCMRn_PWM_MODE1;        //模式,                CCMRn_FREEZE,CCMRn_MATCH_VALID,CCMRn_MATCH_INVALID,CCMRn_ROLLOVER,CCMRn_FORCE_INVALID,CCMRn_FORCE_VALID,CCMRn_PWM_MODE1,CCMRn_PWM_MODE2
        //PWMx_InitStructure.PWM_Duty    = PWMB_Duty.PWM5_Duty;        //PWM占空比时间, 0~Period
        //PWMx_InitStructure.PWM_EnoSelect   = ENO5P;                                //输出通道选择,        ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8P
        //PWM_Configuration(PWM5, &PWMx_InitStructure);                        //初始化PWM,  PWMA,PWMB

        //PWMx_InitStructure.PWM_Mode    =        CCMRn_PWM_MODE1;        //模式,                CCMRn_FREEZE,CCMRn_MATCH_VALID,CCMRn_MATCH_INVALID,CCMRn_ROLLOVER,CCMRn_FORCE_INVALID,CCMRn_FORCE_VALID,CCMRn_PWM_MODE1,CCMRn_PWM_MODE2
        //PWMx_InitStructure.PWM_Duty    = PWMB_Duty.PWM6_Duty;        //PWM占空比时间, 0~Period
        //PWMx_InitStructure.PWM_EnoSelect   = ENO6P;                                //输出通道选择,        ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8P
        //PWM_Configuration(PWM6, &PWMx_InitStructure);                        //初始化PWM,  PWMA,PWMB

        PWMx_InitStructure.PWM_Mode    =        CCMRn_PWM_MODE1;        //模式,                CCMRn_FREEZE,CCMRn_MATCH_VALID,CCMRn_MATCH_INVALID,CCMRn_ROLLOVER,CCMRn_FORCE_INVALID,CCMRn_FORCE_VALID,CCMRn_PWM_MODE1,CCMRn_PWM_MODE2
        PWMx_InitStructure.PWM_Duty    = PWMB_Duty.PWM7_Duty;        //PWM占空比时间, 0~Period
        PWMx_InitStructure.PWM_EnoSelect   = ENO7P;                                //输出通道选择,        ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8P
        PWM_Configuration(PWM7, &PWMx_InitStructure);                        //初始化PWM,  PWMA,PWMB

        //PWMx_InitStructure.PWM_Mode    =        CCMRn_PWM_MODE1;        //模式,                CCMRn_FREEZE,CCMRn_MATCH_VALID,CCMRn_MATCH_INVALID,CCMRn_ROLLOVER,CCMRn_FORCE_INVALID,CCMRn_FORCE_VALID,CCMRn_PWM_MODE1,CCMRn_PWM_MODE2
        //PWMx_InitStructure.PWM_Duty    = PWMB_Duty.PWM8_Duty;        //PWM占空比时间, 0~Period
        //PWMx_InitStructure.PWM_EnoSelect   = ENO8P;                                //输出通道选择,        ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8P
        //PWM_Configuration(PWM8, &PWMx_InitStructure);                        //初始化PWM,  PWMA,PWMB

        PWMx_InitStructure.PWM_Period   = 2047;                                        //周期时间,   0~65535
        PWMx_InitStructure.PWM_DeadTime = 0;                                        //死区发生器设置, 0~255
        PWMx_InitStructure.PWM_MainOutEnable= ENABLE;                        //主输出使能, ENABLE,DISABLE
        PWMx_InitStructure.PWM_CEN_Enable   = ENABLE;                        //使能计数器, ENABLE,DISABLE
        PWM_Configuration(PWMB, &PWMx_InitStructure);                        //初始化PWM通用寄存器,  PWMA,PWMB

        NVIC_PWM_Init(PWMB,DISABLE,Priority_0);

        //PWM5_SW(PWM5_SW_P20);                                        //PWM5_SW_P20,PWM5_SW_P17,PWM5_SW_P00,PWM5_SW_P74
        //PWM6_SW(PWM6_SW_P21);                                        //PWM6_SW_P21,PWM6_SW_P54,PWM6_SW_P01,PWM6_SW_P75
        PWM7_SW(PWM7_SW_P02);                                        //PWM7_SW_P22,PWM7_SW_P33,PWM7_SW_P02,PWM7_SW_P76
        //PWM8_SW(PWM8_SW_P23);                                        //PWM8_SW_P23,PWM8_SW_P34,PWM8_SW_P03,PWM8_SW_P77
}


/******************** 主函数**************************/
void main(void)
{
        EAXSFR();                /* 扩展寄存器访问使能 */
        //PWMB_Duty.PWM5_Duty = 128;
        //PWMB_Duty.PWM6_Duty = 256;
        PWMB_Duty.PWM7_Duty = 512;
        //PWMB_Duty.PWM8_Duty = 1024;
       
        GPIO_config();
        Timer_config();
        PWM_config();
        EA = 1;

        while (1);
}

各位大佬,问题在哪里,急等
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:299
  • 最近打卡:2026-07-04 00:01:55
已绑定手机

66

主题

808

回帖

3037

积分

论坛元老

DIY玩家

积分
3037
发表于 昨天 10:22 | 显示全部楼层
配置PWMB_PS寄存器
信号输出到对应Pxx
永怀这学徒心
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:299
  • 最近打卡:2026-07-04 00:01:55
已绑定手机

66

主题

808

回帖

3037

积分

论坛元老

DIY玩家

积分
3037
发表于 昨天 10:27 | 显示全部楼层
多数I/O 口上电后
默认的状态为高阻输入
永怀这学徒心
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-7-5 07:49 , Processed in 0.067736 second(s), 50 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表