《嵌入式实验四实验报告 .doc》由会员分享,可在线阅读,更多相关《嵌入式实验四实验报告 .doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、此资料由网络收集而来,如有侵权请告知上传者立即删除。资料共分享,我们负责传递知识。嵌入式实验四实验报告3.4基于UART的加法器的实现一、实验目的学习lm3s9b92的串口通信学习应用超级终端调试串口学会应用UART有关的库函数二、实验设备计算机、LM3S9B92开发板、USB A型公口转 Mini B型 5Pin 数据线1 条三、实验原理Stellaris系列ARM的UART具有完全可编程、16C550型串行接口的特性。Stellaris系列ARM含有2至3个UART模块。该指导书在第一部分的1.2节中说明,该开发板使用了FT2232芯片实现usb到串口的转换。并设置在芯片的B通道上使用虚拟
2、COM接口(VCP)。虚拟串行端口(VCP)与LM3s9b92上的UART0模块连接。在安装FTDI驱动程序后,windows会分配一个串行通信端口号到VCP通道,并允许windows应用程序(如超级终端)通过USB与LM3s9b92上的UART0进行通信。 利用Windows超级终端调试UART的方法对于该开发板,使用的是USB虚拟的COM端口,无须使用DB9连接器。因此下面讲解一下如何利用Windows附带的超级终端来调试UART接口。Windows附件里的“超级终端”是个非常实用的应用程序,可以用来调试电脑的COM串行口,也能很好地支持通过USB虚拟的COM口。以下是超级终端配置COM端
3、口的过程:四、实验要求采用超级终端作为外部输入与输出的接口,实现多位数的相加。即通过UART串口分别输入需要相加的多位数A与B,最后把A和B两个多位数相加的过程和结果,回显给用户。具体实现方法:既可以采用轮询的方式也可以应用中断。五、实验步骤1、 连接实验设备:使用USB mini B线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。2、 根据实验要求编写、调试、运行程序。并要求在代码上附上相关的注释。#include#include “inc/hw_ints.h”#include “inc/hw_memmap.h”#include “inc/hw_types.h”#in
4、clude “driverlib/debug.h”#include “driverlib/gpio.h”#include “driverlib/interrupt.h”#include “driverlib/sysctl.h”#include “driverlib/uart.h”#include “grlib/grlib.h”#include “drivers/kitronix320x240x16_ssd2119_8bit.h”#include “drivers/set_pinout.h”#include “systemInit.h”void uartInit(void)SysCtlPeriE
5、nable(SYSCTL_PERIPH_UART0); / 使能UART模块SysCtlPeriEnable(SYSCTL_PERIPH_GPIOA); / 使能RX/TX所在的GPIO端口 GPIOPinTypeUART(GPIO_PORTA_BASE, / 配置RX/TX所在管脚为GPIO_PIN_0 | GPIO_PIN_1); / UART收发功能UARTConfigSet(UART0_BASE, / 配置UART端口9600, / 波特率:9600UART_CONFIG_WLEN_8| / 数据位:8UART_CONFIG_STOP_ONE | / 停止位:1UART_CONFIG_
6、PAR_NONE); / 校验位:无UARTEnable(UART0_BASE); / 使能UART端口void uartPuts(const char *s)while (*s != )UARTCharPut(UART0_BASE, *(s+);main(void)char c,a12;int sum=0,num=0,i;/ jtagWait( ); / 防止 JTAG 失效,重要!clockInit( ); / 时钟初始化:晶振, 6MHzuartInit( ); / UART 初始化uartPuts(“输入格式 m+n= “);for (;)c = UARTCharGet(UART0_BASE); / 等待接收字符if(c=0&c=0;i-)UARTCharPut(UART0_BASE, ai+0); UARTCharPut(UART0_BASE, ); if (c = ) / 如果遇到回车UARTCharPut(UART0_BASE, ); / 多回显一个换行3、 书写实验报告,要求附上程序流程图。六、实验心得比较轮询方式与中断方式4