主函数

#include <ioCC2530.h>
#include "LCD_12864_Driver.h"
#include <string.h>
#define LED1 P1_0
#define LED2 P1_1
#define ON 1
#define OFF 0
#define uint unsigned int
#define uchar unsigned char
#define UART0_RX    1
#define UART0_TX    2
#define SIZE       51
#define slave_nodeenum SYSCLK_SRC{XOSC_32MHz,RC_16MHz};
#define UART0_RX    1
#define UART0_TX    2
#define SIZE       51char RxBuf;
char UartState;
uchar count;
char RxData[SIZE];        //存储发送字符串
void Delay(uint n)
{uint t;for(t = 0;t<n;t++);for(t = 0;t<n;t++);for(t = 0;t<n;t++);for(t = 0;t<n;t++);for(t = 0;t<n;t++);
}
void InitLed(void)
{P1SEL &= ~0x03;// 设置 普通IO口P1DIR |= 0x03;// 设置 输出 LED1 = OFF;LED2 = OFF;
}
/****************************************************************
*函数功能 :初始化串口0
*入口参数 :无
*返 回 值 :无
*说    明 :38400-8-n-1
****************************************************************/
void initUART0(void)
{PERCFG &= ~0x01;// P0SEL |= 0x3c;P2DIR &= ~0XC0;U0CSR |= 0x80;//1为UART模式U0CSR |= 0x40;           //允许接收 U0GCR |= 10;//设置BAUD_E=1U0BAUD |= 59;//设置BAUD_M=59UTX0IF = 0;IEN0 |= 0x84;            //开总中断允许接收中断
}/****************************************************************
*函数功能:串口发送字符串函数
*入口参数:data:数据
*          len :数据长度
*返 回 值:无
*说    明:
****************************************************************/
void UartSendString(char *Data,int len)
{int j;for(j=0;j<len;j++){U0DBUF = *Data++;while(UTX0IF == 0); UTX0IF = 0;}
}
void BlinkLeds(uchar LEDx)
{ if(LEDx == 1){LED1 = !LED1;Delay(20000);}else if(LEDx == 2){LED2 = !LED2;Delay(20000);}
}
void SystemClockSourceSelect(enum SYSCLK_SRC source)
{ unsigned char osc32k_bm = CLKCONCMD & 0x80; unsigned char __clkconcmd,__clkconsta; if(source == RC_16MHz) CLKCONCMD = ((osc32k_bm) | \(0x01 << 6)| \(0x01 << 3)| \(0x01 << 0)); else if(source == XOSC_32MHz) { CLKCONCMD = (osc32k_bm); } __clkconcmd = CLKCONCMD;do { __clkconsta = CLKCONSTA;}while(__clkconsta != __clkconcmd);
}void main(void)
{   SystemClockSourceSelect(XOSC_32MHz);char str1 = '\n';initUART0();                                //调用串口初始化函数   UartState = UART0_RX;                      //串口0默认处于接收模式memset(RxData, 0, SIZE);InitLed();vLcdInit();while(1){if(UartState == UART0_RX)              //接收状态 { if(RxBuf != 0) {                 if((RxBuf != '#')&&(count < 50))//以'#'为结束符,一次最多接收50个字符            RxData[count++] = RxBuf; else{if(count >= 50)             //判断数据合法性,防止溢出{count = 0;              //计数清0memset(RxData, 0, SIZE);//清空接收缓冲区}elseUartState = UART0_TX;  //进入发送状态 }RxBuf  = 0;}}if(UartState == UART0_TX)              //发送状态 {vLcdInit();vLcdTextWrite(1,1,RxData);vLcdRefresh();strcat(RxData, &str1);U0CSR &= ~0x40;                    //禁止接收 UartSendString(RxData, count+1);     //发送已记录的字符串。U0CSR |= 0x40;                     //允许接收 UartState = UART0_RX;              //恢复到接收状态 count = 0;                         //计数清0memset(RxData, 0, SIZE);           //清空接收缓冲区}    }
}#pragma vector=URX0_VECTOR
__interrupt void UART0_ISR(void)
{URX0IF = 0;       // 清中断标志 RxBuf=U0DBUF;
}

完整代码下载

