- 打卡等级:初来乍到
- 打卡总天数:8
- 最近打卡:2026-01-12 10:20:09
已绑定手机
注册会员
- 积分
- 74
|
发表于 2026-1-12 15:40:11
|
显示全部楼层
// bio1pwm频率设置
void bioModeSetFreq(float freq)
{
float freqTemp = freq;
PWM15_InitTypeDef PWM15_InitStructure;
freq = 1000 / freq;
freq = freq / 0.1;
PWM15_InitStructure.PWM_Enable = ENABLE; //PWM使能, ENABLE, DISABLE
PWM15_InitStructure.PWM_Period = (u16)(freq); //PWM周期, 0~0x7fff
PWM15_InitStructure.PWM_Clock_Sel = PWMn_CLK_TM2; //时钟源选择, PWMn_CLK_SYS, PWMn_CLK_TM2
PWM15_InitStructure.PWM_Clock_PS = 0; //系统时钟分频参数(PS+1分频), 0~15
PWM15_InitStructure.PWM_Counter = ENABLE; //计数器使能, ENABLE, DISABLE
PWM15_Init(PWM5, &PWM15_InitStructure);
PWMChannelCtrl(PWM53,ENABLE,0,ENABLE,ENABLE,DISABLE); //PWM_ID, 输出使能, 初始电平, PWM中断, 第二个触发点中断, 第一触发点中断
PWM15Duty(PWM53, (u16)(freq * (4.1 - ((65 - freqTemp) * 0.046)) / 100), 0x0000);
// PWM53CR = (1 << 7) | (0 << 6) | (1 << 2)| (1 << 1)| 0;
}
这个是pwm设置函数,只要失能pwm中断就会导致定时器3关闭,当关闭pwm中断时,定时器3会恢复正常 |
|