我想用UART接收四组8位数据,总共是四个字符,看芯片介绍,缓冲区最多可以存储2个字符,怎样才能接收四个字符,求帮助
void uart(void)
{
RCSTA=0x90;//接收状态和控制寄存器
SPBRG=99;//0x19;
TXSTA=0x04;
BRG16=0;
RCIE=1;
}
if(RCIF)
{
RCIF=0;
RECE[DPT]=RCREG;
DPT++;
if(DPT>=2) //当DPT》=4时,程序就执行不了该中断了。
{
DPT=0;
OK=1;
CREN=0;
}
}
if(OK)
{
a=RECE[0];
b=RECE[1];
c=RECE[2] ;
d=RECE[3] ;
OK=0;
CREN=1;
}
此帖出自
小平头技术问答
if(RCIF)
{
RCIF=0;
RECE[DPT]=RCREG;
DPT++;
if(DPT>=4) //这里改成4的话,根本进不了中断了,不知道怎么回事啊。。。。。。。。。。。
{
DPT=0;
OK=1;
CREN=0;
}
}
一周热门 更多>