求一个C语言编程的简单串口接收数据程序,能让我参考一下
展开全部
你得注释, 越看头越大, unsigned char fifo_head=0; //往fifo写入数据时的位置unsigned char fifo_tail=0; // 读出fifo时的位置unsigned char Rx1_pos=0; //当前的接收位置unsigned char Rx1_num=0; //数据长度unsigned char Frame_in=
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/******串口接收中断子程序**************/
void RS() interrupt 4
{
ES = 0;
Tempsd[Sendcount] = SBUF;//@一次串口中断传输一个字节而已
Sendcount++;
if(Sendcount==1)
if(Tempsd[0]=='C') //@Tempsd[0]是接受数据的单?
Select_flag=1;
if(Tempsd[1]=='S')
Sendcount = 0;
if(Sendcount==15) //表示已经接收完命令的前面15个字节//
{
Sendcount = 0;
//Check=(Tempsd[1]^Tempsd[6]^Tempsd[11]^Tempsd[12]);
if(Tempsd[1]!='G'||Tempsd[6]!='G'||Tempsd[11]!='G'||Tempsd[12]!='G')
Control_flag = 1;
}
RI = 0;
ES = 1;
}
void RS() interrupt 4
{
ES = 0;
Tempsd[Sendcount] = SBUF;//@一次串口中断传输一个字节而已
Sendcount++;
if(Sendcount==1)
if(Tempsd[0]=='C') //@Tempsd[0]是接受数据的单?
Select_flag=1;
if(Tempsd[1]=='S')
Sendcount = 0;
if(Sendcount==15) //表示已经接收完命令的前面15个字节//
{
Sendcount = 0;
//Check=(Tempsd[1]^Tempsd[6]^Tempsd[11]^Tempsd[12]);
if(Tempsd[1]!='G'||Tempsd[6]!='G'||Tempsd[11]!='G'||Tempsd[12]!='G')
Control_flag = 1;
}
RI = 0;
ES = 1;
}
更多追问追答
追问
有完整头文件的程序么?我想运行试试看。
追答
完整的程序与你的开发工具,选择的平台有关了,给你也用不了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询