本帖最后由 xiangfeizi 于 2010-10-11 20:12 编辑
单片机STM8S903K3 。
void main(void)
{
clock_inti();//时钟初始化
io_inti();//IO口初始化
while(1)
{
PC_ODR|=0x80;
}
以上程序可以将LED指示灯点亮,但如下面程序:加入基准定时程序后,指示灯怎么样也点不亮,不知道什么原因?
定时器初始化程序
void timer6_50us(void)//配置50Us中断的寄存器状态
{
TIM6_CR1=0X01;//使能TIM6计数功能,使能预装载寄存器
TIM6_IER=0X01;//使能更新中断
TIM6_CNTR=0X64;//给计数器附初值为0X64;计数100次为50uS
TIM6_PSCR=0X00;//主时钟未分频后做为定时器时钟,频率:2M
TIM6_ARR=0x64;//给预装载寄存器赋值0x64
}
主程序
void main(void)
{
clock_inti();
io_inti();
timer6_50us();
while(flag_1ms==1)
{
PC_ODR|=0x80;
}
中断服务程序
@far @interrupt void TIM6_UPD_OVF_TRG_IRQHandler(void)
{
count_50us++;
if(count_50us>=20)
{
flag_1ms=1;
count_50us=0;
}
}
本人新手,请各位看官不吝指导! |