📄 serial.c
字号:
#include "typedef.h"
#include "crc16.h"
#include "ll.h"
/*
void serial(void) interrupt 4 using 1
{
if(RI)
{
RI =0;
if(recv_len == 0 )
{
recv_len = SBUF;
if(recv_len > 4) //接收数至少要有5个字节
{
p_rpc =0;
pcdata[0] = SBUF;
b_pcend = 0;
recv_len --; p_rpc++;
b_recTime = 1; t_recTime = 0; //接收限时
}
}
else
{
pcdata[p_rpc] = SBUF;
p_rpc ++;
recv_len--;
if(recv_len == 0)
{
b_pcend = 1;
b_recTime = 0; t_recTime = 0;
}
}
}
}
*/
/*
uchar verifyRd(void)
{
uchar type = 0; //假定校验正确
if( deviceAddr == pcdata[1] ){ type = 1;} //地址合法
else if(deviceAddr == 0xfe) { type = 2;} //广播地址
else if(deviceAddr == 0xff) { type = 3;}
else { type = 0;}
if(type)
{
if(!chkCRC_re(pcdata,pcdata[0])) //CRC校验正确
{ type = 0;
}
}
return (type);
}
*/
/**********************************************/
/*
void send2main(void)
{
uchar i,len;
ES=0;
len = pcdata[0];
for(i=0;i<len;i++)
{
SBUF=pcdata[i]; //发送数据
while(TI==0);
TI=0;
}
ES=1;
}
*/
///////////////////////////////////////
//send_resp(0xB0,0x01,4,0);
/*
void send_resp(uchar con_byte,uchar status ,uchar dp,uchar data_len)
{
uchar i;
uint j;
if(dp==4) { } no card,iso error
else if(dp<4)
{
dp --;
for(i=data_len;i>0;i--)
{
pcdata[3+i] = pcdata[dp+i];
}
}
else
{
for(i=0;i<data_len;i++)
{
pcdata[4+i] = pcdata[dp+i];
}
}
pcdata[0] = data_len+6;
pcdata[1] = devAddr;
pcdata[2] = con_byte;
pcdata[3] = status;
j = crc16Calculate(pcdata,data_len+4);
j = ~j;
pcdata[data_len+4] = HIBYTE(j); //crc MSByte
pcdata[data_len+5] = LOBYTE(j); //crc LMSByte
send2main();
}
*/
// con_byte-------------0xb1
// status---------------0: ok
// 01: no card
// 11: parameter error
// 95: iso error
// dp--------------------pcdata[]的取数地址
// data_len--------------数据长度
/*
void send_resp(uchar con_byte,uchar status ,uchar dp,uchar data_len)
{
uint j;
dp = 0;
pcdata[0] = data_len+6;
pcdata[1] = deviceAddr;
pcdata[2] = con_byte;
pcdata[3] = status;
j = crc16Calculate(pcdata,data_len+4);
j = ~j;
pcdata[data_len+4] = HIBYTE(j); //crc MSByte
pcdata[data_len+5] = LOBYTE(j); //crc LMSByte
send2main();
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -