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

📄 smain.c

📁 本文详细介绍了VB和单片机之间进行通信的过程。为了确保通信的可靠性
💻 C
字号:
#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)
{
  unsigned char i;
  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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -