0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CC2530 串口配置步驟

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2023-07-06 14:42 ? 次閱讀

一、并行通信與串行通信

微控制器與外設(shè)之間的數(shù)據(jù)通信,根據(jù)連線結(jié)構(gòu)和傳送方式的不同,可以分為兩種:并行通信和串行通信。

并行通信:指數(shù)據(jù)的各位同時(shí)發(fā)送或接收,每個(gè)數(shù)據(jù)位使用單獨(dú)的一條導(dǎo)線。傳輸速度快、效率高,但需要的數(shù)據(jù)線較多,成本高。

串行通信:指數(shù)據(jù)一位接一位地順 序發(fā)送或接收。需要的數(shù)據(jù)線少,成本低,但傳輸速度慢,效率低。

二、CC2530的串口通信模塊

CC2530有兩個(gè)串行通信接口USART0和USART1,它們能夠分別運(yùn)行于異步UART模式或者同步SPI模式。

兩個(gè)USART接口具有相同的功能,通過(guò)PERCFG寄存器可以設(shè)置兩個(gè)USART接口對(duì)應(yīng)外部I/O引腳的映射關(guān)系:

位置1:RX0 --- P0_2 TX0 --- P0_3 RX1 --- P0_5 TX1 --- P0_4

位置2:RX0 --- P1_4 TX0 --- P1_5 RX1 --- P1_7 TX1 --- P1_6

對(duì)每個(gè)USART串口通信編程,本質(zhì)是設(shè)置相關(guān)的5個(gè)寄存器:

<1> UxCSR: USARTx的控制和狀態(tài)寄存器。

<2> UxUCR: USARTx的UART控制寄存器。

<3> UxGCR: USARTx的通用控制寄存器。

<4> UxDBUF:USARTx的接收/發(fā)送數(shù)據(jù)緩沖寄存器。

<4> UxBAUD:USARTx的波特率控制寄存器。

三、UART口與計(jì)算機(jī)的COM口連接

先認(rèn)識(shí)兩種電平:TTL電平和RS232電平。

TTL電平: 邏輯0----小于0.8V 邏輯1----大于2.4V。

RS232電平: 邏輯0----5 15V 邏輯1---- -5 -15V。

計(jì)算機(jī)的串行通信接口是RS-232的標(biāo)準(zhǔn)接口,而CC2530單片機(jī)的UART接口則是TTL電平,兩者的電氣規(guī)范不一致,所以要完成兩者之間的數(shù)據(jù)通信,就需要借助接口芯片在兩者之間進(jìn)行電平轉(zhuǎn)換,常用的有MAX232芯片。

img

注意:DB9接口中,公頭和母頭的排列順序是不同的。

四、原理圖數(shù)據(jù)手冊(cè)分析

img

img

img

img

配置串口的步驟

img

img

img

img

五、代碼示例

(1) 示例1: 編寫串口初始化函數(shù),實(shí)現(xiàn)串口字符串發(fā)送 (CPU頻率在32MHZ下,波特率的為115200)

