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

📄 send.c

📁 用于远程控制系统下位机的设置程序
💻 C
字号:
#include <AT898252.H>


#define TRUE  1
#define FALSE 0

#define uchar unsigned char 
#define uint  unsigned int 

extern uchar ADH_1;
extern uchar ADL_1;
extern uchar ADH_2;
extern uchar ADL_2;

extern uchar k_stat;


extern uchar mod_buff_tail;
extern uchar mod_buff[16];


sbit  LED    =P1^6;

extern void mod_data(uchar *p,uchar n);
extern void mod_comd(uchar *str);

/*向上位机发送数据,建立载波并进行正确握手后,开始向上位机发送两个通道数据,
  开关量数据及累计和1个字节,共6个字节,发送完成自动拆线挂机*/

void tx(void)
{
   uchar i,k,n,ljh=0;
   uchar a[1],a2[3];
   uchar buf[6];           /*通信缓冲区6个字节*/
   unsigned long int x;

   WMCON|=WDTRST_;               /*喂狗*/
   while(mod_buff[0]!=0x32);
   mod_buff_tail=0;
   LED=0;

/*用于非上位机拨号情况下的通信监控,3S左右没有收到载波则会复位。
  回送码: 10(31H30H)代表2400波特
           11 (31H31H)    4800
           12  (31H32H)   9600
*/
   x=500000;       /*大约3S左右*/
   while((mod_buff[0]!=0x31)&(x!=0))
    {
      WMCON|=WDTRST_;               /*喂狗*/
      mod_buff_tail=0;
      x--;
    }

	for(i=0;i<3;i++)
	{
	  for(k=0;k<250;k++)
	    for(n=0;n<40;n++);
        WMCON|=WDTRST_;               /*喂狗*/
	 }
   if(mod_buff[1]==0x30&&mod_buff[2]==0x0d)
      LED=1;            /*建立通信链路,关指示灯*/

     WMCON|=WDTRST_;               /*喂狗*/
   
	 mod_buff_tail=0;
	 while(!(mod_buff[0]==0xaa)) mod_buff_tail=0;

	 a[0]=0xaa;
	 mod_data(a,1);

	 for(i=0;i<2;i++)
	{
	  WMCON|=WDTRST_;               /*喂狗*/
	  for(k=0;k<150;k++)
	    for(n=0;n<40;n++);        
	 }
 
	  buf[0]=ADH_1;
	  buf[1]=ADL_1;
	  buf[2]=ADH_2;
	  buf[3]=ADL_2;
	  buf[4]=k_stat;
	  for(i=0;i<5;i++)
	  {
	    ljh=ljh+buf[i];
	  }
	  buf[5]=ljh;

	  mod_data(buf,6);

	  for(i=0;i<10;i++)
	  {
	  WMCON|=WDTRST_;               /*喂狗*/
	  for(k=0;k<250;k++)
	    for(n=0;n<40;n++);        
	 }

	 a2[0]='+';
	 a2[1]='+';
	 a2[2]='+';
	 mod_data(a2,3);

	for(i=0;i<10;i++)
	 {
	  WMCON|=WDTRST_;               /*喂狗*/
	   for(k=0;k<250;k++)
	    for(n=0;n<40;n++);        
	 }
	
     mod_comd("ATH0");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -