- 打卡等级:初来乍到
- 打卡总天数:1
- 最近打卡:2026-07-04 09:41:28
新手上路
- 积分
- 5
|
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);
}
各位大佬,问题在哪里,急等
|
|