欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: CC2530串口通信實驗詳解 帶源碼與安卓APP [打印本頁]

作者: 小明1939604039    時間: 2017-12-17 22:26
標題: CC2530串口通信實驗詳解 帶源碼與安卓APP
串口通信,發送字符串
模塊通過串口向安卓發送數據
1、往CC2530模塊里面下載程序 打開 iar810,再用 iar810 去打開工程,在“2014-5-1-NJZBcc2530\2.基礎實驗源碼\9.串口通訊-發送字符串”文件夾內,打開之后,rebuild all,然后再 debug(如果不會,請看基礎實驗的第一個實驗),然后按仿真器的復位按鈕。程序就運行起來了。
2、安裝APK到安卓設備(需要安卓 3.1以上)
安卓 APK 在“2014-8-1-NJZBcc2530\2.基礎實驗源碼\9.串口通訊-發送字符串”目錄下,請大家自己把這個 apk:“WchUsbDriver.apk”安裝到你的安卓設備。

3、安卓顯示cc2530通過串口送來的數據:
如下順序連接硬件:
安卓—OTG 數據線————套件中的 usb 數據線—模塊   把安卓和模塊連接:

如上連接后,在你的安卓打開你剛安裝的 apk 程序,波特率選擇115200,然后點擊 config 按鈕,
就會在數據接受區,看到模塊送來的“Hello Zigbee”字符了。

4、實驗分析
本實驗相關電路:

  P0_2、 P0_3 配置為外設功能時: P0_2為 RX,   P0_3為 TX. USART0 和 USART1 是串行通信接口,它們能夠分別運行于異步 UART 模式或者同步 SPI 模式。兩個 USART 具有同樣的功能,可以設置在單獨的 I/O 引腳。

實驗相關寄存器   
相關寄存器 UxCSR、UxCSR、UxGCR、UxBUF、UxBAUD、CLKCONCMD、CLKCONSTA 如下表
所示:  (見附件)


CC2530配置串口的一般步驟:   
1、 配置 IO,使用外部設備功能。此處配置 P0_2 和 P0_3 用作串口 UART0   
2、 配置相應串口的控制和狀態寄存器。   
3、 配置串口工作的波特率。   
寄存器具體配置如下:   
PERCFG = 0x00; //位置 1 P0 口   
P0SEL = 0x0c; //P0_2,P0_3用作串口(外部設備功能)   
P2DIR &= ~0XC0; //P0優先作為UART0   
U0CSR |= 0x80; //設置為UART方式   
U0GCR |= 11;   
U0BAUD |= 216; //波特率設為115200 根據上面表中獲得的數據   
   UTX0IF = 0; //UART0 TX 中斷標志初始置位 0   
源碼分析,大家可以在 IAR 中看下注釋。


九、串口通信----發送字符
1、打開 iar810,再用 iar810去打開工程,在“2014-5-1-NJZBcc2530\2.基礎實驗源碼\9.串口通訊-發送字符串”
文件夾內,打開之后,debug,然后按仿真器的復位按鈕。程序就運行起來了。
2、用usb 數據線直接把模塊鏈接到電腦

如上圖操作后,就會在電腦里面生成一個 com口,可以在設備管理器中看的到: +


然后打開串口助手(在“cc2530模塊資料(天線桿版本--2013-9-25)\8.軟件工具\串口調試助手 V2.2”):

本實驗相關電路:

  P0_2、P0_3配置為外設功能時:P0_2為RX,  P0_3為TX. USART0和USART1是串行通信接口,它們能夠分
別運行于異步 UART模式或者同步SPI  模式。兩個 USART具有同樣的功能,可以設置在單獨的 I/O  引腳。



  1. /****************************************************************************
  2. * 文 件 名: main.c
  3. * 作    者: Andy
  4. * 修    訂: 2013-01-08
  5. * 版    本: 1.0
  6. * 描    述: 設置串口調試助手波特率:115200bps 8N1
  7. *           會收到CC2530發過來的:Hello Zigbee
  8. ****************************************************************************/
  9. #include <ioCC2530.h>
  10. #include <string.h>

  11. typedef unsigned char uchar;
  12. typedef unsigned int  uint;
  13. #define TX_SIZE    20

  14. #define TX_STRING  "Hello Zigbee  "

  15. char TxData[TX_SIZE];        //存儲發送字符串

  16. /****************************************************************************
  17. * 名    稱: DelayMS()
  18. * 功    能: 以毫秒為單位延時 16M時約為535,32M時要調整,系統時鐘不修改默認為16M
  19. * 入口參數: msec 延時參數,值越大延時越久
  20. * 出口參數: 無
  21. ****************************************************************************/
  22. void DelayMS(uint msec)
  23. {  
  24.     uint i,j;
  25.    
  26.     for (i=0; i<msec; i++)
  27.         for (j=0; j<1070; j++);
  28. }

  29. /****************************************************************************
  30. * 名    稱: InitUart()
  31. * 功    能: 串口初始化函數
  32. * 入口參數: 無
  33. * 出口參數: 無
  34. ****************************************************************************/
  35. void InitUart(void)
  36. {
  37.     PERCFG = 0x00;           //外設控制寄存器 USART 0的IO位置:0為P0口位置1
  38.     P0SEL = 0x0c;            //P0_2,P0_3用作串口(外設功能)
  39.     P2DIR &= ~0XC0;          //P0優先作為UART0
  40.    
  41.     U0CSR |= 0x80;           //設置為UART方式
  42.     U0GCR |= 11;                                       
  43.     U0BAUD |= 216;           //波特率設為115200
  44.     UTX0IF = 0;              //UART0 TX中斷標志初始置位0
  45. }

  46. /****************************************************************************
  47. * 名    稱: UartSendString()
  48. * 功    能: 串口發送函數
  49. * 入口參數: Data:發送緩沖區   len:發送長度
  50. * 出口參數: 無
  51. ****************************************************************************/
  52. void UartSendString(char *Data, int len)
  53. {
  54.     uint i;
  55.    
  56.     for(i=0; i<len; i++)
  57.     {
  58.         U0DBUF = *Data++;
  59.         while(UTX0IF == 0);
  60.         UTX0IF = 0;
  61.     }
  62. }

  63. /****************************************************************************
  64. * 程序入口函數
  65. ****************************************************************************/
  66. void main(void)
  67. {       
  68.     CLKCONCMD &= ~0x40;               //設置系統時鐘源為32MHZ晶振
  69.     while(CLKCONSTA & 0x40);          //等待晶振穩定為32M
  70.     CLKCONCMD &= ~0x47;               //設置系統主時鐘頻率為32MHZ   
  71.       
  72.     InitUart();                       //調置串口相關寄存器
  73.     memset(TxData, 0, TX_SIZE);       //數據清0
  74.     memcpy(TxData, TX_STRING, sizeof(TX_STRING)); //復制發送字符串到TxData
  75.         
  76.     while(1)
  77.     {
  78.         UartSendString(TxData, sizeof(TX_STRING)); //串口發送數據
  79.         DelayMS(1000);                 //延時
  80.     }
  81. }
復制代碼

全部資料51hei下載地址:
9.串口通訊-發送字符串.rar (3.21 MB, 下載次數: 49)



作者: 652002973    時間: 2019-6-2 19:45
下載不了




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1