多学习 > 范文大全 > 工作报告 > 实验报告 > 嵌入式实验四实验报告

嵌入式实验四实验报告

更新时间:2023-12-23 16:57:06

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++)

{

a[i]=sum%10;

sum=(sum-a[i])/10;

}

for(i--;i>=0;i--){

UARTCharPut(UART0_BASE, a[i]+'0'); }

UARTCharPut(UART0_BASE, ' '); }

if (c == ' ') // 如果遇到回车

{

UARTCharPut(UART0_BASE, ' '); // 多回显一个换行}

}

}

3、 书写实验报告,要求附上程序流程图。

六、实验心得

比较轮询方式与中断方式

嵌入式实验四实验报告.docx

将本文的Word文档下载到电脑保存

推荐等级

相关内容

  • Excel在会计中的应用实验报告

    Excel在会计中的应用实验报告一、 实验目的大一时候我们就学习了excel的基础知识,无论实在表格制作还是各种公式在计算中...

  • 实验报告模板

    实验报告模板不知道如何写实验报告的朋友,下面请看私云范文网小编给大家整理收集的实验报告模板,希望对大家有帮助。实验...

  • 能耗制动的实验报告

    能耗制动的实验报告篇一:机电实验报告姓名:学号:班级:201X年7月2日机床电气控制虚拟实验实验一:三相异步电动机两地控...

  • 直流发电机的工作特性实验报告范文

    直流发电机的工作特性实验报告范文篇一:直流发电机实验报告一、实验目的1、掌握用实验方法测定直流发电机的各种运行特性...

  • 唾液淀粉酶活性的观察实验报告范文

    唾液淀粉酶活性的观察实验报告范文篇一:唾液淀粉酶活性观察实验报告2 唾液淀粉酶活性观察实验报告一、实验目的1.了解环...

  • 实验报告的格式怎么写

    实验报告的格式怎么写篇一:大学物理实验报告格式实验名称:杨氏弹性模量的测定院专 业学 号姓名同组实验者年 月 日实...

  • 纸杯旋转灯实验报告范文

    纸杯旋转灯实验报告范文篇一:纸杯烧开水实验报告实验名称:会烧开水的纸杯实验目的:在高温的情况下,纸杯是否能烧开水。...

  • 数字基带信号实验报告

    数字基带信号实验报告专业班级:指导老师:李 敏姓 名:学 号:实验一 数字基带信号一、实验目的1、了解单极性码、双...

  • 无机化学实验报告

    无机化学实验报告以下是私云范文网小编给大家整理收集的无机化学实验报告,仅供参考。无机化学实验报告1Ds区元素(铜、银、...

  • 药理实验报告范文

    药理实验报告范文一、实验目的1. 研究不同剂量的戊巴比妥对小白鼠作用的效果的不同。2. 研究不同的给药途径的对小白鼠作...

  • 《沉积岩石学》实验报告册

    《沉积岩石学》实验报告册篇一:沉积岩实验报告册《沉积岩石学》实验报告册学院名称: 专业班级: 姓 名:学 号:成 ...

  • 《测定三棱镜折射率》物理实验报告

    《测定三棱镜折射率》物理实验报告【实验目的】利用分光计测定玻璃三棱镜的折射率;【实验仪器】分光计,玻璃三棱镜,钠光...

热门分类

推荐阅读

关于我们|免责声明|隐私政策|帮助中心|网站地图|联系我们

Copyright © 2025 Duoxuexi.Com All Rights Reserved.

多学习 版权所有 粤ICP备20068283号