新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用VC++6.0實現PC機與單片機之間的數據交換

用VC++6.0實現PC機與單片機之間的數據交換

作者: 時間:2013-02-20 來源:網絡 收藏

  2. 通信程序設計

  部分上位機程序

 ?。?)發(fā)送命令字程序,代碼如下

  void CCommDlg::OnSend()

  {

  CSerial Serial;

  //構造串口類,初始化串行口

  if (Serial.Open(2,9600)) //if-1

  //打開串行口2,波特率為9600bps

  {

  static char szMessage[]="0";

  //命令碼(可定義各種命令碼)

  int nBytesSent;

  int count=0;

  resend:

  nBytesSent=Serial.SendData(szMessage,strlen(szMessage));

  //發(fā)送命令碼

  char rdMessage [20];

  if (Serial.ReadDataWaiting()) //if-2

  {

  Serial.ReadData(rdMessage,88);

  //rdMessage 定義接收字節(jié)存儲區(qū),為全局變量//

  if ((rdMessage[0]!=0x7f)(count3))

  {

  count++;

  goto resend

  }

  if(count>=3)

  MessageBox(“發(fā)送命令字失敗”);

  }

  else //if-2

  MessageBox("接收數據錯誤");

  }

  else //if-1

  MessageBox("串行口打開失敗");

  }

  下位機通信程序:

  #includereg51.h>

  #includestdlib.h>

  #includestdio.h>

  #define count 9

  #define com_code 0x00

  #define com_code1 0xff

  unsigned char buffer[count];

  int po,year,month,date,hour;

  int minute,second,recordID ;

  int sum;

  main()

  {

  …

  /*初始化串口和定時器*/

  TMOD=0×20;

  TH1=0×fd;

  TR1=0×01;

  ET1=0×00;

  ES=1;

  EA=1;

  /*待發(fā)送數據送緩沖區(qū)*/

  buffer[0] = 0×ff; //數據特征碼

  buffer[1] = count+1; //數據長度

  buffer[2] = year; //年

  buffer[3] = month; //月

  buffer[4] = date; //日

  buffer[5] = hour; //時

  buffer[6] = minute; //分

  buffer[7] = second; //秒

  buffer[8] = recordID; //事件號

  for(po=0;pocount;po++)

  sum+=buffer[po];

  buffer[9]=sum; //校驗和

  …

  }

  /*發(fā)送中斷服務程序*/

  void send(void) interrupt 4 using 1

  {

  int i;

  RI=0;

  EA=0;

  do

  {

  for(i=0;i=count;i++)

  {

  SBUF=buffer[i]; //發(fā)送數據和校驗和//

  while(TI==0);

  TI=0;

  }

  while(RI==0);

  RI=0;

  } while(SBUF!=0); //主機接收不正確,重新發(fā)送//

  EA=1;

  Return;

  }

  5 應用總結

  根據不同需要,選擇合適的方法。我們選用的用VC++類實現的上位機和下位機的串行通信方法具有使用簡單、編寫程序方便的特點。經過半年多應用于EBM滅火系統(tǒng)的情況來看,該方法實現的系統(tǒng)運行穩(wěn)定可靠,是一種值得推廣的簡單易行的通信方法。

c語言相關文章:c語言教程


單片機相關文章:單片機教程


c++相關文章:c++教程


單片機相關文章:單片機視頻教程


單片機相關文章:單片機工作原理



上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