用TIMER1的 CH1,CH2,CH3作PWM OD输出,CH3无法实现OD功能,CH1,CH2都可以,程序如下
MOV PD_DDR,#%00010100
MOV PD_CR1,#%10000000 ;PD2,PD4,PD5 OD
MOV PD_CR2,#%10010100 ;PD7 Pull-up with interrupt
MOV TIM1_CCMR1,#$70; // PWM 模式 反相,为了安全
MOV TIM1_CCMR2,#$70; // PWM 模式 反相,为了安全
MOV TIM1_CCMR3,#$70; // PWM 模式 反相,为了安全
MOV TIM1_CCER1,#$11; // OC1,OC2 配置为输出
MOV TIM1_CCER2,#$01; // OC3 配置为输出
MOV TIM1_ARRH,#$00
MOV TIM1_ARRL,#$ff ; 511K
;MOV TIM1_CCR1L,#$4
;MOV TIM1_CCR2L,#$4
;MOV TIM1_CCR3L,#$4
MOV TIM1_BKR,#$C0
MOV TIM1_CR1,#$01
最后的输出CH1,CH2 是OD功能,CH3是PP
如果不设CH3 那么PD5口做IO是OD的真是很奇怪
|