cc2530串口UART0通信实验(20200627130016)
- 格式:docx
- 大小:17.21 KB
- 文档页数:4
无线通信技术综合训练实验指导书 ICC2530 基础第二章 CC2530 开发平台2.1 硬件平台1. CC2530 模块 CC2530 模块基于 TI CC2530 主芯片,可以实现串口(UART)转 Zigbee 无线数据透明传输,模块 可以分别设置为 Router 和 Coordiantor。
上电自动组网, 网络内模块如掉电, 网络具备自我修复功能。
模块重要参数: 输入电压:DC3.3V; 串口速率:38400bps(默认),可设置 9600bps、19200bps、38400bps、57600bps、115200bps; 无线频率:2.4GHz; 无线协议:Zigbee2007; 传输距离:可视距离 400 米; 接收/发射电流:发射时,34mA(最大);接收时,25mA(最大); 主芯片:TI CC2530F256,256K Flash。
CC2530 模块如图 2-1 所示。
(a)实物图 图 2-1 CC2530 模块图(b)引脚图CC2530 模块引脚功能如表 2-1 所示。
表 2-1 CC2530 模块引脚功能表 J1 1 3 5 7 9 11 Debug_D P1.7 P1.5 P1.3 LED_2 NC 2 4 6 8 10 12 Debug_C P2.0 P1.6 P1.4 P1.2 NC 1 3 5 7 9 11 Reset_N SW1 TX RTS P0.7 GND J2 2 4 6 8 10 12 P0.0 RX CTS P0.6 LED_1 3.3V In 第 15 页第二章 CC2530 开发平台2. 主从节点开发板 (1)主节点结构 主节点作为网络中的协调器,具有建立和管理网络的功能。
在本套实验设备当中配置的主节点 结构图如图 2-2 所示。
LCD 显示屏JP3图 2-2 主节点功能模块图ZigBee 模块:CC2530F256 系列的 CC2530 模块; JP1:DEBUG 程序下载接口; JP3:电源接口 5V 电源; JP5:串口输出; 复位键:对主节点进行复位; S1\S2:按键 1、按键 2; S3:电源开关; LCD 显示屏:显示从节点发来的数据; U4:光照度传感器; U5:温湿度传感器; LED1/LED2:LED 显示,作为信号灯显示物联网部分信息。
cc2530的接口实验的实验原理下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
本文下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Downloaded tips: This document is carefully compiled by the editor. I hope that after you download them, they can help you solve practical problems. The documents can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, our shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!CC2530是一款常用于物联网设备的芯片,其接口实验是物联网领域中的重要实践之一。
计算机科学与技术学院实验报告课程名称:无线传感器网络原理与应用实验二:CC2530定时器实验一、实验目的了解并学会使用 CC2530 芯片的定时器。
二、实验内容用定时器 1 和定时器 3 采用中断方式实现定时,分别控制红绿灯的状态翻转。
定时器 1 自由运行模式,8 分频;定时器 3 自由运行,128 分频。
定时器1 为16 位定时器,在自由运行模式下,从 0x0000 到 0xFFFF 反复计数;定时器 3 为 8位定时器,在自由运行模式下,从 0x00 到 0xFF 反复计数。
当到达计时值时,定时器会产生中断,中断函数就是处理相应定时器产生的中断。
三、实验环境硬件:鼎轩 WSN 实验箱(汇聚网关、烧录线),PC 机;软件:IAR 软件。
四、实验步骤CC2530 芯片包含四个定时器(Timer1、Timer2、Timer3、Timer4)和一个休眠定时器(Sleep Timer)。
Timer1 是 16 位的定时器,支持典型的定时/计数功能以及 PWM 功能,该定时器共有三个捕捉/比较通道,每个通道使用一个单独的 I/O 引脚。
Timer1 的时钟频率是由系统时钟分频得到,首先由寄存器中的 CLKON.TICKSPD 分频,系统时钟是32MHz的情况下, CLKON.TICKSPD可以将该时钟频率分频到32MHz (TICKSPD为 000)、16MHz(TICKSPD 为 001)、 8MHz (TICKSPD 为 010)、4MHz(TICKSPD为 011)、 2MHz (TICKSPD 为 100)、 1MHz (TICKSPD 为101)、 0.5MHz (TICKSPD为 110)、 0.25MHz (TICKSPD 为 111);分频后的时钟频率可以被 T1CTL.DIV 分频,分频数为 1、8、32、128。
因此,在 32MHz 的系统频率下,Timer1 的最小时钟频率为 1953.125Hz,最大时钟频率为 32MHz。
使用CC2530的案例第一部分:CC2530简介CC2530是一款由德州仪器(TI)公司推出的无线通信芯片,主要用于低功耗、短距离通信应用。
本部分将介绍CC2530的基本特性和应用领域。
1. CC2530的基本特性:CC2530是一款集成了RF收发器、微控制器、闪存和其他必要组件的芯片。
其采用IEEE 802.15.4标准,支持2.4 GHz频段,具有低功耗、高性能的特点。
2. CC2530的应用领域:CC2530广泛应用于物联网(IoT)、无线传感器网络(WSN)、家庭自动化、工业控制等领域。
其灵活性和低功耗的特性使其成为许多嵌入式系统的理想选择。
第二部分:智能家居中的CC2530应用1. 智能灯控系统:在智能家居中,CC2530可以用于搭建智能灯控系统。
通过与灯具连接,用户可以通过手机或其他智能设备远程控制灯光亮度、颜色,实现智能化的照明管理。
2. 温湿度监测系统:利用CC2530的低功耗特性,可以构建温湿度监测系统。
传感器采集环境数据,通过CC2530传输至中心控制器,用户可以实时监测室内温湿度,并根据需要进行调节。
3. 安防系统:CC2530也可以应用于智能家居的安防系统。
通过连接门窗传感器、红外感应器等设备,CC2530可以实现对家庭安全状态的监测,当有异常情况时及时发送通知。
第三部分:工业控制中的CC2530应用1. 无线传感器网络(WSN):在工业控制领域,CC2530常用于构建无线传感器网络。
通过无线连接传感器,实现对工业环境参数的实时监测,提高工业系统的智能化水平。
2. 远程设备监控:利用CC2530的远距离通信能力,可以实现对分布在不同位置的设备的远程监控。
工程师可以通过中心控制器远程管理和维护设备,提高工业生产的效率和可靠性。
3. 智能物流跟踪系统:在工业物流中,CC2530可以用于物品的实时追踪和监控。
通过与传感器和GPS模块结合,实现对物流过程的实时监测,提高物流运输的效率和安全性。
CC2530串⼝通信任何USART双向通信⾄少需要两个脚:接收数据输⼊(RX)和发送数据输出(TX)。
RX:接收数据串⾏输⼊。
通过采样技术来区别数据和噪⾳,从⽽恢复数据。
TX :发送数据输出。
当发送器被禁⽌时,输出引脚恢复到它的I/O端⼝配置。
当发送器被激活,并且不发送数据时,TX引脚处于⾼电平。
在单线和智能卡模式⾥,此I/O ⼝被同时⽤于数据的发送和接收。
并⾏通信与串⾏通信微控制器与外设之间的数据通信,根据连线结构和传送⽅式的不同,可以分为两种:并⾏通信和串⾏通信。
并⾏通信:指数据的各位同时发送或接收,每个数据位使⽤单独的⼀条导线。
传输速度快、效率⾼,但需要的数据线较多,成本⾼。
串⾏通信:指数据⼀位接⼀位地顺序发送或接收。
需要的数据线少,成本低,但传输速度慢,效率低。
CC2530的串⼝通信模块CC2530有两个串⾏通信接⼝USART0和USART1,它们能够分别运⾏于异步UART模式或者同步SPI模式。
两个USART接⼝具有相同的功能,通过PERCFG寄存器可以设置两个USART接⼝对应外部I/O引脚的映射关系:位置1:RX0 --- P0_2 TX0 --- P0_3 RX1 --- P0_5 TX1 --- P0_4位置2:RX0 --- P1_4 TX0 --- P1_5 RX1 --- P1_7 TX1 --- P1_6PERCFG寄存器:UART⼝与计算机的COM⼝连接认识两种电平:TTL电平和RS232电平。
TTL电平:逻辑0----⼩于0.8V 逻辑1----⼤于2.4V。
RS232电平:逻辑0----5~15V 逻辑1---- -5~-15V。
计算机的串⾏通信接⼝是RS-232的标准接⼝,⽽CC2530单⽚机的UART接⼝则是TTL电平,两者的电⽓规范不⼀致,所以要完成两者之间的数据通信,就需要借助接⼝芯⽚在两者之间进⾏电平转换,常⽤的有MAX232芯⽚。
TIP:DB9接⼝中,公头和母头的排列顺序是不同的。
CC2530实验指导书合肥市博焱科技有限公司目录一、CC2530基础实验部分 (3)1.1 输入输出I/O 控制实验 (3)1.1.1 CC2530 基础实验1 :LED自动闪烁 (3)1.1.2 CC2530 基础实验2 :按键控制LED开关 (5)1.2 中断实验 (6)1.2.1CC2530 基础实验3 :外部中断 (6)1.3 定时/ 计数器实验 (9)1.3.1CC2530 基础实验4:T1使用 (9)1.3.2CC2530 基础实验5 :T2使用 (10)1.3.3CC2530 基础实验6:T3使用 (13)1.3.4 CC2530 基础实验8 :T4使用 (16)1.4 串口UART (18)1.4.1CC2530 基础实验9:单片机串口发数 (18)1.4.2CC2530 基础实验10:在PC用串口控制LED (20)1.4.3CC2530 基础实验11:PC串口收数并发数 (22)1.4.4CC2530 基础实验12:串口时钟PC显示 (23)1.5 睡眠定时器实验 (25)1.5.1 CC2530 基础实验13:系统睡眠工作状态 (25)1.5.2 CC2530 基础实验14 :睡眠定时器使用 (26)1.6 ADC实验 (28)1.16.1 CC2530 基础实验15 :ADC实验 (28)1.7 看门狗 (30)1.7.1CC2530 基础实验16:看门狗模式 (30)一、CC2530基础实验部分1.1 输入输出I/O 控制实验1.1.1 CC2530 基础实验1 :LED自动闪烁一、实验目的:本实验的目的是让用户了解CC2530的I/O接口的编程方法,学会使用I/O操作外部设备。
实验以LED为外设,通过I/O控制LED的亮灭。
二、实验仪器设备仿真器1 台,传感器节点底板1 块,ZigBee 模块1 块,USB 连接线1 根。
三、实验内容:(一)实验原理说明:硬件说明:图1 LED连接原理图如图1所示,发光二极管的D2的阴极与CC2530的P1_1连接,发光二极管的D3的阴极与CC2530的P1_0连接。
计算机科学与技术学院实验报告课程名称:无线传感器网络原理与应用实验四:CC2530 串口收发数据实验一、实验目的熟悉并掌握 CC2530 芯片串口发送和接收数据的操作,为今后的综合实验打下基础。
二、实验内容使串口将接收的数据再发送。
三、实验环境硬件:鼎轩 WSN 实验箱(汇聚网关、烧录线、平行串口线),PC 机;软件:IAR 软件,串口助手。
四、实验步骤1)打开鼎轩 WSN 实验箱,检查实验箱设备,确保实验箱设备完整、连接无误后,连接电源线,打开电源开关;2)用烧录线连接汇聚网关上的烧录接口与电脑 USB 接口;3)双击打开目录(/cc2530-simple-demo/ USART_send_receive)下的工程图标USART_SR.eww 打开工程;4)点击 IAR 中的图标按钮编译程序;5)完成编译后若没有错误信息,将实验箱节点编程开关上汇聚网关开关拨上去,点击调试并下载按钮将程序下载到汇聚网关上;6)用串口线连接汇聚网关上的数据输出口和 PC 机 USB 接口,打开串口助手,正确选择串口号(视具体电脑而定)、波特率(9600),其他配置如下图都不更改。
7)在串口助手上字符串输入框内,输入需要传输的内容,点击发送按钮,可以看到字符串经串口传送给汇聚网关,然后又由串口打印输出,输出内容如下图:8)修改实验代码,实现输入字符1,红灯亮,输入字符2,红灯灭。
实验总结该实验完成串口的基本通讯。
在串口通讯中一般有两种方式来接受数据,一种是查询法、一种是中断法。
查询法就是要串口一致处于等待状态,看串口上是不是有数据,一旦数据接收完毕,就开始对接收的数据进行相应的操作。
这个方法需要让程序一致等待串口,所以这种方法效率还是比较低的。
中断法师运用串口的中断服务子程序来完成的,如果串口上有数据的话,那么会调用中断向量,中断向量把程序指针指到相应的中断服务服务程序上。
在中断服务程序完成之后,程序只能还会跳转到中断之前的地址。
cc2530 程序设计实例之CC2530 RF 部分使用—实现
点对点收发
前言
本文将分析一个利用CC2530 实现无线串口,文中将会列举部分代码
并对CC2530 的具体操作进行分析。
本文的具体的内容包括以下几个部分:
CC2530 是符合802.15.4 标准的无线收发芯片,但是本文并没有遵守802.15.4 协议规则,在发送过程中忽略了网络ID、源地址和目标地址等参
数,在接收的过程中禁止了帧过滤。
通过发送和接收过程的处理使得CC2530 无线部分的使用尽可能的简单清晰,通过最少的代码说明问题。
无线芯片的调试具有一定的难度,一般存在发送设备和接收设备。
为了通过最简单的代码说明无线芯片的使用,本文中仅编写一种设备代码同时实现发送和接收功能。
设备的功能也相对简单,CC2530 从串口接收数据并把数据通过RF 部分无损发送,于此同时CC2530 把从RF 部分接收的数据通过
串口无损发送,通过这样的方式实现无线串口。
/*********************头文件*************************************************/ #include <ioCC2530.h>#include <string.h>/*********************宏定义*************************************************/ #define uint unsigned int#define uchar unsigned char//----------------LED控制端口------------------------------------------------//#define GLED P1_0// 绿色LED定义#define RLED P1_1// 红色LED定义//----------------按键输入端口-----------------------------------------------//#define KEY1 P0_0/*********************全局变量**********************************************/ unsigned char Uart0_Rx;unsigned char Text_Data[]="海舟物联网教育!\r\n";/*********************函数声明***********************************************/ void Delay(uint);void Init_LED(void);void Init_Uart0(void);void Init_Sysclk(void);void Uart0_TX_Data(unsigned char *Data,int len);/****************************************************************************** *函数名称: void Delay(uint n)*函数功能: 软件延时函数*入口参数:*出口参数:*备注:******************************************************************************/ void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}/*******************************************************************************函数名称: void Init_Uart0(void)*函数功能: Uart0初始化设置*入口参数:*出口参数:*备注:******************************************************************************/ void Init_Uart0(void){PERCFG = 0x00; // 位置1 P0口P0SEL = 0x3c; // P0_2,P0_3用作串口P2DIR &= ~0XC0; // P0优先作为UART0U0CSR |= 0x80; // UART方式U0GCR |= 8;U0BAUD |= 59; // 波特率设为9600bpsUTX0IF = 0; // UART0 TX中断标志初始置位0U0CSR |= 0X40; // 允许接收IEN0 |= 0x84; // 开总中断,接收中断}/****************************************************************************** *函数名称: void Uart0_TX_Data(unsigned char *Data,int len)*函数功能: 串口0发送一组数据*入口参数:*出口参数:*备注:******************************************************************************/ void Uart0_TX_Data(unsigned char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;while(UTX0IF == 0);UTX0IF = 0;}}/****************************************************************************** *函数名称: void Init_Sysclk()*函数功能: 设置系统时钟*入口参数:*出口参数:*备注:******************************************************************************/void Init_Sysclk(void){CLKCONCMD &= ~0x40; // 设置系统时钟源为32MHZ晶振while(CLKCONSTA & 0x40); // 等待晶振稳定CLKCONCMD &= ~0x47; // 设置系统主时32MHZ}/****************************************************************************** *函数名称: void Init_LED(void)*函数功能: 初始化LED*入口参数:*出口参数:*备注:******************************************************************************/ void Init_LED(void){P1DIR = 0x03; // P1.0 P1.1设置为输出RLED = 1; // 初始化LED状态GLED = 1;}/****************************************************************************** *函数名称: void main(void)*函数功能: 主函数*入口参数:*出口参数:*备注:******************************************************************************/ void main(void){Init_Sysclk(); // 初始化系统时钟Init_Uart0(); // 串口0设置Init_LED(); // 初始化LEDwhile(1){Uart0_TX_Data(Text_Data,17);Delay(50000);Delay(50000);Delay(50000);}}/****************************************************************************** *函数名称: void UART0_ISR(void)*函数功能: Uart0中断服务子程序*入口参数:*出口参数:*备注:******************************************************************************/ #pragma vector = URX0_VECTOR__interrupt void UART0_ISR(void){URX0IF = 0; //清中断标志Uart0_Rx = U0DBUF;}/*********************结束*************************************************/。
CC2530串口串口通信(Serial Communication),是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。
这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
工作方式由于CPU 与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有" 接收移位寄存器" (串→并)和" 发送移位寄存器" (并→串). 在数据输入过程中,数据1 位1 位地从外设进入接口的" 接收移位寄存器",当" 接收移位寄存器" 中已接收完1 个字符的各位后,数据就从" 接收移位寄存器" 进入" 数据输入寄存器" . CPU 从" 数据输入寄存器" 中读取接收到的字符.(并行读取,即D7~D0 同时被读至累加器中). " 接收移位寄存器" 的移位速度由" 接收时钟" 确定.在数据输出过程中,CPU 把要输出的字符(并行地)送入" 数据输出寄存器"," 数据输出寄存器" 的内容传输到" 发送移位寄存器",然后由" 发送移位寄存器" 移位,把数据1 位1 位地送到外设. " 发送移位寄存器" 的移位速度由" 发送时钟" 确定.接口中的" 控制寄存器" 用来容纳CPU 送给此接口的各种控制信息,这些控制信息决定接口的工作方式." 状态寄存器" 的各位称为" 状态位",每一个状态位都可以用来指示数据传输过程中的状态或某种错误.例如,用状态寄存器的D5 位为"1" 表示" 数据输出寄存器" 空,用D0 位表示" 数据输入寄存器满",用D2 位表示" 奇偶检验错" 等.能够完成上述" 串<- -> 并" 转换功能的电路,通常称为" 通用异步收发器" (UART :Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251,16550USB转串口即实现计算机USB接口到通用串口之间的转换。
文件名:协议栈的串口实验注意:1.先安装好PL2302 USB转串口驱动,转备好USB线,连接计算机与接收模块。
2.设置波特率为115200,不要勾选HEX显示,选择正确的串口号3.只需要一个模块。
●实验目的:学习如何使用TI提供的协议栈,进行串口实验●实验步骤:1.打开工程文件:\Projects\zstack\Samples\SampleApp\CC2530DB\SampleApp,选择,选择CoordinatorEB-Pro, 更改option的设置,加入预编译条件,ZIGBEEPROZTOOL_P1xMT_TASKxMT_SYS_FUNCxMT_ZDO_FUNC如下图所示:2.全速运行,可以看到串口助手收到信息。
3.如果想显示Z-stack MT层定义的数据,可以更改预编译条件为:ZIGBEEPROZTOOL_P1MT_TASKMT_SYS_FUNCMT_ZDO_FUNC如下图所示:具体实验:1.串口初始化函数void MT_UartInit (){halUARTCfg_t uartConfig;/* Initialize APP ID */App_TaskID = 0;/* UART Configuration */uartConfig.configured = TRUE;uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE; uartConfig.flowControl = MT_UART_DEFAULT_OVERFLOW; uartConfig.flowControlThreshold = MT_UART_DEFAULT_THRESHOLD; uartConfig.rx.maxBufSize = MT_UART_DEFAULT_MAX_RX_BUFF; uartConfig.tx.maxBufSize = MT_UART_DEFAULT_MAX_TX_BUFF; uartConfig.idleTimeout = MT_UART_DEFAULT_IDLE_TIMEOUT; uartConfig.intEnable = TRUE;#if defined (ZTOOL_P1) || defined (ZTOOL_P2)uartConfig.callBackFunc = MT_UartProcessZToolData;#elif defined (ZAPP_P1) || defined (ZAPP_P2)uartConfig.callBackFunc = MT_UartProcessZAppData;#elseuartConfig.callBackFunc = NULL;#endif/* Start UART */#if defined (MT_UART_DEFAULT_PORT)HalUARTOpen (MT_UART_DEFAULT_PORT, &uartConfig);#else/* Silence IAR compiler warning */(void)uartConfig;#endif/* Initialize for ZApp */#if defined (ZAPP_P1) || defined (ZAPP_P2)/* Default max bytes that ZAPP can take */MT_UartMaxZAppBufLen = 1;MT_UartZAppRxStatus = MT_UART_ZAPP_RX_READY;#endif}其中uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE;是配置波特率uartConfig.flowControl = MT_UART_DEFAULT_OVERFLOW; 语句是配置流控的,预编译是根据预先定义的ZTOOL或者ZAPP选择不同的数据处理函数。
/*********************
头文件*************************************************/ #include <ioCC2530.h>
#include <string.h>
/********************* 宏定义*************************************************/ #define uint unsigned int
#define uchar unsigned char
// --------------- LED 控制端口------------------------------- //
#define GLED P1_0〃绿色LED定义
#define RLED P1_1〃红色LED定义
// --------------- 按键输入端口------------------------------- //
#define KEY1 P0_0
/********************* 全局变量**********************************************/ unsigned char Uart0_Rx;
unsigned char Text_Data[]=" 海舟物联网教育!\r\n";
/********************* 函数声明***********************************************/ void Delay(uint);
void Init_LED(void);
void Init_Uart0(void);
void Init_Sysclk(void);
void Uart0_TX_Data(unsigned char *Data,int len);
/******************************************************************************
* 函数名称: void Delay(uint n)
* 函数功能: 软件延时函数
* 入口参数:
* 出口参数:
* 备注:
******************************************************************************/ void
Delay(uint n)
{
uint i;
for(i=0;i<n;i++);
for(i=0;i<n;i++);
for(i=0;i<n;i++);
for(i=0;i<n;i++);
for(i=0;i<n;i++); }
'****************************************************************************
* 函数名称 : void Init_Uart0(void) *函数功能 : Uart0 初始化设置
* 入口参数 : *出口参数
****************************************************************************
// 位置 1 P0 口 // P0_2,P0_3 用作串口 // P0 优先作为 UART0 // UART 方式 // 波特率设为 9600bps // UART0 TX 中断标志初始置位 0 // 允许接收
// 开总中断,接收中断
/******************************************************************************
* 函数名称 : void Uart0_TX_Data(unsigned char *Data,int len) *函数功能 : 串口 0 发送一组数据
* 入口参数 :
* 出口参数 :
* 备 注:
******************************************************************************/ void Uart0_TX_Data(unsigned char *Data,int len)
{
int j;
for(j=0;j<len;j++)
{
U0DBUF = *Data++;
while(UTX0IF == 0);
UTX0IF = 0;
}
}
/******************************************************************************
* 函数名称 : void Init_Sysclk()
* 函数功能 : 设置系统时钟
* 入口参数 :
* 出口参数 :
* 备 注:
void Init_Uart0(void)
{
PERCFG = 0x00;
P0SEL = 0x3c;
P2DIR &= ~0XC0;
U0CSR |= 0x80;
U0GCR |= 8;
U0BAUD |= 59;
UTX0IF = 0;
U0CSR |= 0X40;
IEN0 |= 0x84;
**************************************************************************** }
void Init_Sysclk(void)
{
CLKCONCMD &= ~0x40;
while(CLKCONSTA & 0x40);
CLKCONCMD &= ~0x47;
} /****************************************************************************** *函数名称 : void Init_LED(void)
* 函数功能 : 初始化 LED
* 入口参数 :
* 出口参数 :
* 备 注:
******************************************************************************/ void Init_LED(void)
{
P1DIR = 0x03;
// P1.0 P1.1 设置为输出 RLED = 1;
//初始化LED 状态
GLED = 1;
} /****************************************************************************** * 函数名称 : void main(void)
* 函数功能 : 主函数
* 入口参数 :
* 出口参数 :
* 备 注:
******************************************************************************/ void main(void)
{
Init_Sysclk(); // 初始化系统时钟
Init_Uart0(); // 串口 0 设置 Init_LED(); // 初始化 LED
while(1)
{
Uart0_TX_Data(Text_Data,17);
Delay(50000);
Delay(50000);
Delay(50000);
// 设置系统时钟源为 32MHZ 晶振 // 等待晶振稳定 // 设置系统主时 32MHZ
'****************************************************************************
*函数名称: void UART0_ISR(void)
*函数功能: Uart0 中断服务子程序
* 入口参数:
* 出口参数:
* 备注:
****************************************************************************
#pragma vector = URX0_VECTOR
__interrupt void UART0_ISR(void)
{
URX0IF = 0; // 清中断标志
Uart0_Rx = U0DBUF;
}
******************* 结束***********************************************。