物联网平台开发(物联网平台开发及应用:基于CC2530和ZigBee)

Mark wiens

发布时间:2022-11-13

物联网平台开发(物联网平台开发及应用:基于CC2530和ZigBee)

 

[本文属原创,转载请附上原文出处链接。]

刚接触ZigBee无线通信技术,熟悉一下ZStack协议栈。先从调试串口开始,再慢慢开始协议栈代码调试。串口模式是全双工的异步串行通信,串口的通信就是对串口相关寄存器的操作,比如控制和状态寄存器、通用控制寄存器、数据缓冲寄存器及波特率控制寄存器等。下面程序已实现TI CC2530单片机的发送和接收数据,用的是CC Debugge仿真器和ZigBee最小系统,使用串口还得接个USB转串口设备,我用的是USB转TTL串口,下面来进行实现代码讲解:

头文件和系统变量声明部分:

include

include

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

readdata[data++] = Temp;

else

{

U0CSR &= ~0x40; //禁止接收

Uart_SendString(readdata,data); //发送已记录的字符串。

U0CSR |= 0x40; //允许接收

data = 0;

}

Temp = 0;

}

}

}

普通延时函数:

void delay(unsigned int i)

{

unsigned int j;

互联网小常识:内部网络专用IP地址规划与网络地址转换NAT方法。首选A类地址、不要拘泥于数值上的划分,可以根据四段每一段进行十进制的划分。

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; // 开总中断,接收中断

}

上面串口初始化程序串口的波特率设置为9600,在32MHz系统时钟下常用的波特率设置参考如下图:

数据发送函数:

void Uart_SendString(char *Data,int length)

{

int j;

互联网小常识:浏览器与服务器之间传送信息的协议是HTTP协议,用于传输网页等内容,使用TCP协议,默认端口号为80。

for(j=0;j

{

U0DBUF = *Data++;

while(UTX0IF == 0);

UTX0IF = 0;

}

}

中断服务程序:

if 1

pragma vector = URX0_VECTOR

__interrupt void UART0_ISR(void)

{

URX0IF = 0; // 清中断标志

Temp = U0DBUF;

}

endif

互联网小常识:第一次配置无线接入点,一般采用本地配置方式,即无需将无线接入点连接到一个有线的网络中。这时,因为没有连接到DHCP服务器而无法获得IP地址,它的默认IP地址是10.0.0.1并成为小型的DHCP服务器。在这种情况下,接入点可以为下列这些设备分配多达20个10.0.0.x范围的IP地址。(1)连接在连接点以太网端口上的PC机(2)没有配置SSID或SSID配置为tsunami,并且关闭所有安全配置的无线设备。

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186