分享
2023年嵌入式实验四实验报告.docx
下载文档

ID:754746

大小:9.71KB

页数:4页

格式:DOCX

时间:2023-04-15

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 嵌入式 实验 报告
嵌入式实验四实验报告   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通道上使用虚拟COM接口(VCP)。虚拟串行端口(VCP)与LM3s9b92上的UART0模块连接。在安装FTDI驱动程序后,windows会分配一个串行通信端口号到VCP通道,并允许windows应用程序(如超级终端)通过USB与LM3s9b92上的UART0进行通信。 利用Windows超级终端调试UART的方法   对于该开发板,使用的是USB虚拟的COM端口,无须使用DB9连接器。因此下面讲解一下如何利用Windows附带的超级终端来调试UART接口。   Windows附件里的“超级终端〞是个非常实用的应用程序,可以用来调试的COM串行口,也能很好地支持通过USB虚拟的COM口。以下是超级终端配置COM端口的过程:   四、实验要求   采用超级终端作为外部输入与输出的接口,实现多位数的相加。即通过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〞   #include “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)   {   SysCtlPeriEnable(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, // 波特率:9600   UART_CONFIG_WLEN_8| // 数据位:8   UART_CONFIG_STOP_ONE | // 停止位:1   UART_CONFIG_PAR_NONE); // 校验位:无   UARTEnable(UART0_BASE); // 使能UART端口   }   void uartPuts(const char xs)   {   while (xs != ‘‘)   {   UARTCharPut(UART0_BASE, x(s++));   }   }   main(void)   {   char c,a[12];   int sum=0,num=0,i;   // jtagWait( ); // 防止 JTAG 失效,重要!   clockInit( ); // 时钟初始化:晶振, 6MHz   uartInit( ); // UART 初始化   uartPuts(“输入格式 m+n= “);   for (;;)   {   c = UARTCharGet(UART0_BASE); // 等待接收字符   if(c>=‘0’&&c=0;i--){   UARTCharPut(UART0_BASE, a[i]+’0’); }   UARTCharPut(UART0_BASE, ‘ ‘); }   if (c == ‘ ‘) // 如果遇到回车   {   UARTCharPut(UART0_BASE, ‘ ‘); // 多回显一个换行}   }   }   3、 书写实验报告,要求附上程序流程图。   六、实验心得   比较轮询方式与中断方式

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开