ZigBee CC2530串口通信調試

剛接觸ZigBee,熟悉了一下ZStack協議棧,總算有了點認識。先從調試串口開始,再慢慢開始協議棧代碼調試,下面程序已實現發送和接收數據,用的是CC Debugge仿真器和ZigBee最小系統,使用串口還得接個USB轉串口設備,我用的是USB轉TTL串口,直接貼代碼:
包含頭文件和系統變量聲明部分:

#include <ioCC2530.h>
#include <string.h>
#include"text.h"
char Temp; 
uchar  data = 0;
#define maxfile   100
char readdata[maxfile];
static char datatext[]="串口調試\n"; 

主函數部分:

void main(void)
{	
    CLKCONCMD &= ~0x40;               //設置系統時鐘源爲32MHZ晶振
    while(CLKCONSTA & 0x40);          //等待晶振穩定爲32M
    CLKCONCMD &= ~0x47;               //設置系統主時鐘頻率爲32MHZ   
    InitUART();                       //串口初始化
    Uart_SendString(datatext,strlen(datatext));
    while(1)
  { 
        if( Temp != 0) 
        { 
            if((Temp!=' ')&&(data<maxfile))   
           readdata[data++] = Temp; 
           else 
           { 
             U0CSR &= ~0x40;      //禁止接收 
             Uart_SendString(readdata,data); //發送已記錄的字符串。
             U0CSR |= 0x40;      //允許接收 
             data = 0;   
            } 
            Temp  = 0;
         }
    }
}

普通延時函數:

void delay(unsigned int i)
{
	unsigned int j;
	for(i=i;i>0;i--)
        for(j=0;j<0x3000;j++);
}

串口初始化函數:

void InitUART(void)
{ 
    PERCFG = 0x00;		      //位置1 P0口
    P0SEL = 0x0c;		      //P0_2,P0_3用作串口(外部設備功能)
    P2DIR &= ~0XC0;                   //P0優先作爲UART0

    U0CSR |= 0x80;		      //設置爲UART方式
    U0GCR |= 8;				       
    U0BAUD |= 59;		      //波特率設爲9600
    UTX0IF = 0;                       //UART0 TX中斷標誌初始置位0
    U0CSR |= 0X40;                    //允許接收 
    IEN0 |= 0x84;                     // 開總中斷,接收中斷 
}

數據發送函數:

void Uart_SendString(char *Data,int length)
{
  int j;
  for(j=0;j<length;j++)
  {
    U0DBUF = *Data++;
    while(UTX0IF == 0);
    UTX0IF = 0;
  }
}

中斷服務程序:

#if 1
#pragma vector = URX0_VECTOR 
  __interrupt void UART0_ISR(void) 
 { 
  
  URX0IF = 0;    // 清中斷標誌 
  Temp = U0DBUF;                           
 }
#endif

頭文件部分:

#ifndef TEXT_H
#define TEXT_H
typedef unsigned char uchar;
void delay(unsigned int i);
void initUART(void);
void Uart_SendString(char *Data,int length);
#endif

更多技術文章瀏覽請關注:

百家號:
https://author.baidu.com/home?context=%7B%22app_id%22%3A%221646108714303504%22%7D&wfr=bjh

頭條號:
https://www.toutiao.com/c/user/8115738721/#mid=1646025109246987

發佈了39 篇原創文章 · 獲贊 20 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章