3
10
53
注册会员
void PWM_init() { P_SW2 = 0x80; PWMA_PS=0x00; //高级 PWM 通道输出脚选择位 PWMA_CCER1 = 0x00; //写CCMRx前必须先清零CCERx关闭通道 PWMA_CCMR1 = 0x60; //设置CC1为PWMA输出模式 PWMA_CCER1 = 0x01; //使能CC1通道 PWMA_CCR1 = 5; //设置占空比时间 PWMA_ARR = 60000; //设置周期时间 PWMA_ENO = 0x02; PWMA_BKR = 0x80; //使能主输出 PWMA_CR1|=0x01; //开始计时 }复制代码
使用道具 举报 送花
1848
544
等待验证会员
cPSW2 = 0x80;复制代码
cPWMAPS = 0x00;复制代码
cPWMACCER1 = 0x00;复制代码
cPWMACCMR1 = 0x60;复制代码
cPWMACCER1 = 0x01;复制代码
cPWMACCR1 = 5;复制代码
cPWMAARR = 60000;复制代码
cPWMAENO = 0x02;复制代码
cPWMABKR = 0x80;复制代码
cPWMACR1 |= 0x01;复制代码
cvoid PWMinit() { PSW2 = 0x80; // 使能对特殊功能寄存器的访问 PWMAPS = 0x00; // 选择默认的PWM输出引脚 PWMACCER1 = 0x00; // 关闭通道1 PWMACCMR1 = 0x60; // 设置通道1为PWM模式1 PWMACCER1 = 0x01; // 使能通道1 PWMACCR1 = 5; // 设置占空比 PWMAARR = 60000; // 设置周期 PWMAENO = 0x02; // 使能通道1输出 PWMABKR = 0x80; // 使能主输出 PWMACR1 |= 0x01; // 开始计时}复制代码
87
6411
1万
超级版主
PWMA_PS=0x00; //选择 PWM1_1 通道 PWMA_CCER1 = 0x00; //写 CCMRx 前必须先清零 CCxE 关闭通道 PWMA_CCMR1 = 0x60; //通道模式配置 PWMA_CCER1 = 0x04; //配置通道输出使能和极性 PWMA_ARRH=(unsigned char)(24000>>8); //设置周期时间 PWMA_ARRL=(unsigned char)24000; PWMA_ENO=0x00; PWMA_ENO|=0x02; //使能输出PWM1N PWMA_BKR=0x80; //使能主输出 PWMA_CR1|=0x01; //开始计时复制代码
国芯人*** 发表于 2025-4-7 11:58 在STC8H1K08-TSSOP20微控制器中,使用P11引脚输出高级PWM(PWMA)时,需要确保相关寄存器的配置正确。根据 ...
Debu*** 发表于 2025-4-7 12:42 以上是初始化顺序
iyxe*** 发表于 2025-4-7 17:05 PWMA_CCER1 = 0x04; //配置通道输出使能和极性 这句修改了是可以了,但是我还是不是很明白这个寄 ...
本版积分规则 发表回复 回帖后跳转到最后一页
|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )
GMT+8, 2025-11-2 13:45 , Processed in 0.155258 second(s), 85 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.