#include < ioCC2530.h >
 #include < string.h >
 ?
 //定義LED燈的端口
 #define LED1 P1_2
 #define LED2 P1_3
 ?
 //定義KEY按鍵的端口
 #define KEY1 P1_0       //定義按鍵為P1_0口控制
 #define KEY2 P1_1       //定義按鍵為P1_1口控制
 ?
 /*
 函數(shù)功能:LED燈IO口初始化
 硬件連接:LED1-- >P1_2 , LED2-- >P1_3
 */
 void LED_Init(void)
 {
     P1DIR |=0x3< 2;  //配置P1_2、P1_3為輸出模式
     LED1 = 1;
     LED2 = 1;
 }
 ?
 /*
 函數(shù)功能:按鍵IO口初始化
 硬件連接:KEY1-- >P1_0  KEY2-- >P1_1  
 */
 void KEY_Init(void)
 {
     P1SEL&=~(0x3< 0); //配置P1_0,P1_1處于通用GPIO口模式
     P1DIR&=~(0x3< 0); //配置P1_0,P1_1為輸入模式
     P1INP|= 0x3< 0;   //上拉   
 }
 ?
 ?
 void delay10ms(void)   //誤差 0us
 {
     unsigned char a,b,c;
     for(c=193;c >0;c--)
         for(b=118;b >0;b--)
             for(a=2;a >0;a--);
 }
 ?
 ?
 /*
 函數(shù)功能:按鍵掃描
 返 回 值:按下的按鍵值
 */
 unsigned char Key_Scan(void)
 {
     static unsigned char stat=1;
     if((KEY1==0||KEY2==0)&&stat)
     {
        stat=0;
        delay10ms();
        if(KEY1==0)return 1;
        if(KEY2==0)return 2;
     }
     else
     {
         if(KEY1&&KEY2)stat=1;
     }
     return 0;
 }
 ?
 /*
 函數(shù)功能:串口0初始化
 */
 void Init_Uart0(void)
 {
   PERCFG&=~(1< 0);  //串口0的引腳映射到位置1,即P0_2和P0_3
   P0SEL|=0x3< 2;   //將P0_2和P0_3端口設(shè)置成外設(shè)功能
   U0BAUD = 216;     //32MHz的系統(tǒng)時(shí)鐘產(chǎn)生115200BPS的波特率
   U0GCR&=~(0x1F< 0);//清空波特率指數(shù)
   U0GCR|=11< 0;      //32MHz的系統(tǒng)時(shí)鐘產(chǎn)生115200BPS的波特率
   U0UCR |= 0x80;    //禁止流控,8位數(shù)據(jù),清除緩沖器
   U0CSR |= 0x3< 6;  //選擇UART模式,使能接收器
 }
 ?
 ?
 /*
 函數(shù)功能:UART0發(fā)送字符串函數(shù)
 */
 void UR0SendString(char *str,unsigned int len)
 {
   int j;
   for(j=0;j< len;j++)
   {
     U0DBUF = *str++;    //將要發(fā)送的1字節(jié)數(shù)據(jù)寫入U(xiǎn)0DBUF
     while(UTX0IF == 0);//等待數(shù)據(jù)發(fā)送完成
     UTX0IF = 0;       //清除發(fā)送完成標(biāo)志,準(zhǔn)備下一次發(fā)送
   }
 }
 ?
 /****************************************** 
  * 函數(shù)描述:32M系統(tǒng)時(shí)鐘下的毫秒延時(shí)函數(shù) 
  ******************************************/  
 void Delay_ms(unsigned int ms)  
 {  
   unsigned int i,j;  
   for(i = 0; i < ms; i++)  
   {  
     for(j = 0;j < 1774; j++);  
   }  
 }  
 ?
 ?
 /*主函數(shù)*/
 void main(void)
 {
     char buff[]="-----萬(wàn)邦易嵌嵌入式開發(fā)-----\\r\\n";
     unsigned char key;
     CLKCONCMD &= ~0x40;            //設(shè)置系統(tǒng)時(shí)鐘源為32MHz晶振  
     for(; CLKCONSTA & 0x40;);      //等待晶振穩(wěn)定  
     CLKCONCMD &= ~0X47;            //設(shè)置系統(tǒng)主時(shí)鐘頻率為32MHz  
   
     LED_Init();//初始化LED燈控制IO口
     KEY_Init();//按鍵初始化
     Init_Uart0();        //初始化串口0
     while(1)          
     {  
        key=Key_Scan();
        if(key)
        {
           //先發(fā)送一個(gè)字符串,測(cè)試串口0數(shù)據(jù)傳輸是否正確
           UR0SendString(buff,strlen(buff));     
           LED2 = !LED2;
        }       
     }
 }
 ?
 ?

(2)示例2: 編寫串口初始化函數(shù),實(shí)現(xiàn)串口字符串發(fā)送 (CPU頻率在16MHZ下,波特率為115200)

