- 打卡等级:偶尔看看II
- 打卡总天数:26
- 最近打卡:2025-05-19 09:39:11
注册会员
- 积分
- 172
|
发表于 2025-5-18 18:25:33
|
显示全部楼层
谢谢回复。这是初始化,麻烦看看如何降低PWM位数?
void pwm_init(){
PWMSET = 0x08; //使能 PWM3 模块(必须先使能模块后面的设置才有效)
PWMSET = 0x0c; //使能 PWM3+PWM4模块(必须先使能模块后面的设置才有效)
P_SW2 = 0x80; //访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写
PWM0CKS = 0x00; //PWM0 时钟为系统时钟
PWM2CKS = 0x00; //0000 //2.7KHz 370.0us 1
PWM3CKS = 0x00;
PWM3C = 0x1000; //设置 PWM3 周期为 1000H 个 PWM 时钟 R1+G1;R2+G2;R3+G3
PWM2C = 0x1000; //设置 PWM2 周期为 1000H 个 PWM 时钟 R4+G4;R5+G5
//PWM00T1= 0x0100; //在计数值为 100H 地方 PWM00 通道输出低电平
PWM32T1= 0x1000; //R1--在计数值为 100H 地方 PWM32 通道输出低电平 PWM32T1=0x1000!!!!//输出占空比=0,不亮
PWM33T1= 0x1000; //G1
PWM34T1= 0x1000; //R2
PWM35T1= 0x1000; //G2
PWM36T1= 0x1000; //R3
PWM37T1= 0x1000; //G3
PWM20T1= 0x1000; //R4
PWM21T1= 0x1000; //G4
PWM22T1= 0x1000; //R5
PWM23T1= 0x1000; //G5
PWM32T2= LEVEL; //R1--在计数值为 500H 地方 PWM32 通道输出高电平 //输出占空比=0,不亮
PWM33T2= LEVEL; //G1
PWM34T2= LEVEL; //R2--在计数值为 500H 地方 PWM34 通道输出高电平 //输出占空比=0,不亮
PWM35T2= LEVEL; //G2
PWM36T2= LEVEL; //R3--在计数值为 500H 地方 PWM36 通道输出高电平 //输出占空比=0,不亮
PWM37T2= LEVEL; //G3
PWM20T2= LEVEL; //R4--在计数值为 500H 地方 PWM20 通道输出高电平 //输出占空比=0,不亮
PWM21T2= LEVEL; //G4
PWM22T2= LEVEL; //R5--在计数值为 500H 地方 PWM22 通道输出高电平 //输出占空比=0,不亮
PWM23T2= LEVEL; //G5
//---------------------------------------------------------------------
//PWM00CR= 0x80; //使能 PWM00 输出
PWM32CR= 0x80; //使能 PWM32 输出 R1
PWM33CR= 0x80; //使能 PWM33 输出 G1
PWM34CR= 0x80; //使能 PWM34 输出 R2
PWM35CR= 0x80; //使能 PWM35 输出 G2
PWM36CR= 0x80; //使能 PWM34 输出 R3
PWM37CR= 0x80; //使能 PWM35 输出 G3
PWM20CR= 0x80; //使能 PWM20 输出 R4
PWM21CR= 0x80; //使能 PWM21 输出 G4
PWM22CR= 0x80; //使能 PWM22 输出 R5
PWM23CR= 0x80; //使能 PWM23 输出 G5
//PWMCFG01 = 0x01; //启动 PWM0 模块
//PWMCFG23 = 0x10; //启动 PWM3 模块 控制 R1,G1;R2,G2,R3,G3,
PWMCFG23 = 0x11; //启动PWM3模-->控制R1,G1;R2,G2,R3,G3;启动PWM2模-->控制R4,G4;R5,G5,
}
|
|