⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pc_usercom.c

📁 STM32 单片机例程
💻 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 + -