以下是输出比较的一段程序,麻烦各位高手看看哪里出错了!
#include <STM8S105C_S.h>
//unsigned int a;
void GPIO_Init(void)
{
PB_DDR=0XFF;
PB_CR1=0XFF;
PB_CR2=0XFF;
}
void clock_init(void)
{
// CLK_ECKR&=0XFE;//关闭外部时钟
// CLK_ICKR|=0X01;//打开内部时钟
CLK_CKDIVR=0X18;//主时钟频率为2M
}
void bijiao(void)
{
TIM1_PSCRH=0X00;//4分频
TIM1_PSCRL=0X03;
TIM1_ARRH=0X00;//先写高位,后写低位
TIM1_ARRL=0X50;//自动重装寄存器值为255
TIM1_CCR1H=0X00;//先写高位,后写低位
TIM1_CCR1L=0X40;//捕获比较寄存器的值为127
TIM1_CCMR1=0X10//匹配时强制OC1REF为高,禁用CCR1预装载功能
TIM1_CCER1&=0XFD;// OC1高电平为有效电平
TIM1_CCER1|=0X01;//使能输出
TIM1_CR1|=0X01;//启动计时器
}
main()
{
GPIO_Init();
clock_init();
bijiao();
while (1);
} |