STM8 使用串口接收中断 时 用不用 清标志位?
请问大家 串口 使用接收中断的模式。接收完数据之后, 用不用清 标志位什么的 ???
我试过中断中没做清除标志位的动作,但是一直都有效?
请问STM8串口接收中断 是不用清除标志位的是吧
@far @interrupt void UART1_RX_IRQHandler(void)
{
UART1_SendData8(UART1_ReceiveData8());
return;
}
su-409464 发表于 2015-10-17 10:12
奇怪,我用到是接收中断, 也没有清中断标志, 实际运行没有问题!
stm8s是自动清除 ,stm8l进入中断就要手动清除中断标志 要清中断标志位。不然老进入中断~ 要手动清一下吧 ts2000 发表于 2015-10-17 08:16
要清中断标志位。不然老进入中断~
奇怪, 我的怎么不会!》》》
我的串口初始化如下:
UART2_DeInit();//复位UART1
UART2_Init((uint32_t)115200, UART2_WORDLENGTH_8D,UART2_STOPBITS_1, UART2_PARITY_NO,
UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);
UART2_ITConfig(UART2_IT_RXNE,ENABLE);//配置串口1的接收中断
UART2_Cmd(ENABLE);
主函数中:
while (1)
{
if(WIFI_RX)
{
UART2_SendData8(SBUF);
}
}
串口结束中断 处理:
@far @interrupt void UART2_RX_IRQHandler(void)
{
SBUF = UART2_ReceiveData8(); //接收一个字节到缓存区
WIFI_RX = TRUE; // 成功接收一个字节
return;
}
然后 运行的时候 也很正常!
电脑发一个数到STM8,STM8 就返回去给电脑!
也不会出现什么重复中断 什么的问题,
我用到是接收中断。也没有请中断标志什么的操作!!!! M≠0 发表于 2015-10-17 09:58
要手动清一下吧
奇怪,我用到是接收中断, 也没有清中断标志, 实际运行没有问题!
接收中断后读数据寄存器就会清零标志位。发数据不太一样,有两种中断方式,具体看数据表
页:
[1]