新手上路
- 积分
- 23
- 金钱
- 23
- 注册时间
- 2023-2-8
- 在线时间
- 6 小时
|

楼主 |
发表于 2026-2-14 09:20:58
|
显示全部楼层
我记得我截图,可能没上传上去,第一次发贴,发完也没注意看。。。
//====================pwm初始化===========================
void TIM1_PWM_Init( void )
{
PC_DDR |= ( 1 << 6 ); //PC6 推挽输出
PC_CR1 |= ( 1 << 6 );
PC_DDR |= ( 1 << 7 ); //PC7 推挽输出
PC_CR1 |= ( 1 << 7 );
TIM1_CCMR1 = 0x60; //TIM1 CH1 输出模式 PWM1
TIM1_CCER1 |= 0x01; //CC1为输出
TIM1_CCMR2 = 0x60; //TIM1 CH2 输出模式 PWM1
TIM1_CCER1 |= 0x10; //CC2为输出
TIM1_PSCRH = 0x00;
TIM1_PSCRL = 0x00; //2M/(1+0)=2 1分频 2M
TIM1_ARRH = FRE >> 8; //设定自动重装载值高8位 FRE =0xC8 //frequency 频率
TIM1_ARRL = FRE; //设置自动重装载值低8位
TIM1_CR1 |= 0x01; //允许定时器中断
TIM1_BKR = 0x80; //刹车寄存器 使能OC1输出 定时器不工作时输出无效电平
}
//======================TIM1 CH1 PC6=====================
void TIM1_CH1_OUT( unsigned int DC )
{
TIM1_CCR1H = DC >> 8; //捕获比较寄存器高8位
TIM1_CCR1L = DC; //捕获比较寄存器低8位 占空比值
}
//=============================TIM1 CH2 PC7===========================
void TIM1_CH2_OUT( unsigned int DC )
{
TIM1_CCR2H = DC >> 8;//捕获比较寄存器高8位
TIM1_CCR2L = DC; //捕获比较寄存器低8位 占空比值
} |
|