STM8S TIM4中断一开,程序异常问题
使用内部时钟16M ,1分频,TIM4定时8us,初始化程序如下:CLK->PCKENR1 = (uint8_t)(0x1C);//使能定时器和串口
TIM4->PSCR = (uint8_t)(0x07);//定时计数为8us =2^7/16000000
// TIM4->ARRH = (uint8_t)(0x00);//
TIM4->ARR = (uint8_t)(0x7D);//定时1ms
TIM4->CR1 |= (uint8_t)(0x01);//使能TIM4
TIM4->IER |= (uint8_t)(0x01);//使能TIM4中断
void main()
{
。。。。。
__enable_interrupt();
while(1)
{
if(UART1->SR & 0x40 == 0x40)//串口接收到数据
{//程序没法进入这里,但是可以进入TIM4的中断函数,暂停程序全速运行时,RXNE和OR标志位全为1,说明数据已经接收到了,为啥这个函数分支进不来??? STM8S的中断机制是怎么回事,不改软件中断的条件下,开中断程序就乱跑,还请高手指点。
data=UART1->DR;//保存数据
}
{
}
}
看不懂,太专业了 串口初始化呢? 请提供完整的程序代码
页:
[1]