smain.c.bak

来自「本文详细介绍了VB和单片机之间进行通信的过程。为了确保通信的可靠性」· BAK 代码 · 共 48 行

BAK
48
字号
#include<reg51.h>
#include<stdio.h>
/*---全局变量区-----------------------------------*/
char ErrorNum=0;/*ErrorNum should below 127*/
/*-函数声明区-------------------------------------*/
 extern void init_s(void);
 extern void init_t0(void);
 extern void init_m(char data *Address,unsigned char n,unsigned char i);///内存填充任意数值
 extern bit hd2hd(void);
 extern void Send_Data( char data *Adrress,unsigned char n);
 extern bit Ack(void);
// extern void delayms(unsigned int x);
 extern void OnError(char ErrorN);
/*--------------------------------------------------*/
 void main(void)
{
  char data *da_point;//初始化内存的数据指针
  char data *data_addr;//要发送的内存数据初始位置
  init_s();//串行通信初始化,1200BPS
  da_point=0x32;/*format memory from 32H*/
  init_m(da_point,35,0x55);/*内存从32处填充35个55*/
  init_t0();//定时器0和中断并未打开,只是初始化。
  if (hd2hd()==0) /*握手程序*/
     {
      ErrorNum=1;
      OnError(ErrorNum);
     }
  /*----set data*/  
  data_addr=0x34;
  for (i=0;i<3;i++)
  {
    Send_Data(data_addr,10);
    if(Ack()==1)  break;//
    if (i=2) 
      {
      ErrorNum=2;
      OnError(ErrorNum);
     }
   }
    	
	 //--------------------------------
   TI=1;
  printf("Send sucess!\n");
   TI=0;
}

 

⌨️ 快捷键说明

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