嵌入式實驗四實驗報告

          時間: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在线播放www_国产精品99久久精品无码

                  亚洲国产AV日韩AV二区 | 在线亚洲专区高清中文字幕 | 在线观看国产网址你懂的 | 午夜精品国产拍精品福利 | 夜色福利院在线观看免费 | 三级中文亚洲精品字幕 |