#include < ioCC2530.h >
 #include < string.h >
 ?
 //定義LED燈的端口
 #define LED1 P1_2
 #define LED2 P1_3
 ?
 //定義KEY按鍵的端口
 #define KEY1 P1_0       //定義按鍵為P1_0口控制
 #define KEY2 P1_1       //定義按鍵為P1_1口控制
 ?
 /*
 函數(shù)功能:LED燈IO口初始化
 硬件連接:LED1-- >P1_2 , LED2-- >P1_3
 */
 void LED_Init(void)
 {
     P1DIR |=0x3< 2;  //配置P1_2、P1_3為輸出模式
     LED1 = 1;
     LED2 = 1;
 }
 ?
 /*
 函數(shù)功能:按鍵IO口初始化
 硬件連接:KEY1-- >P1_0  KEY2-- >P1_1  
 */
 void KEY_Init(void)
 {
     P1SEL&=~(0x3< 0); //配置P1_0,P1_1處于通用GPIO口模式
     P1DIR&=~(0x3< 0); //配置P1_0,P1_1為輸入模式
     P1INP|= 0x3< 0;   //上拉   
 }
 ?
 ?
 void delay10ms(void)   //誤差 0us
 {
     unsigned char a,b,c;
     for(c=193;c >0;c--)
         for(b=118;b >0;b--)
             for(a=2;a >0;a--);
 }
 ?
 ?
 /*
 函數(shù)功能:按鍵掃描
 返 回 值:按下的按鍵值
 */
 unsigned char Key_Scan(void)
 {
     static unsigned char stat=1;
     if((KEY1==0||KEY2==0)&&stat)
     {
        stat=0;
        delay10ms();
        if(KEY1==0)return 1;
        if(KEY2==0)return 2;
     }
     else
     {
         if(KEY1&&KEY2)stat=1;
     }
     return 0;
 }
 ?
 /*
 函數(shù)功能:串口0初始化
 */
 void Init_Uart0(void)
 {
   PERCFG&=~(1< 0);  //串口0的引腳映射到位置1,即P0_2和P0_3
   P0SEL|=0x3< 2;   //將P0_2和P0_3端口設(shè)置成外設(shè)功能
   U0BAUD = 216;     //16MHz的系統(tǒng)時(shí)鐘產(chǎn)生115200BPS的波特率
   U0GCR&=~(0x1F< 0);//清空波特率指數(shù)
   U0GCR|=12< 0;      //16MHz的系統(tǒng)時(shí)鐘產(chǎn)生115200BPS的波特率
   U0UCR |= 0x80;    //禁止流控,8位數(shù)據(jù),清除緩沖器
   U0CSR |= 0x3< 6;  //選擇UART模式,使能接收器
 }
 ?
 ?
 /*
 函數(shù)功能:UART0發(fā)送字符串函數(shù)
 */
 void UR0SendString(char *str,unsigned int len)
 {
   int j;
   for(j=0;j< len;j++)
   {
     U0DBUF = *str++;    //將要發(fā)送的1字節(jié)數(shù)據(jù)寫入U(xiǎn)0DBUF
     while(UTX0IF == 0);//等待數(shù)據(jù)發(fā)送完成
     UTX0IF = 0;       //清除發(fā)送完成標(biāo)志,準(zhǔn)備下一次發(fā)送
   }
 }
 ?
 /****************************************** 
  * 函數(shù)描述:32M系統(tǒng)時(shí)鐘下的毫秒延時(shí)函數(shù) 
  ******************************************/  
 void Delay_ms(unsigned int ms)  
 {  
   unsigned int i,j;  
   for(i = 0; i < ms; i++)  
   {  
     for(j = 0;j < 1774; j++);  
   }  
 }  
 ?
 ?
 /*主函數(shù)*/
 void main(void)
 {
     char buff[]="-----萬(wàn)邦易嵌嵌入式開發(fā)-----\\r\\n";
     unsigned char key;
     LED_Init();//初始化LED燈控制IO口
     KEY_Init();//按鍵初始化
     Init_Uart0();        //初始化串口0
     while(1)          
     {  
        key=Key_Scan();
        if(key)
        {
           //先發(fā)送一個(gè)字符串,測(cè)試串口0數(shù)據(jù)傳輸是否正確
           UR0SendString(buff,strlen(buff));     
           LED2 = !LED2;
        }       
     }
 }
 ?
 ?

(3)示例3:中斷接收

