admin 管理员组文章数量: 887021
ZigBee
ZigBee-CC2530单片机 - 实现计算机串口通讯控制LED发光二极管
程序源码
/*************************************************************** 文件名称:uart2.c* 功 能:PC机控制发光二极管亮灭
*************************************************************/
#include "ioCC2530.h"
#include <string.h>
//定义led灯端口
#define LED1 P1_0 // P1_0定义为P1_0
#define LED2 P1_1 // P1_0定义为P1_1#define uint unsigned int
#define uchar unsigned char
#define DATABUFF_SIZE 3 //数据缓冲区大小uchar buff_RxDat[DATABUFF_SIZE+1]; //数据缓冲区
uchar uIndex = 0; //数据缓冲区的下标
/**************************************************************** 函数名称:InitUART0* 功 能:UART0初始化* 入口参数:* 出口参数:无* 返 回 值:无
***************************************************************/
void initUART0(void)
{PERCFG = 0x00; //位置 1 P0 口P0SEL = 0x3c; //P0用作串口, P0.2、P0.3作为串口RX、TXU0BAUD = 216;U0GCR = 10;U0CSR |= 0x80; // UART模式U0UCR |= 0x80; // 进行USART清除,并设置数据格式为默认值URX0IF = 0; // 清零UART0 RX中断标志U0CSR |= 0X40; //允许接收EA = 1; //使能全局中断
}/***************************************************************
* 函数名称:receive_handler
* 功 能:接收数据后处理
* 入口参数:无
* 出口参数:无
* 返 回 值:无
***************************************************************/
void receive_handler(void)
{uchar onoff=0; //LED灯的开关状态uchar c;c= U0DBUF; // 读取接收到的字节if(c == '#'){buff_RxDat[0]=c;uIndex=0;}else if(buff_RxDat[0]=='#'){uIndex++;buff_RxDat[uIndex]=c;}if(uIndex>=2){onoff=buff_RxDat[2]-0x30;switch(buff_RxDat[1]){case '1':LED1=onoff;break;case '2':LED2=onoff;break;}for(int i=0;i<=DATABUFF_SIZE;i++) //清空接收到的字符串buff_RxDat[i]=(uchar)NULL;uIndex = 0;}
}
/***************************************************************
* 函数名称:main
* 功 能:main函数入口
***************************************************************/
void main(void)
{P1SEL &= ~0x03; // 设置LED为普通IO口P1DIR |= 0x03 ; // 设置LED为输出LED1 = 0; //灭 LEDLED2 = 0;CLKCONCMD &= 0x80; //时钟速度设置为32MHzinitUART0(); // UART0初始化while(1){if(URX0IF){URX0IF = 0;//清中断标志receive_handler(); //调用接收数据后处理函数}}
}
本文标签: ZigBee
版权声明:本文标题:ZigBee 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1686568873h11464.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论