1.这两段程序有什么区别?
#pragma vector = UART0RX_VECTOR
__interrupt void UART0_RXISR(void)
{
while (!(IFG1 & URXIFG0));
IFG1 &=~URXIFG0;
RxBuf[RxPoint++]=RXBUF0;
}
#pragma vector = UART0RX_VECTOR
__interrupt void UART0_RXISR(void)
{
RxBuf[RxPoint++]=RXBUF0;
}
2.我在接收数据的时候,可能液晶或者AD在同时工作,如果他们也用到了接收中断,那么会不会我接收到的数据是经过了液晶和AD数据的干扰?
此帖出自
小平头技术问答
这个肯定是不会直接影响RXbuf的,rxbuf只在串口使用时会被改变,如果串口接收出错,可能是多个中断情况下软件冲突没处理好,有多个中断源的情况下,特别要注意中断服务程序的精简,不要在中断服务程序里执行大量工作
一周热门 更多>