#include < ioCC2530.h >
 #include < string.h >
 ?
 //定義LED燈的端口
 #define LED1 P1_2
 #define LED2 P1_3
 ?
 //定義KEY按鍵的端口
 #define KEY1 P1_0       //定義按鍵為P1_0口控制
 #define KEY2 P1_1       //定義按鍵為P1_1口控制
 ?
 unsigned char dataRecv;
 unsigned char Flag = 0;
 ?
 /*
 函數(shù)功能:LED燈IO口初始化
 硬件連接:LED1-- >P1_2 , LED2-- >P1_3
 */
 void LED_Init(void)
 {
     P1DIR |=0x3< 2;  //配置P1_2、P1_3為輸出模式
     LED1 = 1;
     LED2 = 1;
 }
 ?
 /*
 函數(shù)功能:按鍵IO口初始化
 硬件連接:KEY1-- >P1_0  KEY2-- >P1_1  
 */
 void KEY_Init(void)
 {
     P1SEL&=~(0x3< 0); //配置P1_0,P1_1處于通用GPIO口模式
     P1DIR&=~(0x3< 0); //配置P1_0,P1_1為輸入模式
     P1INP|= 0x3< 0;   //上拉   
 }
 ?
 ?
 void delay10ms(void)   //誤差 0us
 {
     unsigned char a,b,c;
     for(c=193;c >0;c--)
         for(b=118;b >0;b--)
             for(a=2;a >0;a--);
 }
 ?
 ?
 /*
 函數(shù)功能:按鍵掃描
 返 回 值:按下的按鍵值
 */
 unsigned char Key_Scan(void)
 {
     static unsigned char stat=1;
     if((KEY1==0||KEY2==0)&&stat)
     {
        stat=0;
        delay10ms();
        if(KEY1==0)return 1;
        if(KEY2==0)return 2;
     }
     else
     {
         if(KEY1&&KEY2)stat=1;
     }
     return 0;
 }
 ?
 /*
 函數(shù)功能:串口0初始化
 */
 void Init_Uart0(void)
 {
   PERCFG&=~(1< 0);  //串口0的引腳映射到位置1,即P0_2和P0_3
   P0SEL|=0x3< 2;   //將P0_2和P0_3端口設(shè)置成外設(shè)功能
   U0BAUD = 216;     //16MHz的系統(tǒng)時(shí)鐘產(chǎn)生115200BPS的波特率
   U0GCR&=~(0x1F< 0);//清空波特率指數(shù)
   U0GCR|=12< 0;      //16MHz的系統(tǒng)時(shí)鐘產(chǎn)生115200BPS的波特率
   U0UCR |= 0x80;    //禁止流控,8位數(shù)據(jù),清除緩沖器
   U0CSR |= 0x3< 6;  //選擇UART模式,使能接收器
   UTX0IF = 0;       //清除TX發(fā)送中斷標(biāo)志
   URX0IF = 0;       //清除RX接收中斷標(biāo)志
   URX0IE = 1;       //使能URAT0的接收中斷
   EA = 1;           //使能總中斷
 }
 ?
 ?
 ?
 /*
 函數(shù)功能:UART0發(fā)送字符串函數(shù)
 */
 void UR0SendString(char *str,unsigned int len)
 {
   int j;
   for(j=0;j< len;j++)
   {
     U0DBUF = *str++;    //將要發(fā)送的1字節(jié)數(shù)據(jù)寫入U(xiǎn)0DBUF
     while(UTX0IF == 0);//等待數(shù)據(jù)發(fā)送完成
     UTX0IF = 0;       //清除發(fā)送完成標(biāo)志,準(zhǔn)備下一次發(fā)送
   }
 }
 ?
 /*================UR0接收中斷服務(wù)函數(shù)================*/
 #pragma vector = URX0_VECTOR
 __interrupt void UART0_RecvInterrupt()
 {
   URX0IF = 0;           //清除RX接收中斷標(biāo)志
   dataRecv =  U0DBUF;   //將數(shù)據(jù)從接收緩沖區(qū)讀出
   Flag = 1;             //設(shè)置接收指令標(biāo)志
 }
 ?
 ?
 /*================執(zhí)行上位機(jī)的指令=================*/
 void ExecuteTheOrder()
 {
   Flag = 0 ;            //清除接收指令標(biāo)志
   switch(dataRecv)
   {
     case 'A':
       UR0SendString("選擇1!\\r\\n",9);
       break;
     case 'B':
       UR0SendString("選擇2!\\r\\n",9);
       break;
     case 'C':
       UR0SendString("選擇3!\\r\\n",9);
       break;
     case 'D':
       UR0SendString("選擇4!\\r\\n",9);
       break;
   }
 }
 ?
 ?
 /*主函數(shù)*/
 void main(void)
 {
     char buff[]="-----嵌入式開發(fā)-----\\r\\n";
     unsigned char key;
     LED_Init();//初始化LED燈控制IO口
     KEY_Init();//按鍵初始化
     Init_Uart0();        //初始化串口0
     while(1)          
     {
        key=Key_Scan();
        if(key)
        {
           //先發(fā)送一個(gè)字符串,測(cè)試串口0數(shù)據(jù)傳輸是否正確
           UR0SendString(buff,strlen(buff));     
           LED2 = !LED2;
        }
       
       if(Flag == 1)      //查詢是否收到上位機(jī)指令
       {
         ExecuteTheOrder();
       }
     }
 }
 ?
 ?
 ?

