嵌入式實驗四實驗報告

時間:2020-10-10 17:11:07 報告 我要投稿

嵌入式實驗四實驗報告

  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、 書寫實驗報告,要求附上程序流程圖。

  六、實驗心得

  比較輪詢方式與中斷方式

【嵌入式實驗四實驗報告】相關文章:

實驗報告范文01-20

倉儲實踐實驗報告01-13

實驗報告范文(15篇)01-20

實驗報告范文15篇01-20

實驗報告范文(集錦15篇)01-20

《血染的實驗報告》讀后感01-20

民間文學課題實驗報告01-20

《血染的實驗報告》讀后感3篇01-20

嵌入式軟件求職簡歷的范文05-31

嵌入式軟件工程師簡歷05-03

中文无码日韩欧免费视频手机,久久人妻一区二区三区免费,国产精品大屁股美女白浆网站,国产久re热视频精品
五月婷婷欧美日韩 | 一本一道久久a久久精品 | 日本码亚洲成a人片 | 亚洲精品熟女国产 | 亚洲中文字幕在线乱妇 | 日本人妖中文字幕片 |