嵌入式實驗四實驗報告

    時間: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

    国产一级a爱做免费播放_91揄拍久久久久无码免费_欧美视频在线播放精品a_亚洲成色在线综合网站免费

      中文热免费在线视频 | 三级在线免费a免费看 | 亚洲日韩欧美少妇精品 | 亚洲中文字幕久久 | 女同欧洲亚洲一区二区 | 色悠悠久久综合亚洲 |