六、波特率計(jì)算

計(jì)算波特率

CC2530的波特率由BAUD_E和BAUD_M共同決定:

img

F為微控制器的系統(tǒng)時(shí)鐘頻率:16MHz或32MHz。

TI公司提供的數(shù)據(jù)手冊(cè)中,給出了32MHz系統(tǒng)時(shí)鐘下各常用波特率的參數(shù)值,由計(jì)算公式亦不難得出16MHz系統(tǒng)時(shí)鐘下對(duì)應(yīng)的參數(shù)值。

img

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7552

    瀏覽量

    151423
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1626

    瀏覽量

    55528
  • CC2530
    +關(guān)注

    關(guān)注

    19

    文章

    221

    瀏覽量

    58040
  • 串口配置
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    1631
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CC2530 GPIO口輸入配置配置步驟

    介紹CC2530 GPIO口輸入配置配置。
    的頭像 發(fā)表于 07-06 14:40 ?2668次閱讀
    <b class='flag-5'>CC2530</b> GPIO口輸入<b class='flag-5'>配置</b><b class='flag-5'>配置</b><b class='flag-5'>步驟</b>

    CC2530 外部中斷配置步驟

    介紹CC2530 外部中斷配置步驟。
    的頭像 發(fā)表于 07-06 14:41 ?3140次閱讀
    <b class='flag-5'>CC2530</b> 外部中斷<b class='flag-5'>配置</b><b class='flag-5'>步驟</b>

    Cc2530

    CC2530
    三分溫柔
    發(fā)布于 :2022年05月31日 21:12:52

    CC2530的時(shí)鐘配置概述

    二、CC2530的時(shí)鐘配置概述CC2530同樣也有兩個(gè)時(shí)鐘,一個(gè)是高頻時(shí)鐘信號(hào)給CPU使用,另一個(gè)低頻時(shí)鐘信號(hào)給看門狗,睡眠定時(shí)器等使用;相對(duì)應(yīng)的高速時(shí)鐘CC2530片內(nèi)有一個(gè)16MH
    發(fā)表于 01-19 07:01

    CC2530應(yīng)用電路

    CC2530應(yīng)用電路 Component Description Va
    發(fā)表于 06-29 08:09 ?5548次閱讀
    <b class='flag-5'>CC2530</b>應(yīng)用電路

    cc2530底板

    CC2530的核心板原理圖和詳細(xì)底板的PCB,包括重要外設(shè)的PCB
    發(fā)表于 06-20 17:48 ?0次下載

    cc2530的PWM實(shí)現(xiàn)

    CC2530 結(jié)合了領(lǐng)先的RF 收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051 CPU,系統(tǒng)內(nèi)可編程閃存,8-KB RAM 和許多其它強(qiáng)大的功能。CC2530 有四種不同的閃存版本:CC2530F32/64/128/256,分別具有
    發(fā)表于 11-07 18:43 ?4019次閱讀
    <b class='flag-5'>cc2530</b>的PWM實(shí)現(xiàn)

    CC2530英文數(shù)據(jù)手冊(cè)

    CC2530英文數(shù)據(jù)手冊(cè)
    發(fā)表于 12-02 11:06 ?29次下載
    <b class='flag-5'>CC2530</b>英文數(shù)據(jù)手冊(cè)

    cc2530程序設(shè)計(jì)實(shí)例之CC2530 RF部分使用—實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)收發(fā)

    本文主要介紹了cc2530程序設(shè)計(jì)實(shí)例之CC2530 RF部分使用—實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)收發(fā),通過(guò)串口調(diào)試助手發(fā)送字節(jié)數(shù)據(jù)。例如通過(guò)串口向設(shè)備A發(fā)送HelloCC
    發(fā)表于 12-09 12:22 ?2.2w次閱讀
    <b class='flag-5'>cc2530</b>程序設(shè)計(jì)實(shí)例之<b class='flag-5'>CC2530</b> RF部分使用—實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)收發(fā)

    關(guān)于12.AD采集cc2530溫度串口顯示

    通過(guò)實(shí)驗(yàn)掌握CC2530芯片串口配置與使用;采集內(nèi)部溫度傳感器信息通過(guò)串口發(fā)送到上位機(jī);觀察TX指示燈。
    發(fā)表于 08-06 08:00 ?10次下載
    關(guān)于12.AD采集<b class='flag-5'>cc2530</b>溫度<b class='flag-5'>串口</b>顯示

    如何利用CC2530實(shí)現(xiàn)無(wú)線串口

    CC2530是符合802.15.4標(biāo)準(zhǔn)的無(wú)線收發(fā)芯片,但是本文并沒(méi)有遵守802.15.4協(xié)議規(guī)則,在發(fā)送過(guò)程中忽略了網(wǎng)絡(luò)ID、源地址和目標(biāo)地址等參數(shù),在接收的過(guò)程中禁止了幀過(guò)濾。通過(guò)發(fā)送和接收過(guò)程的處理使得CC2530無(wú)線部分的使用盡可能的簡(jiǎn)單清晰,通過(guò)最少的代碼說(shuō)明問(wèn)題
    發(fā)表于 11-16 16:06 ?6637次閱讀

    CC2530芯片的基本特性和CC2530無(wú)線模塊的設(shè)計(jì)

    本文介紹了CC2530芯片的基本特性,論述了以CC2530芯片為核心的無(wú)線通信模塊的硬件設(shè)計(jì)和調(diào)試軟件設(shè)計(jì),在介紹設(shè)計(jì)規(guī)范和模塊結(jié)構(gòu)的基礎(chǔ)上,采用TI公司的CC2530芯片作為主控制芯片設(shè)計(jì)出具
    發(fā)表于 02-11 08:00 ?97次下載
    <b class='flag-5'>CC2530</b>芯片的基本特性和<b class='flag-5'>CC2530</b>無(wú)線模塊的設(shè)計(jì)

    CC2530控制LED閃爍

    CC2530控制LED閃爍CC2530 控制LED閃爍電路圖知識(shí)點(diǎn)CC2530有兩個(gè)高頻時(shí)鐘輸入輸出配置程序及注釋CC2530 控制LED閃
    發(fā)表于 11-29 18:51 ?15次下載
    <b class='flag-5'>CC2530</b>控制LED閃爍

    Zstack3.0.2 CC2530官方DMA串口0位置的移植

    Zstack3.0.2 CC2530官方DMA串口0位置的移植
    發(fā)表于 11-30 10:21 ?7次下載
    Zstack3.0.2 <b class='flag-5'>CC2530</b>官方DMA<b class='flag-5'>串口</b>0位置的移植

    CC2530無(wú)線通信模塊使用串口通信參考方法

    CC2530無(wú)線通信模塊使用串口通信參考方法
    發(fā)表于 04-24 17:20 ?13次下載