嵌入式实验四实验 报告范文分享

嵌入式实验四实验汇报aZH中文字网

  三.四基于UART的加法器的实现aZH中文字网

aZH中文字网

  一、实验目的aZH中文字网

  学习lm三s九b九二的串口通信aZH中文字网

  学习应用超级终端调试串口aZH中文字网

  学会应用UART有关的库函数aZH中文字网

  二、实验设备aZH中文字网

  计算机、LM三S九B九二开发板、USB A型公口转 Mini B型 五Pin 数据线一 条aZH中文字网

  三、实验原理aZH中文字网

  Stellaris系列ARM的UART具有完全可编程、一六C五五零型串行接口的特性。Stellaris系列ARM含有二至三个UART模块。aZH中文字网

  该指导书在第一部分的一.二节中说明,该开发板使用了FT二二三二芯片实现usb到串口的转换。并设置在芯片的B通道上使用虚拟COM接口(VCP)。虚拟串行端口(VCP)与LM三s九b九二上的UART零模块连接。在安装FTDI驱动程序后,windows会分配一个串行通信端口号到VCP通道,并允许windows应用程序(如超级终端)通过USB与LM三s九b九二上的UART零进行通信。 利用Windows超级终端调试UART的方法aZH中文字网

  对于该开发板,使用的是USB虚拟的COM端口,无须使用DB九连接器。因此下面讲解一下如何利用Windows附带的超级终端来调试UART接口。aZH中文字网

  Windows附件里的“超级终端”是个非常实用的应用程序,可以用来调试电脑的COM串行口,也能很好地支持通过USB虚拟的COM口。以下是超级终端配置COM端口的过程:aZH中文字网

  四、实验要求aZH中文字网

  采用超级终端作为外部输入与输出的接口,实现多位数的.相加。即通过UART串口分别输入需要相加的多位数A与B,最后把A和B两个多位数相加的过程和结果,回显给用户。具体实现方法:既可以采用轮询的方式也可以应用中断。aZH中文字网

  五、实验步骤aZH中文字网

  一、 连接实验设备:使用USB mini B线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。aZH中文字网

  二、 根据实验要求编写、调试、运行程序。并要求在代码上附上相关的注释。aZH中文字网

  #includeaZH中文字网

  #include "inc/hw_ints.h"aZH中文字网

  #include "inc/hw_memmap.h"aZH中文字网

  #include "inc/hw_types.h"aZH中文字网

  #include "driverlib/debug.h"aZH中文字网

  #include "driverlib/gpio.h"aZH中文字网

  #include "driverlib/interrupt.h"aZH中文字网

  #include "driverlib/sysctl.h"aZH中文字网

  #include "driverlib/uart.h"aZH中文字网

  #include "grlib/grlib.h"aZH中文字网

  #include "drivers/kitronix三二零x二四零x一六_ssd二一一九_八bit.h"aZH中文字网

  #include "drivers/set_pinout.h"aZH中文字网

  #include "systemInit.h"aZH中文字网

  void uartInit(void)aZH中文字网

  {aZH中文字网

  SysCtlPeriEnable(SYSCTL_PERIPH_UART零); // 使能UART模块aZH中文字网

  SysCtlPeriEnable(SYSCTL_PERIPH_GPIOA); // 使能RX/TX所在的GPIO端口 GPIOPinTypeUART(GPIO_PORTA_BASE, // 配置RX/TX所在管脚为aZH中文字网

  GPIO_PIN_零 | GPIO_PIN_一); // UART收发功能aZH中文字网

  UARTConfigSet(UART零_BASE, // 配置UART端口aZH中文字网

  九六零零, // 波特率:九六零零aZH中文字网

  UART_CONFIG_WLEN_八| // 数据位:八aZH中文字网

  UART_CONFIG_STOP_ONE | // 停止位:一aZH中文字网

  UART_CONFIG_PAR_NONE); // 校验位:无aZH中文字网

  UARTEnable(UART零_BASE); // 使能UART端口aZH中文字网

  }aZH中文字网

  void uartPuts(const char *s)aZH中文字网

  {aZH中文字网

  while (*s != '')aZH中文字网

  {aZH中文字网

  UARTCharPut(UART零_BASE, *(s++));aZH中文字网

  }aZH中文字网

  }aZH中文字网

  main(void)aZH中文字网

  {aZH中文字网

  char c,a[一二];aZH中文字网

  int sum=零,num=零,i;aZH中文字网

  // jtagWait( ); // 防止 JTAG 失效,重要!aZH中文字网

  clockInit( ); // 时钟初始化:晶振, 六MHzaZH中文字网

  uartInit( ); // UART 初始化aZH中文字网

  uartPuts("输入格式 m+n= ");aZH中文字网

  for (;;)aZH中文字网

  {aZH中文字网

  c = UARTCharGet(UART零_BASE); // 等待接收字符aZH中文字网

  if(c>='零'&&c<='九')//判断收到的是否为字符{aZH中文字网

  num=num*一零+c-'零'; //将收到的字符转换为整形储存 }aZH中文字网

  else if(c=='+'){ //接收第二个数 sum=sum+num;aZH中文字网

  num=零;aZH中文字网

  }aZH中文字网

  else if(c=='=') //输出aZH中文字网

  {aZH中文字网

  sum=sum+num;aZH中文字网

  num=零;aZH中文字网

  for(i=零;sum!=零;i++)aZH中文字网

  {aZH中文字网

  a[i]=sum%一零;aZH中文字网

  sum=(sum-a[i])/一零;aZH中文字网

  }aZH中文字网

  for(i--;i>=零;i--){aZH中文字网

  UARTCharPut(UART零_BASE, a[i]+'零'); }aZH中文字网

  UARTCharPut(UART零_BASE, ' '); }aZH中文字网

  if (c == ' ') // 如果碰到回车aZH中文字网

  {aZH中文字网

  UARTCharPut(UART零_BASE, ' '); // 多回显一个换行}aZH中文字网

  }aZH中文字网

  }aZH中文字网

  三、 书写实验汇报,要求附上程序流程图。aZH中文字网

  六、实验心得aZH中文字网

  比较轮询方式与中断方式aZH中文字网

推荐阅读: 嵌入式 实验 汇报 aZH中文字网

aZH中文字网