📄 serial.c
字号:
//========================================================
//深圳奥特迅电力设备有限公司
//电池监控系统用无线传输模块
//文件名:serial.h
//描述:串口操作
//By:Andylee 2006-6-13
//anssett@163.com
//=========================================================
#include<battery.h>
bit jz_req; //上位机校正请求
bit jz_over; //校正确认结束。
bit adc_monitor; //实时监视标志位
bit addrSet; //上位机配置模块地址标志
bit addrEcho; //配置地址回显标志
unsigned char idata inCnt; //串口接收计数器
unsigned char xdata inBuf[17]; //用于接收串口信息(1154)放大了1000倍的通道输入标准值
void UartISR (void) interrupt 4
{
// unsigned char temp;
if(RI)
{ RI = 0;
inBuf[inCnt++]=SBUF;
switch(inBuf[0])
{
case '%': //通道校正
jz_req=1; //业已收到有效的校正请求,
if(inCnt==17)
{
inCnt=0;
jz_over=0; //且,通道标准输入业已传来了
adc_monitor=0;
addrSet=0;
}
break;
case '*': //模块地址配置请求命令
if(inCnt==9)
{
inCnt=0;
jz_req=0;
jz_over=0;
adc_monitor=0;
addrSet=1;
}
break;
case '@': //校正确认,校正参数保存命令
jz_req=0;
jz_over=1;
adc_monitor=0;
addrSet=0;
inCnt=0;
break;
case '$': //采样值监视命令
jz_req=0;
jz_over=0;
adc_monitor=1;
inCnt=0;
addrSet=0;
break;
case '!': //模块地址回显命令
jz_req=0;
jz_over=0;
adc_monitor=0;
inCnt=0;
addrSet=0;
addrEcho=1;
break;
case 'o'://上位机复位,放弃操作
jz_req=0;
jz_over=0;
adc_monitor=0;
inCnt=0;
addrSet=0;
addrEcho=0;
break;
default:
break;
}
}
if(TI)
{
TI = 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -