嵌入式实验四实验报告
VIP专免
3.0
2024-07-12
999+
37.99KB
4 页
海报
侵权投诉
嵌入式实验四实验报告
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 *s)
{
while (*s != '')
{
UARTCharPut(UART0_BASE, *(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<='9')//判断收到的是否为字符{
num=num*10+c-'0'; // 将收到的字符转换为整形储存 }
else if(c=='+'){ // 接收第二个数 sum=sum+num;
num=0;
}
else if(c=='=') //输出
{
sum=sum+num;
num=0;
for(i=0;sum!=0;i++)
标签: #实验报告
摘要:
展开>>
收起<<
嵌入式实验四实验报告 3.4基于UART的加法器的实现 一、实验目的 学习lm3s9b92的串口通信 学习应用超级终端调试串口 学会应用UART有关的库函数 二、实验设备 计算机、LM3S9B92开发板、USBA 型公口转MiniB 型5Pin数据线1条 三、实验原理 Stellaris系列ARM的UART具有完全可编程、16C550型串行接口的特性。Stellaris系列ARM含有2至3个UART模块。 该指导书在第一部分的1.2节中说明,该开发板使用了FT2232芯片实现usb到串口的转换。并设置在芯片的B通道上使用虚拟COM接口(VCP)。虚拟串行端口(VCP)与LM...
声明:本文档由网友提供,仅限参考学习,如有不妥或产生版权问题,请联系我们及时删除。
客服请联系: fanwenhaiwang@163.com 微信:fanwenhai2012

