为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

传感器与RFID实验报告PC-机的串口调试助手显示“Hello-World!”

2018-01-31 16页 doc 70KB 180阅读

用户头像

is_477730

暂无简介

举报
传感器与RFID实验报告PC-机的串口调试助手显示“Hello-World!”传感器与RFID实验报告PC-机的串口调试助手显示“Hello-World!” 传感器与RFID实验报告 一、实验目的: 1. 理解串口通信原理; 2. 掌握 CC2530 单片机与 PC 机串口通信的方法。 二、实验设备: 1.unSP USB Probe 在线调试器一个; 2. 物联网多网技术综合教学开发设计平台一套。 三、实验要求: 1. 编程要求:编写一段 C 语言程序; 2. 实验现象:PC 机的串口调试助手显示“Hello World~”; 3. 实现功能:单片机向 PC 机发送字符串,PC 机...
传感器与RFID实验报告PC-机的串口调试助手显示“Hello-World!”
传感器与RFID实验报告PC-机的串口调试助手显示“Hello-World!” 传感器与RFID实验报告 一、实验目的: 1. 理解串口通信原理; 2. 掌握 CC2530 单片机与 PC 机串口通信的方法。 二、实验设备: 1.unSP USB Probe 在线调试器一个; 2. 物联网多网技术综合教学开发设计平台一套。 三、实验要求: 1. 编程要求:编写一段 C 语言程序; 2. 实验现象:PC 机的串口调试助手显示“Hello World~”; 3. 实现功能:单片机向 PC 机发送字符串,PC 机接收并显示字符串内容。 四、实验步骤: 1.使用Mini USB延长线将协调器的Mini USB接口连接至PC机的USB接口; 2.使用方口USB延长线将烧写器连接至PC机上; 3.连接烧写器和协调器,确认连接无误; 4.使用“物联网综合应用试验箱”文件夹的对应驱动程序,安装至PC机上(具体安装方法见前几次实验报告); 5.在控制面板——设备管理器中,观看是否成功安装驱动,并查看串口的连接方式(本实验为COM3); 6.打开IAR,编写程序,烧写进单片机中(具体操作方法同前几次实验),实现“hello world~”字符的发送; 7.打开串口调试助手,可以发现,程序已经完成定时发送“hello world”字符串; 8.修改程序,使程序实验可通过串口调试助手发送任何自定义数据; 9.打开串口调试助手,选择连接方式“COM3”,打开终端,在窗口输入数据,点击“发送”,可以发现,完成了自定义数据的发送。 图为使用程序发送Hello World~字节的实现结果。 图为完成程序修改,使用自定义字符发送的实现结果。 附:完成实验步骤8的关键为:修改UART.c文件中的函数__interrupt void UART0_ISR(void),去掉使其失效的注释符,使该函数完成自己的作用,完成自定义数据的发送。如图所示: 五、实验: 1.了解了串口通讯的使用,UART USB转串口通信数据线的使用; 2.学会了如何使用程序发送程序中自带的字符; 3.学会了如何使用UART文件中包含的项目,实现自定义的字符发送; 4.最后程序的修改是在老师的指导下完成,说明自己对程序的理解还不够; 5.完成通信的函数大部分为系统自带,自己能独立编程的能力有限,希望能庚随老师继续学习。 六、实验中使用的程序的理解和注释: Basic.c文件 #include"Basic.h" /*********************************************************** ** 函数名称: delay** 实现功能: 微秒级短暂延时函数 ** 入口参数: n:延时值;** 返回结果: None void delay(uint n) { uinti; for(i=0;i //数据类型重命名 typedefunsignedintuint; typedefunsignedcharuchar; typedefunsignedint uint16; typedefunsignedchar uint8; //LED_D8_D9 操作 #define SET_LED_D8 (P2 &= 0XFE) //点亮LED_D8 #define SET_LED_D9 (P1 &= 0XFD) //点亮LED_D9 #define CLR_LED_D8 (P2 |= 0X01) //熄灭LED_D8 #define CLR_LED_D9 (P1 |= 0X02) //熄灭LED_D9 #define LED_D8_TURN (P2 ^= 0X01) //改变LED_D8状态(亮变灭,灭变亮) #define LED_D9_TURN (P1 ^= 0X02) //改变LED_D9状态(亮变灭,灭变亮) void delay(uint);//微秒级短暂延时函数 void Delay(uint n);//约10ms延时函数 voidLEDPortInit(void);//LED_D8_D9 端口初始化函数 uint8 GetCh08bitADC(void);//ADC通道0以8采样位获取输入 voidSetIOInput(uint8 group, uint8 bit);//设置端口为三态输入 voidSetIOOutput(uint8 group, uint8 bit);//设置端口为通用输出IO口 uint8 GetIOLevel(uint8 group, uint8 bit);//获取IO口输入电平状态 voidSetIOLevel(uint8 group, uint8 bit, uint8 value);//设置IO端口输出电 平状态 UART.h 文件 #ifndef __UART_H__ #define __UART_H__ #include"Basic.h" #include // CC2530 UART 波特率可选值 typedefenum { BAUD_2400, //U0GCR |= 6; U0BAUD |= 59; BAUD_4800, //U0GCR |= 7; U0BAUD |= 59; BAUD_9600, //U0GCR |= 8; U0BAUD |= 59; BAUD_14400, //U0GCR |= 8; U0BAUD |= 216; BAUD_19200, //U0GCR |= 9; U0BAUD |= 59; BAUD_28800, //U0GCR |= 9; U0BAUD |= 216; BAUD_38400, //U0GCR |= 10; U0BAUD |= 59; BAUD_57600, //U0GCR |= 10; U0BAUD |= 216; BAUD_76800, //U0GCR |= 11; U0BAUD |= 59; BAUD_115200, //U0GCR |= 11; U0BAUD |= 216; BAUD_230400, //U0GCR |= 12; U0BAUD |= 216; }BaudSel; void UART0_Init(BaudSel baud);//UART0 初始化设置 void UART0_Send(char *Data,intlen);//UART0 发送数据 void UART0_Dis_uNum(uint16 uValue );//UART0 以十进制方式显示无符号数 void UART0_Dis_fNum(floatfValue );//UART0 以十进制方式显示浮点型数 UART.c文件 #include"UART.h" /*********************************************************** ** 函数名称: UART0_Init** 实现功能: 初始化 UART0 ** 入口参数: baud:波特率设置;** 返回结果: None void UART0_Init(BaudSel baud) { CLKCONCMD &= ~0X40; //晶振 while(!(SLEEPSTA & 0X40)) ; //等待晶振稳定 CLKCONCMD &= ~0X47; //TICHSPD128分频,CLKSPD不分频 SLEEPCMD |= 0X04; //关闭不用的RC振荡器 PERCFG = 0X00; //位置1 P0口 P0SEL |= 0X0C; //P0用作串口 U0CSR |= 0X80; //UART方式 switch(baud) { case BAUD_2400: U0GCR |= 6; U0BAUD |= 59; break; case BAUD_4800: U0GCR |= 7; U0BAUD |= 59; break; case BAUD_9600: U0GCR |= 8; U0BAUD |= 59; break; case BAUD_14400: U0GCR |= 8; U0BAUD |= 216; break; case BAUD_19200: U0GCR |= 9; U0BAUD |= 59; break; case BAUD_28800: U0GCR |= 9; U0BAUD |= 216; break; case BAUD_38400: U0GCR |= 10; U0BAUD |= 59; break; case BAUD_57600: U0GCR |= 10; U0BAUD |= 216; break; case BAUD_76800: U0GCR |= 11; U0BAUD |= 59; break; case BAUD_115200: U0GCR |= 11; U0BAUD |= 216; break; case BAUD_230400: U0GCR |= 12; U0BAUD |= 216; break; default : U0GCR |= 11; U0BAUD |= 216; break; //BAUD_115200; } UTX0IF = 0; U0CSR |= 0X40; //允许接收 IEN0 |= 0X84; //开总中断,接收中断 } /*********************************************************** ** 函数名称: UART0_Send** 实现功能: UART0 发送数据** 返回结果: None ** 入口参数: Data:待发送数据区首地址len:待发送数据的字节数 void UART0_Send(char *Data,intlen) { inti; for(i=0;i
/
本文档为【传感器与RFID实验报告PC-机的串口调试助手显示“Hello-World!”】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索