void main ( void )
{
_asm("rim");
PC_DDR |= 0x0E; /* Output. */
PC_CR1 |= 0x0E; /* PushPull. */
PC_CR2 = 0x0E; /* Output speed up to 10MHz. */
TIM1_ARRH = 0x10; //输出脉冲周期16MHz/65535
TIM1_ARRL = 0x00; // 输出脉冲周期16MHz/65535
TIM1_CCR1H = 0x07; // 输出脉宽
TIM1_CCR1L = 0xff; // 输出脉宽
TIM1_CCMR1 |= 0x60; // PC1脚PWM输出,PWM模式1
TIM1_CCER1 |= 0x01; // CH1/CH2/ 关闭互补输出;高电平有效输出高;
TIM1_IER = 0x03; // 允许产生更新事件中断
TIM1_CR1 = 0x01; //启动计数器
while ( 1 );
}
更新中断和比较中断都有参数,就是PWM死活不输出,我对他的数据手册反反复复看,也做了各种设置方式, 就是不在PC1脚上输出; |