一、项目目的:
1.1 任务1:ZigBee 模块串口通信
-
任务背景:
- 熟悉 ZigBee 模块的硬件接口是使用该技术的基础。通过学习如何利用 IAR 开发环境设计程序,可以实现 CC2530 与 PC 机终端之间的串口通信,从而更好地理解和应用 ZigBee 技术。
-
任务目标:
- 使用 IAR 开发环境编写程序,使得 CC2530 能够通过串口接收来自 PC 机的特定信息(如 “DY-WSN-KIT#”),并返回相应的信息 (“DY-WSN-KIT”) 给 PC。PC 机可以通过串口调试助手查看返回的信息。
-
实现步骤:
- 配置 CC2530 的串口通信参数(波特率、数据位、停止位等)。
- 编写接收数据的程序,识别并处理结束符“#”。
- 编写发送数据的程序,将预定信息返回给 PC。
1.2 任务2:睡眠模式唤醒及LED指示
-
任务背景:
- 睡眠模式是低功耗设计中的关键技术,通过学习如何在 IAR 开发环境中实现睡眠模式下的 CC2530 用中断方式唤醒,并通过 LED 闪烁情况表示,可以更好地掌握低功耗设计技巧。
-
任务目标:
- 使用 IAR 开发环境编写程序,使得 CC2530 进入睡眠模式。当有外部中断(如按键按下)时,唤醒 CC2530 并通过 LED 闪烁来指示唤醒状态。
-
实现步骤:
- 配置 CC2530 的睡眠模式及中断源。
- 编写进入睡眠模式的程序。
- 编写中断服务程序,在中断发生时唤醒 CC2530。
- 编写 LED 控制程序,通过 LED 闪烁表示唤醒状态。
二、项目原理:
2.1 查看 CC2530 的 datasheet 可知:
CC2530 中 UART0 和 UART1 的引脚配置及 USART 模式特点
引脚配置
-
UART0 的引脚配置如下:
- P0_2 对应 RX(接收) 引脚。
- P0_3 对应 TX(发送) 引脚。
-
UART1 的引脚配置如下:
- P0_5 对应 RX(接收) 引脚。
- P0_4 对应 TX(发送) 引脚。
USART 模式特点
在 CC2530 中,USART0 和 USART1 作为串行通信接口,提供了灵活的配置选项,以适应不同的通信需求。它们可以工作在异步 USART 模式或同步 SPI 模式,并且具有以下特点:
- 数据位配置:支持 8 位或 9 位数据负载,允许用户根据通信协议的需求选择合适的数据位长度。
- 奇偶校验:提供奇校验、偶校验或无奇偶校验的选项,增强了数据传输的可靠性。
- 起始位和停止位电平配置:用户可以根据需要配置起始位和停止位的电平,以确保与外部设备的兼容性。
- 数据传输顺序:可以选择 LSB(最低有效位)或 MSB(最高有效位)首先传送,以适应不同的数据传输标准。
- 中断和 DMA 支持:USART 支持独立的接收和发送中断,以及独立的接收和发送 DMA 触发,提高了数据处理效率和系统的响应速度。
2.2 CC2530 配置串口的一般步骤:
串口配置步骤及寄存器功能
配置步骤
-
配置 I/O 引脚:
- 将 P0_2 和 P0_3 配置为 UART0 的串口功能。P0_2 作为 RX(接收)引脚,P0_3 作为 TX(发送)引脚。
-
配置串口控制和状态寄存器:
- 设置 UART0 的工作寄存器,包括控制寄存器 U0CSR 和通用控制寄存器 U0GCR,以定义串口的工作模式和特性。
-
配置波特率:
- 设置 UART0 的波特率寄存器 U0BAUD,将波特率配置为 115200,以确保数据传输的速率符合项目需求。
寄存器功能
-
U0CSR (UART0 Control and Status Register):
- 控制 UART0 的操作模式,包括数据传输的方向、接收使能、奇偶校验设置等。
-
U0GCR (UART0 General Control Register):
- 设置 UART0 的通用控制参数,如数据位长度、停止位数量、奇偶校验类型等。
-
U0BAUD (UART0 Baud Rate Control Register):
- 配置 UART0 的波特率,确保与通信设备之间的数据传输速率匹配。
-
U0DBUF (UART0 Data Buffer Register):
- 用于发送和接收数据。当发送数据时,数据被写入此寄存器;当接收数据时,数据从此寄存器读取。
-
UTX0IF (UART0 Transmit Interrupt Flag):