实验7  CC2530串口控制器编程
本实验完成时间:第8周、第9
一、实验目的
1CC2530串口控制器的原理;
2、掌握CC2530串口控制器的编程步骤;
二、实验任务
  从PC机上的串口调试助手(超级终端)输入的字符能够发送给CC2530,CC2530再把所接收到的字符“原路”回传给对方。
  直观的效果:当串口调试助手(超级终端)激活时,键盘上输入的字符能够在串口调试助手的窗口那个回显。
三、实验原理
  1、何谓超级终端和串口调试助手
    超级终端:一个和uart串口相关联的窗口应用程序。它能够从uart串口上所接收到的字符显示出来,同时当该窗口激活时能够把键盘所键入的字符从串口发送出去。超级终端能够从串口收发字符成功的前提是串口通信双方所约定的收发格式一致。它和一般所说的串口调试助手类似,但有区别:
超级终端不会以16进制的形式显示所接收的字符编码;
串口调试助手不会把键盘输入的字符实时从串口发送出去,需要点击手动发送。
串口调试助手:桌面上有串口聊天助手,如果不能打开,可以如图1在S503的D盘/试验箱资料光盘/工具软件/串口工具和驱动/串口聊天助手,打开后如图2所示。
1 串口聊天助手位置
2 串口聊天助手界面图
2、实验室GEC-CC2530开发板的uart串口接口(USB转串口,红圈圈)如图3
图3 单片机开发板的USB转串口
该接口和cc2530所连接的电路图如下:
由该图不难得知:
P0_3作为串口的发送管脚;
P0_2作为串口的接收管脚;
P0_5P0_4作为硬件流控用的,一定要注意,我们平时见到的串口的交叉线都只用到了收、发、地三根线,所以在串口设置是都禁止硬件流控!
由此可见,GEC-CC2530所占的资源就是P0_3(发送管脚)P0_2(接收管脚),更进一步结合
CC230数据手册的GPIO设备管脚映射表分析:
可知:
GEC-CC2530串口——> P0_3(发送管脚)P0_2(接收管脚)——>uart 0
3cc2530串口uart编程步骤
1)总线初始化,相关SFR如下
PERCFG  P2DIR  PxSEL UxCSR
2、数据链路格式化(数据位、停止位、校验位、波特率);
UxUCR UxGCR UxBAUD
波特率的计算:
CC2530的时钟位高速时钟位32M时,我们可以按照下表进行配置:
3、读写串口收发寄存器
  UxDBUF RX_BYTE(UxCSR的第2) TX_BYTE(UxCSR的第1)
RX_BYTE:接收字节状态,0:没有收到字节;1模拟串口使用printf函数:准备好接收字节
TX_BYTE:传送字节状态,0:字节没有被传送;1:字节准备被传送
我们读取数据时,RX_BYTE1然后读UxDBuf;
我们发送数据时,TX_BYTE1,且将准备传送的字节写入到UxDBUF
四、实验步骤
    1、领取单片机开发板,编写代码,先编译下载,如图4下载时需要接下载器,下载好之后,断开下载器和方口线,再将方口线直接接在单片机开发板的USB转串口上如图5,如果电源指示灯不亮,则将RST旁边的拨码开关打到OFF位置。
     
连接下载器                    5 PC机进行串口通信
如图5连接好之后,打开设备管理器,通过设备管理器中查看COM 口,查自己是COM几。一般方口线直接相连后,静待20S就会出现设备。
若直接将方口线接在单片机上,打开设备管理器发现出现如下图6的?,则需要右键点击问号更新安装USB转串口的驱动。此驱动需要下载:ftp/教学软件/粤嵌zigbee USB转串口/,解压至当前文件夹下,右键更新驱动路径为选择刚刚解压的文件:CH341SER。更新安装驱动之后,出现如图7所示,比刚才多了一个COM3,则我们现在就是COM3口。在串口助手上选择COM3口。若不清楚自己刚才连上的是COM几,断开方口线,再重新连接方口线。
打开串口调试助手,设置好COM口,和波特率即可;