📄 pc_usercom.c
字号:
#include "..\main\include.h"
//#include "include.h"
//处理未定义的命令返回数据
void unDefineFun(uint8 *rbuf, uint8 *sbuf)
{
PC_RS485Receive_Enable();//切换RS485到接收状态
//SendFunAck(0);
}
//联机测试
void testOnline(uint8 *rbuf, uint8 *sbuf)
{
WaitSendOver();
SendFunAck(0);
}
//上传时间
void UploadTime(uint8 *rbuf, uint8 *sbuf)
{uint32 sec;
time(&sec);
WaitSendOver();
cpyU8fU32(sbuf, sec);
SendFunAck(4);
}
//下载时间
void DownloadTime(uint8 *rbuf, uint8 *sbuf)
{uint32 sec;
cpyU32fU8(sec, rbuf);
settime(sec);//设置UTC时间
WaitSendOver();
SendFunAck(0);
SetUpdataTimeS();
}
//Application Interrupt and Reset Control Register
//0xE000ED0C
void ExitUser(void)
{
ShortTimeIwdgSetup();
}
//升级请求或者升级结束
void RequestUpdata(uint8 *rbuf, uint8 *sbuf)
{uint8 ch;
ch=*rbuf++;
if(ch==1)//开始
{
WaitSendOver();
}
else//无效
{
return;
}
SendFunAck(0);//
if(ch==1)//结束
{
WaitSendOver(); //Wait_ms(20); //发送中断方式需要
Wait_ms(20);
ExitUser();
Wait_ms(20);
}
}
/**************************************************************************************
函数名称:void PC_ComdCpp(uchar Comd)
函数功能:根据当前命令和程序流程表查得要执行的函数
输入参数:comd:命令
输出参数:
函数说明:
**************************************************************************************/
void PC_ComdCpp(uint16 Comd)
{uint8 *rbuf; //接收缓冲
uint8 *sbuf; //发送缓冲
rbuf=getReceiveBuf();
sbuf=getSendBuf();
switch(Comd)
{
case RequestUpdata_Code:
RequestUpdata(rbuf, sbuf);
break;
case testOnline_Code:
testOnline(rbuf, sbuf);
break;
case DownloadTime_Code:
DownloadTime(rbuf, sbuf);
break;
case UploadTime_Code:
UploadTime(rbuf, sbuf);
break;
default :
unDefineFun(rbuf, sbuf);
//ExitIAP();
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -