程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HAC-UM無線數傳模塊使用總結

HAC-UM無線數傳模塊使用總結

編輯:C++入門知識

 在調試HAC-UM96的過程中,遇到了很多問題,可能和自己長時間沒有用51的原因,寫起程序有點沒思路,不過後期還是基本找到了寫感覺。而自己最大的困難還是硬件方面,我一直對硬件沒有有感覺,導致一旦已經出現問題,自己往往沒什麼思路。在這幾天的調試過程中,我也慢慢總結出自己究竟被什麼攔在了門外。或許是一下幾點: 1 焊接功底差,焊個簡單的電路就需要很長的時間 多加練習 2 缺少器件 從現在開始積累一些電路和工具 3 技術支持 可以和公司及產品客服聯系,他們的某些方法或許不能幫你解決問題,但是可以給我帶來靈感 測試HAC-UM96的最簡單方法: (1)編寫串口發射程序,注意波特率9600、1位停止位、無校驗位(在51中選擇串口通信方式1)。我編寫的源代碼如下: [cpp]       /*打開串口調試程序,將波特率設置為9600,1位停止位、無奇偶校驗  晶振11.0592MHz.  */   #include <reg52.H>      #define uchar unsigned char   #define uint  unsigned int   void delayms(uint xms);   uchar flag;//產生中斷標志      //串口初始化   void uart_init()   {   www.2cto.com         TMOD |= 0x20;               /* TMOD: timer 1, mode 2, 8-bit reload        */           TH1 = 0xfd;               /* TH1:  reload value for 9600 baud @ 11.0592MHz   */           TL1 = 0xfd;           TR1   = 1;                  /* TR1:  timer 1 run                          */           REN = 1;    //允許串口接收           SM0 = 0;    //選擇串口通信方式1           SM1 = 1;           EA    = 1;                  /*打開總中斷*/           ES    = 1;                  /*打開串口中斷*/   }   /*主程序*/   void main (void)   {       uart_init();//串口初始化       SBUF = 0x55;       while(1)       {           if(flag==1)           {               delayms(500);//延時0.5s               SBUF = 0x55;           }       }   }   void delayms(uint xms)   {       uint i,j;       for(i=xms;i>0;i--)           for(j=110;j>0;j--);   }   void UART_SER (void) interrupt 4 //串行中斷服務程序   {       if(RI)                        //判斷是接收中斷產生       {         RI=0;                      //標志位清零             }       if(TI)                        //如果是發送標志位,清零       {           TI=0;           flag = 1;       }   }   (2)將HAC-UM的5個短路帽全部插上; (3)將一個HAC-UM96(簡稱為TA)的GND、VCC、TXD、RXD直接連接到單片機上的GND、VCC、RXD、TXD,注意RXD接TXD; (4)將另一個HAC-UM96(簡稱為TB)的GND、VCC也同時連接到該單片機板上,用示波器觀察TB的TXD端,會看到如下波形: (5)這樣就完成了通信;      備注:通過測電流觀察發送端是否有數據發送也可以,不過發射端必須一致發送數據,最好不要有延時,不然測得電流為0,我在連續發送的情況下測得最大電流為0.250mA。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved