📄 uart.c
字号:
cSendBuffer[7] = 0x30 + j / 16;
if((j % 16) >= 10)
cSendBuffer[8] = 0x41 + j % 16 - 10;
else
cSendBuffer[8] = 0x30 + j % 16;
cSendBuffer[9] = 0x0d;
cSendBuffer[10] = 0x0a;
cSendLen = 10;
cSendPosi = 1;
SBUF = MAOHAO_WEN;
}
/*****************************************/
unsigned char checkOut(void) //校验
{
unsigned char i,j,k,sum=0;
if(cReceBuffer[2] == 0x32)
{
j = rece_pt - 2;
for(i = 1;i <(rece_pt-2); i += 2) {
if(cReceBuffer[i]>0x3a) j=cReceBuffer[i]-0x37;
else j=cReceBuffer[i]-0x30;
if(cReceBuffer[i+1]>0x3a) k=cReceBuffer[i+1]-0x37;
else k=cReceBuffer[i+1]-0x30;
sum = sum + j * 16 + k ;
}
}
else
sum = 0xff;
cReceLen = 0;
return(sum);
}
/******************3屏***********************/
void mainSetWrite(void) //通用的回答
{
unsigned char i,j;
tran_en = 1;
cSendBuffer[1] = '0';
cSendBuffer[2] = '2'; //地址为2
cSendBuffer[3] = '0';
cSendBuffer[4] = '1';
cSendBuffer[5] = 0x30; //屏号
cSendBuffer[6] = 0x33; //屏号
cSendBuffer[7] = 0x30 + banhou_set[0];
cSendBuffer[8] = 0x30 + banhou_set[1];
cSendBuffer[9] = 0x30 + banhou_set[2];
cSendBuffer[10] = 0x30;
cSendBuffer[11] = 0x30 + tuidao_set[0];
cSendBuffer[12] = 0x30 +tuidao_set[1];
cSendBuffer[13] = 0x30 +tuidao_set[2];
cSendBuffer[14] = 0x30;
cSendBuffer[15] = 0x30 + muxin_set[0];
cSendBuffer[16] = 0x30 + muxin_set[1];
cSendBuffer[17] = 0x30 + muxin_set[2];
cSendBuffer[18] =0x30;
cSendBuffer[19] = 0x30 +buchang_set[0];
cSendBuffer[20] = 0x30 + buchang_set[1];
cSendBuffer[21] = 0x30 + buchang_set[2];
cSendBuffer[22] =0x30;
j = 0;
for(i = 1;i < 22;i += 2)
j = j + ((cSendBuffer[i] - 0x30) * 16 + cSendBuffer[i+1] - 0x30);
j &=0xff;
j=((~j)+1)&0xff;
if((j / 16) >= 10)
cSendBuffer[23] = 0x41 + j / 16 -10;
else
cSendBuffer[23] = 0x30 + j / 16;
if((j % 16) >= 10)
cSendBuffer[24] = 0x41 + j % 16 - 10;
else
cSendBuffer[24] = 0x30 + j % 16;
cSendBuffer[25] = 0x0d;
cSendBuffer[26] = 0x0a;
cSendLen = 26;
cSendPosi = 1;
SBUF = MAOHAO_WEN;
}//通用的回答
/****************************************************************/
/***************4屏**************************/
void luojuSetWrite(void) //通用的回答
{
unsigned char i,j;
tran_en = 1;
cSendBuffer[1] = '0';
cSendBuffer[2] = '2'; //地址为2
cSendBuffer[3] = '0';
cSendBuffer[4] = '1';
i = 4 ;
cSendBuffer[5] = 0x30; //屏号
cSendBuffer[6] = 0x30 + i; //屏号
i = luoju_set[0] ;
cSendBuffer[7] = 0x30 + i;
i = luoju_set[1] ;
cSendBuffer[8] = 0x30 + i;
i = luoju_set[2] ;
cSendBuffer[9] = 0x30 + i;
cSendBuffer[10] = 0x30;
i = chuandong_set[0] ;
cSendBuffer[11] = 0x30 + i;
i = chuandong_set[1] ;
cSendBuffer[12] = 0x30 + i;
i = chuandong_set[2] ;
cSendBuffer[13] = 0x30 + i;
i = chuandong_set[3] ;
cSendBuffer[14] = 0x30+i;
i = gunju_set[0] ;
cSendBuffer[15] = 0x30 + i;
i = gunju_set[1] ;
cSendBuffer[16] = 0x30 + i;
i = gunju_set[2] ;
cSendBuffer[17] = 0x30 + i;
i = gunju_set[3] ;
cSendBuffer[18] =0x30+i;
i = gunjing_set[0] ;
cSendBuffer[19] = 0x30 + i;
i = gunjing_set[1] ;
cSendBuffer[20] = 0x30 + i;
i = gunjing_set[2] ;
cSendBuffer[21] = 0x30 + i;
i = gunjing_set[3];
cSendBuffer[22] =0x30+i;
j = 0;
for(i = 1;i < 22;i += 2)
j = j + ((cSendBuffer[i] - 0x30) * 16 + cSendBuffer[i+1] - 0x30);
j &=0xff;
j=((~j)+1)&0xff;
if((j / 16) >= 10)
cSendBuffer[23] = 0x41 + j / 16 -10;
else
cSendBuffer[23] = 0x30 + j / 16;
if((j % 16) >= 10)
cSendBuffer[24] = 0x41 + j % 16 - 10;
else
cSendBuffer[24] = 0x30 + j % 16;
cSendBuffer[25] = 0x0d;
cSendBuffer[26] = 0x0a;
cSendLen = 26;
cSendPosi = 1;
SBUF = MAOHAO_WEN;
}//通用的回答
/**************5屏***************************/
void daojuSetWrite(void) //通用的回答
{
unsigned char i,j;
tran_en = 1;
cSendBuffer[1] = '0';
cSendBuffer[2] = '2'; //地址为2
cSendBuffer[3] = '0';
cSendBuffer[4] = '1';
i = 5 ;
cSendBuffer[5] = 0x30; //屏号
cSendBuffer[6] = 0x30 + i; //屏号
i = daoju_set[0] ;
cSendBuffer[7] = 0x30 + i;
i = daoju_set[1] ;
cSendBuffer[8] = 0x30 + i;
i = daoju_set[2] ;
cSendBuffer[9] = 0x30 + i;
i = daoju_set[3] ;
cSendBuffer[10] = 0x30+i;
i = mujing_set[0] ;
cSendBuffer[11] = 0x30 + i;
i = mujing_set[1] ;
cSendBuffer[12] = 0x30 + i;
i = mujing_set[2] ;
cSendBuffer[13] = 0x30 + i;
i = mujing_set[3] ;
cSendBuffer[14] = 0x30+i;
i = chuangdu_set[0] ;
cSendBuffer[15] = 0x30 + i;
i = chuangdu_set[1] ;
cSendBuffer[16] = 0x30 + i;
i = chuangdu_set[2] ;
cSendBuffer[17] = 0x30 + i;
i = chuangdu_set[3] ;
cSendBuffer[18] =0x30+i;
i = maichong_set[0] ;
cSendBuffer[19] = 0x30 + i;
i = maichong_set[1] ;
cSendBuffer[20] = 0x30 + i;
i = maichong_set[2] ;
cSendBuffer[21] = 0x30 + i;
i = maichong_set[3] ;
cSendBuffer[22] =0x30+i;
j = 0;
for(i = 1;i < 22;i += 2)
j = j + ((cSendBuffer[i] - 0x30) * 16 + cSendBuffer[i+1] - 0x30);
j &=0xff;
j=((~j)+1)&0xff;
if((j / 16) >= 10)
cSendBuffer[23] = 0x41 + j / 16 -10;
else
cSendBuffer[23] = 0x30 + j / 16;
if((j % 16) >= 10)
cSendBuffer[24] = 0x41 + j % 16 - 10;
else
cSendBuffer[24] = 0x30 + j % 16;
cSendBuffer[25] = 0x0d;
cSendBuffer[26] = 0x0a;
cSendLen = 26;
cSendPosi = 1;
SBUF = MAOHAO_WEN;
}//通用的回答
/**********************6屏******************************************/
void speedSetWrite(void) //通用的回答
{
unsigned char i,j;
tran_en = 1;
cSendBuffer[1] = '0';
cSendBuffer[2] = '2'; //地址为2
cSendBuffer[3] = '0';
cSendBuffer[4] = '1';
i = 6 ;
cSendBuffer[5] = 0x30; //屏号
cSendBuffer[6] = 0x30 + i; //屏号
i = jin_speed_set[0] ;
cSendBuffer[7] = 0x30 + i;
i = jin_speed_set[1] ;
cSendBuffer[8] = 0x30 + i;
i = jin_speed_set[2] ;
cSendBuffer[9] = 0x30 + i;
i = jin_speed_set[3] ;
cSendBuffer[10] = 0x30+i;
i = tui_speed_set[0] ;
cSendBuffer[11] = 0x30 + i;
i = tui_speed_set[1] ;
cSendBuffer[12] = 0x30 + i;
i = tui_speed_set[2] ;
cSendBuffer[13] = 0x30 + i;
i = tui_speed_set[3] ;
cSendBuffer[14] = 0x30+i;
i = gun_speed_set[0] ;
cSendBuffer[15] = 0x30 + i;
i = gun_speed_set[1] ;
cSendBuffer[16] = 0x30 + i;
i = gun_speed_set[2] ;
cSendBuffer[17] = 0x30 + i;
cSendBuffer[18] =0x30;
cSendBuffer[19] = 0x30;
cSendBuffer[20] =0x30;
cSendBuffer[21] = 0x30;
cSendBuffer[22] =0x30;
j = 0;
for(i = 1;i < 22;i += 2)
j = j + ((cSendBuffer[i] - 0x30) * 16 + cSendBuffer[i+1] - 0x30);
j &=0xff;
j=((~j)+1)&0xff;
if((j / 16) >= 10)
cSendBuffer[23] = 0x41 + j / 16 -10;
else
cSendBuffer[23] = 0x30 + j / 16;
if((j % 16) >= 10)
cSendBuffer[24] = 0x41 + j % 16 - 10;
else
cSendBuffer[24] = 0x30 + j % 16;
cSendBuffer[25] = 0x0d;
cSendBuffer[26] = 0x0a;
cSendLen = 26;
cSendPosi = 1;
SBUF = MAOHAO_WEN;
}//通用的回答
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -