annqian 发表于 2018-7-23 13:56:45

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;//保存数据
}
{
}

}

zhao.zhao 发表于 2018-7-23 17:01:00

看不懂,太专业了

狂吠的小疯狗 发表于 2018-7-25 15:41:14

串口初始化呢?

butterflyspring 发表于 2018-8-2 17:26:54

请提供完整的程序代码
页: [1]
查看完整版本: STM8S TIM4中断一开,程序异常问题