辜渝傧

13037102709

027-87870986

教学实训

您当前的位置:首页 > 教学资源 > 实训方案 >

无线传感网络实训|实验2.3 串口收发实验

发布者:唯众    布时间:2020-11-27 15:17:36    点击量:

1.实验目的

1)、通过实验掌握CC2530芯片GPIO的配置方法,带你一步步走进嵌入式大门
2)、掌握CC2530的P0.2和P0.3用作串口的方法,学会串口通信

2.实验设备

硬件:PC机1台、ZIGBEE节点板1套(底板、核心板、仿真器、USB 线)、唯众串口转USB模块1个
软件:2000/XP/win7 系统,IAR 8.10 集成开发环境,串口调试助手

3.实验相关电路图

实验2.3 串口收发实验
如图:CH340是一个USB总线的转接芯片,实现USB转串口、USB转IrDA红外或者USB转打印口。 在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。P00为复位脚,P02,P03分别接单片机的串口RXD,TXD。

4.源码分析

#include <iocc2530.h>
 
void initUART0(void)
{
    CLKCONCMD &= ~0x40;      //设置系统时钟源为32MHZ晶振
    while(CLKCONSTA & 0x40);  //等待晶振稳定
    CLKCONCMD &= ~0x47;     //设置系统主时钟频率为32MHZ
  
    PERCFG = 0x00;                       //位置1 P0口
    P0SEL = 0x0c;                          //P0用作串口
    P2DIR &= ~0XC0;          //P0优先作为UART0       
    U0CSR |= 0x80;                       //串口设置为UART方式
    U0GCR |= 11;                         
    U0BAUD |= 216;                     //波特率设为115200
    UTX0IF = 1;               //UART0 TX中断标志初始置位1     
    U0CSR |= 0X40;                       //允许接收
    IEN0 |= 0x84;                          //开总中断,接收中断
}
void main(void)
{     
       initUART0();
       while(1)
       {
          if(URX0IF == 1)            //接收状态,将接收到的数据发送出去
          {
                            U0DBUF = U0DBUF;
                        while(UTX0IF == 0);
                        UTX0IF = 0;
          }
       }
}

5.实验现象:

       打开软件调试助手,使用USB线连接好串口转USB线。使用软件调试助手给节点板发送数据,节点板收到数据后,将数据回显。即使用串口助手发生什么内容,就可收到什么内容。


上一篇:无线传感网络实训|实验2.2 GPIO输入实验

下一篇:无线传感网络实训|实验2.4 定时器控制实验