首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CC2530基础实验之串口控制LED灯

代码语言:javascript
复制
/**************************************************************
 * 文件名称: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 JD P2_0
#define on 1
#define off 0

#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、TX
    U0BAUD = 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 == 0xfa)
    {
      JD=on;
      LED1=on;
    }
    if(c==0xfb)
    {
      JD=off;
      LED1=off;  
    }

}
/***************************************************************
* 函数名称:main
* 功    能:main函数入口
***************************************************************/
void main(void)
{
    P1SEL &= ~0x03;     // 设置LED为普通IO口
    P1DIR |= 0x03 ;    // 设置LED为输出
    LED1 = 0;         //灭 LED
    LED2 = 0;
    P2DIR |=0x01;
    P2_0=0;

    CLKCONCMD &= 0x80;   //时钟速度设置为32MHz
    initUART0();  // UART0初始化
    while(1)
    {
      if(URX0IF)
      {
        URX0IF = 0;//清中断标志
        receive_handler();  //调用接收数据后处理函数
      }
    }
}
下一篇
举报
领券