版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、无锡谷雨电子实验九通过串口控制 LED 亮灭实验2014/1/27在此处键入文档的摘要。摘要通常是对文档内容的简短总结。在此处键入文档的摘要。摘要通常是对文档内容的简短总结。目录前言2必要条件2原理图2编程参考2源码分析66 编译调试97 使用 Flash Programmer程序1411 前言通过串口输入控制命令,控制 LED。2 必要条件A 硬件1、 SmartRF 系列开发板,CC2530 或者 CC2531 2、 CC-Debugger 仿真器B1、 IAR for 8051 开发环境,版本:8.102、 Flash Programmer 固件烧写3、 串口调试助手。3 原理图P0.2
2、 是 CC254x UART 的 Rx 接收信号,P0.3 是 CC254x CTS 和RTS,当开启 flowcontrol 流控制时需要改硬件。UART 的 Tx 发射信号,另外还有4 编程参考相关寄存器 UxCSR、UxCSR、UxGCR、UxBUF、UxBAUD、CLKCONCMD、CLKCONSTA 如下表所示234波特率计算公式如下:这里使用常见的 115200 波特率。配置 UART 一般步骤如下:1、 配置 IO 端口为外设(非GPIO)2、 配置 UART 相关寄存器及波特率。宏定义函数 BV()。#define BV(x)1x;/将 1每个位。x 位,这样可以非常方便而且非
3、常清晰的控制寄存器的/ P1.0 定义为输出P1DIR |= BV(0);P1SEL &= BV(0);/ P1.0 定义为一般GPIO5P0SEL |= BV(2) | BV(3);/配置 P0.2 和 P0.3 为外设,非 GPIOU0CSR |= BV(7); /配置当前为 UART,非 SPIU0GCR |= 11; /根据上述波特率设置表格设置 115200 波特率 U0BAUD |= 216;/ 根据上述波特率设置表格设置 115200 波特率 UTX0IF = 0;/位寄存器,直接操作,清除中断标志除此之外还需要设置串口接收的相关寄存器。U0CSR |= BV(6);/允许接收数
4、据 IEN0 |= BV(2);/打开接收中断 EA=1;/打开总中断5 源码分析打开实验 7 按键实验uart 工程(双击 uart.eww 打开)#include /CC2531 也可以使用该头文件/Ghostyu SmartRF 开发板实验/串口收发验,波特率 115200,8N1.通过串口命令控制 LED 亮灭/技术支持:/无锡谷雨电子typedef unsigned char u8;typedef char8;typedef unsigned shortu16;/定义 P1.0 口为 LED1 控制端/定义 P1.1 口为 LED2 控制端/定义 P1.4 口为 LED3 控制端#d
5、efine LED1 P1_0#define LED2 P1_1 #define LED3 P1_4/*常用宏定义*/#define BV(x) (1(x)/*名称: DelayMS()功能: 毫秒延时,系统时钟不配置时默认使用16M,本 demo 中,时钟为外部 32M参数: msec 延时参数,注意,最大数值为 65536ms出口参数: 无6*/void DelayMS(u16 msec)u16 i,j;for (i=0; imsec; i+)for (j=0; j536*2; j+);/*名称: LedSet()功能: 点亮或熄灭所有 LED 灯参数: m 为 0 时 LED 灯亮 m
6、为 1 时 LED 灯灭出口参数: 无*/ void LedSet(u8 m)LED1 = m; LED2 = m; LED3 = m;/*名称: InitLed()功能:参数:出口参数:设置 LED 灯相应的 IO 口无无*/void InitLed(void)P1DIR |=BV(0) | BV(1) | BV(4); /P1.0,P1.1,P1.4 定义为输出口P1SEL &= ( BV(0) | BV(1) | BV(4);/ P1.0,P1.1,P1.4 定义为一般GPIO/只有初始化过GPIO 后,对 GPIO 的操作才会生效/使所有 LED 灯默认为熄灭状态LedSet(0);/
7、*名称: InitUart()功能:参数:出口参数:串口初始化函数无无*/void InitUart(void)7P0SEL |= BV(2) | BV(3);/配置 P0.2 和 P0.3 为外设,非GPIOU0CSR |= BV(7); /配置当前为 UART,非 SPIU0GCR |= 11; /根据上述波特率设置表格设置 115200 波特率 U0BAUD |= 216;/ 根据上述波特率设置表格设置 115200 波特率 UTX0IF = 0;/位寄存器,直接操作,清除中断标志U0CSR |= BV(6);/允许接收数据 IEN0 |= BV(2);/打开接收中断 EA=1;/打开总
8、中断/*名称: UardString()功能: 串口发送函数参数: Data:发送缓冲区出口参数: 无len:发送长度*/void UardString(8 *Data, u16 len)u16 i;for(i=0; ilen; i+)U0DBUF = *Data+; while(UTX0IF = 0);UTX0IF = 0;/*名称: UardByte()功能: 串口发送函数参数: byte,带发送的数据出口参数: 无*/void UardByte(8 byte)U0DBUF = byte;while(UTX0IF = 0);UTX0IF = 0;/*8名描称: UART0_ISR(void
9、) 串口中断处理函数述: 当串口 0 产生接收中断,将收到的数据保存在 RxBuf 中,每次接收一个字节*/#pragma vector = URX0_VECTOR errupt void UART0_ISR(void)/ 清中断标志URX0IF = 0;if(U0DBUF=A)/点亮 LED1 LED1=1;else if(U0DBUF=D)/熄灭 LED1 LED1=0;if(U0DBUF=B)/点亮 LED2 LED2=1;else if(U0DBUF=E)/熄灭 LED2 LED2=0;if(U0DBUF=C)/点亮 LED3 LED3=1;else if(U0DBUF=F)/熄灭 L
10、ED3 LED3=0;UardByte(U0DBUF); /收到后立即发送出去void main(void)CLKCONCMD &= 0 x40;while(CLKCONSTA & 0 x40); CLKCONCMD &= 0 x47;/设置系统时钟源为 32MHZ 晶振/等待晶振稳定/设置系统主时钟频率为 32MHZInitLed();InitUart();/调置串口相关寄存器while(1)6 编译调试根据实验 1 中的方法调试程序,若有语法错误,根据提示修改语句。每隔 1 秒,led1 翻转一次。并且向串口输出”o Ghostyu”.9第一次使用 New SmartRF 串口时,需要安装
11、CH340G USB 转 UART 的驱动程序。请将提供的mini-usb 线插到 New SmartRF 开发板左边的 MINI-USB 座中,然后将波动开关拨到 usb 线一次,如下图:一旦当你把 NewSmartRF 开发板通过 usb 转串口的miniusb 连接到 PC 上,windows 会提示发现新硬件,要求安装开发板上的 USB 转串口 CH340G 驱动程序,如果 windows 从未安装过 ch340 的驱动,会出现如下图:2.2.1 安装串口转 USB 驱动(CH340G)驱动程序位于/Software/Software串口USB 转串口驱动,如下图安装的带有数字签名的驱
12、动程序 ch341.zip,解压后,运行 setup.exe,点击安装,大概 10 秒后安装成功。10安装成功后,退出驱动安装程序。这时,拔掉刚才已经连接的 NewSmartRF 开发板,然后重新连接。或者使用关闭 NewSmartRF 电源开关,重新打开。打开设备管理器,查看刚才安装的设备驱动。(如何打开设备管理器请)假如未能安装成功,或者有黄色的感叹号,请右击改设备,选择更新驱动程序。在出现的框中选择“浏览计算机以查找驱动程序”11然后定位到驱动程序所在目录,然后单击下一步。直到安装成功。12驱动安装成功后就可以使用开发板的 usb 转 uart 功能了驱动安装 OK 后,打开串口调试助手
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《FZT 73046-2020一体成型文胸》
- 统编人教六年级语文下册古诗词诵读《送元二使安西》 公开课教学课件
- 初中家长教育观念更新对亲子关系影响研究-基于观念测评与亲子关系评估关联数据分析
- 2026年高考物理复习(习题)第四章核心素养提升(四) 水平面、竖直面内圆周运动的临界问题
- 2026年山西省长治市社区工作者招聘考试备考试题及答案解析
- 2026年青岛市崂山区社区工作者招聘考试模拟试题及答案解析
- 2026年莱芜市莱城区社区工作者招聘笔试参考试题及答案解析
- 2026年张家界市武陵源区社区工作者招聘考试备考题库及答案解析
- 二年级品德下册 爷爷奶奶你们好教学设计2 科教版
- 2026年济南市市中区社区工作者招聘笔试参考试题及答案解析
- 第二单元欣赏打起手鼓唱起歌(课件)人音版音乐五年级下册
- 人教版中职数学拓展模块一:3.2.1向量的加法课件(共21张课件)
- 江苏开放大学体育活动策划与组织050580课程大作业
- DB52T 921-2014 蚯蚓粪有机肥
- 养殖场租赁合同
- 2024年湖南长沙中考历史试卷答案讲解及备考指导课件(深度解读)
- 起重机械检验员(QZ-1)
- 2024年巴西车辆到电网(V2G)市场机会及渠道调研报告
- 大型变压器运输吊装方案
- 渣土车挂靠合同
- 新版GMP实务教程-第二章-质量管理
评论
0/150
提交评论