cc2530设计性实验代码六相关推荐

  1. 用C语言编程实现矩形波信号,信号与系统综合设计性实验

    信号与系统综合设计性实验 傅立叶变换性质 实验设备 硬件 电脑软件 MATLAB 实验目的 掌握MATLAB的基本使用方法 掌握MATLAB环境下信号表示及产生方法 掌握MATLAB环境下傅立叶变换方 ...

  2. 文学研究助手(设计性实验)

    文学研究助手(设计性实验) 1. 需求分析 需求: 英文小说存于一个文本文件中.待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成.程序的输出结果是每个词的出现次数和出现位置 ...

  3. 计算机组成原理设计性实验,《计算机组成原理》设计性实验报告.doc

    <计算机组成原理>设计性实验报告 华北科技学院计算机学院设计性实验 实 验 报 告 课程名称 计算机组成原理B 实验学期 2013 至 2014 学年 第 一 学期 学生所在院部 计算机学 ...

  4. 大物设计性实验:电容、电感量的测量

    这是最后一次大物实验,仅以此文作为纪念. 下面是华南某大学的设计性实验: 一. 实验内容和要求 1.根据实验室所提供的仪器拟定测量电容量.电感量的实验电路.各构思3种以上的测量方法,写出实验步骤及运算 ...

  5. 【操作系统】内存管理设计性实验报告

    操作系统#内存管理设计性实验报告 正文 一. 实验目的 1.通过本次试验体会操作系统中内存的分配模式: 2.掌握内存分配的方法(首次适应(FF),最佳适应(BF),最差适应(WF)): 3.学会进程的 ...

  6. JAVA第二次验证设计性实验报告

    [实验任务一]:素数输出 (3)实验报告中要求包括程序设计思想.程序流程图.源代码.运行结果截图.编译错误分析等内容. 1.   实验内容 (1)计算并输出3~100之间的素数. (2)编程满足下列要 ...

  7. 大物实验计算弹性模量_大学物理设计性实验用拉伸法测定金属丝的杨氏弹性模量...

    教学章节:实验7 用拉伸法测定金属丝的杨氏弹性模量 教学内容:1.讲述"用拉伸法测定金属丝的杨氏弹性模量"实验的实验原理 2.介绍实验的操作要领.数据处理等 3.指导学生进行实验操 ...

  8. 设计性实验-循环结构:搬砖问题。36块砖,36人搬;男搬4,女搬3,两个小孩抬一砖。要求一次全搬完,问男、女、小孩各需若干?

    #include<stdio.h> int main() {int x,y,z; //定义循环变量for (x=0; x<36; x++){for (y= 0; y<36; y ...

  9. 第二次网页设计实验报告(设计性实验)(表格+表单)

    第一个: <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8& ...

  10. 数字电路实验六:同步模4可逆计数器设计预实验报告

    实验六:同步模4可逆计数器设计(综合设计性实验) -----用D触发器74HC74和74HC86设计制作一个模4可逆计数器 预习要点: 要求:实现以4为模的递增计数以及递减计数功能,(当X=0时,减1 ...

最新文章

  1. Google提出新型学习范式「Deep Memory」,或将彻底改变机器学习领域
  2. 分布式服务(RPC)+分布式消息队列(MQ)面试题精选
  3. 机器学习笔记 时间序列预测(基本数据处理,Box-Cox)
  4. java dart 官司_Dart和Java的区别
  5. 找出100以内内被7整除的数,每行显示7个,然后换行显示
  6. lol最强最高输出的adc_LOL:官方公布ADC的输出能力,最强最弱都是谁?德莱文不是最高的...
  7. 阴阳师服务器维修拖延,阴阳师12月11日更新维护公告 阴阳师百闻牌联动开启
  8. 未来,语音识别可能应用于哪些商业化场景?
  9. tensorflow随笔——交叉熵公式推导
  10. 基于android的电子词典设计_基于安卓Android的电子词典的设计与实现
  11. Scala安装和开发环境配置教程
  12. 【CSS】制作ICO图标
  13. 威廉玛丽学院计算机教授刘旭,专栏-中国计算机学会
  14. ArcEngine 入门教程-控件初体验
  15. 10个常见的Android 新手误区
  16. 如何安装部署beego项目
  17. Minecraft 1.12.2 彩色渐变字体0.3 掉落物光束
  18. 全缓存、行缓存和无缓存
  19. 720phi10p 和 720p有什么区别_除了情怀还剩什么?索尼Z5 Compact评测
  20. Spring Cloud中Hystrix的请求合并

热门文章

  1. Android企业级项目实战——基础篇(系列文章)
  2. 数据库主键和外键的关系
  3. C语言 实现学生管理系统(手把手教学)
  4. 图书管理系统(大一C语言大作业 包含主要结构体,文件操作, 如数据的修改 查询 删除等)
  5. Web直播网站源码,你需要先知道这些小知识
  6. Python100道经典练习题(附PDF)
  7. python输出语句中引用多个变量
  8. Ubuntu中推荐使用的读代码软件
  9. 三菱modbusRTU通讯实例_modbus通讯协议详解 | 每位工控人都应该了解
  10. contos需要MPEG-4 AAC解码器