main()
{
//PB1设置为推挽输出
DrvGPIOInit(PB,E_PIN_0,E_GPIO_MODE_OUT_PP_L_SLOW);
//使能TIM2的时钟
CLK_PCKENR=0x01;
//关闭TIM2
TIM2_CR1|=0x00;
//16分频
TIM2_PSCR=0x04;
//初始的计数值
TIM3_CNTR=0x00;
//设置波形的频率,0.125MHZ/(139+1)=900HZ
TIM2_ARRH=0x00;
TIM2_ARRL=0x8b;
//使能ARP,边沿对其,向上计数
TIM2_CR1|=0x80;
//更新TIM3
TIM2_EGR|=0x01;
//设置占空比 CCR=70,选择的是TIM2的CC1通道
TIM2_CCR1H=0x00;
TIM2_CCR1L=0x46;
TIM2_CCMR1=0x68;
//使能TIM2_CH1通道
TIM2_CCER1|=0x01;
//刹车信号
TIM2_BKR|=0x80;
//使能TIM2
TIM2_CR1|=0x01;
}
此段代码烧写进芯片之后,然后复位,STM8L的PB0脚可以输出900hz的方波信号。但是Debug的时候,我单步运行直到最后一条语句执行完毕,波形都不能出来,是我对Debugde理解有问题吗?还是有其他的问题? |