久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9053|回復: 1
打印 上一主題 下一主題
收起左側

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)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:552120 發表于 2019-6-2 19:45 | 只看該作者
下載不了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产黄色大片在线免费观看 | 国产成人免费 | 久久精品视频网站 | 性天堂网 | 琪琪午夜伦伦电影福利片 | 亚洲男人天堂av | 精品在线一区 | av天天爽| 国产高清在线精品一区二区三区 | 性欧美xxxx | 成人免费视频网站在线看 | 午夜影院视频在线观看 | 国产丝袜一区二区三区免费视频 | 亚洲一区影院 | 国产精品久久久亚洲 | 国产精品一卡 | 国产日韩欧美精品 | 久久艹av| 国产美女永久免费无遮挡 | 久久久久国产精品人 | 国产精品呻吟久久av凹凸 | 亚洲一区二区三区免费视频 | 国产传媒毛片精品视频第一次 | 在线观看免费高清av | 视频一区二区在线观看 | 中文字幕在线观看成人 | 天天艹逼网 | 四虎国产 | 国产成人99久久亚洲综合精品 | 成人午夜精品 | 色就是色欧美 | 九九综合| 91精品国产91久久久久游泳池 | 成在线人视频免费视频 | 在线看免费 | 久久久久国产精品 | 大学生a级毛片免费视频 | 在线观看中文字幕 | 国产激情免费视频 | 久久久久精 | 精品一区二区三区在线观看国产 |