stm8会的进,很基础的问题,关于中断 100
stm8会的进,很基础的问题,关于中断#include"IOSTM8S103F3.h"voidInit_Timer1(void){TIM1_IER=0x01;//更新中断...
stm8会的进,很基础的问题,关于中断#include "IOSTM8S103F3.h"
void Init_Timer1(void)
{
TIM1_IER=0x01;//更新中断使能
TIM1_PSCRH=0x3e;//分频值
TIM1_PSCRL=0x80;
TIM1_ARRH=0x03;//自动重装的值
TIM1_ARRL=0xe8;
TIM1_CR1=0x01;//使能计数器
}
void CLK_Init(void)
{
CLK_CKDIVR=0x00;
}
void Init_GPIO(void)
{
PC_DDR|=0x08;
PC_CR1|=0x08;
PC_CR2|=0x00;
}
#pragma vector=TIM1_OVR_UIF_vector
__interrupt void TIM1_OVR_UIF_IRQHandler(void)
{
PC_ODR^=0x08;
TIM1_SR1=0x00;
}
int main( void )
{
Init_GPIO();
CLK_Init();
Init_Timer1();
asm("rim");//开全局中断
while(1);
}
我用的单片机是stms103,想用中断实现led灯的闪烁,但是这段程序好像有点问题,led的亮灭居然达到了1分多钟,请问问题在哪,以及怎么修改 展开
void Init_Timer1(void)
{
TIM1_IER=0x01;//更新中断使能
TIM1_PSCRH=0x3e;//分频值
TIM1_PSCRL=0x80;
TIM1_ARRH=0x03;//自动重装的值
TIM1_ARRL=0xe8;
TIM1_CR1=0x01;//使能计数器
}
void CLK_Init(void)
{
CLK_CKDIVR=0x00;
}
void Init_GPIO(void)
{
PC_DDR|=0x08;
PC_CR1|=0x08;
PC_CR2|=0x00;
}
#pragma vector=TIM1_OVR_UIF_vector
__interrupt void TIM1_OVR_UIF_IRQHandler(void)
{
PC_ODR^=0x08;
TIM1_SR1=0x00;
}
int main( void )
{
Init_GPIO();
CLK_Init();
Init_Timer1();
asm("rim");//开全局中断
while(1);
}
我用的单片机是stms103,想用中断实现led灯的闪烁,但是这段程序好像有点问题,led的亮灭居然达到了1分多钟,请问问题在哪,以及怎么修改 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询