使用串列埠UART0接收上位機傳送的資料

2021-03-04 01:14:30 字數 2297 閱讀 3841

** modified by:

** modified date:

** version:

** descriptions:

*** 檔名:main.c

* 功能:使用串列埠uart0接收上位機傳送的資料,並將資料原封不動地傳送回上位機。

* 說明:通訊波特率115200,8位資料位,1位停止位,無奇偶校驗。

#include "config.h"

#include "stdio.h"

#define beep 1<<7p0.7腳控制蜂鳴器

#define key1 1<<18p0.18叫接key1

#define key2 1<<19p0.19叫接key2

#define led1 1<<22p1.22腳控制核心板上的led1

/* 定義串列埠模式設定資料結構 */

typedef struct uartmode

uartmode;

uint8 rcv_bufuart0資料接收緩衝區

volatile uint8 rcv_new接收新資料標誌

* 名稱:irq_uart0()

* 功能:串列埠uart0接收中斷。

* 入口引數:無

* 出口引數:無

void __irq irq_uart0(void)

rcv_buf= u0rbr讀取fifo的資料,並清除中斷標誌

vicvectaddr = 0x00中斷處理結束

* 名稱:sendbyte()

* 功能:向串列埠uart0傳送位元組資料。

* 入口引數:data 要傳送的資料

* 出口引數:無

void sendbyte(uint8 data)

* 名稱:uart0_init()

* 功能:初始化串列埠0。設定其工作模式及波特率。

* 入口引數:baud 波特率

set 模式設定(uartmode資料結構)

* 出口引數:返回值為1時表示初化成功,為0表除引數出錯

uint8 uart0_init(uint32 baud, uartmode set)

bak |= set.parity<<4設定奇偶校驗

u0lcr = bak;

return(1);

}* 名稱:main()

* 功能:初始化串列埠,並等待接收到串列埠資料。

* 說明:在startup.s檔案中使能irq中斷(清零cpsr中的i位)。

int main(void)

{ int i;

uartmode uart0_set;

char disp[50] ;

pinsel0 = 0;

io0dir = beepbeep腳設定為輸出,key1設定為輸入。

io0set = beepbeep = 1, 關閉蜂鳴器

pinsel2 &=(~(1<<3使能p1.16~p1.25為gpio

io1dir = led1led1設定為輸出

io1set = led1熄滅led1

pinsel0 = 0x00000005設定i/o連線到uart0

pinsel1 = 0x00000000

adc_init初始化adc介面

lcdinitlcd初始化

rcv_new = 0;

uart0_set.datab = 88位資料位

uart0_set.stopb = 11位停止位

uart0_set.parity = 0無奇偶校驗

uart0_init(115200, uart0_set初始化串列埠模式

u0fcr = 0x00禁止接收fifo

u0ier = 0x01允許rbr中斷,即接收中斷

/* 設定中斷允許 */

vicintselect = 0x00000000設定所有通道為irq中斷

vicvect**tl0 = 0x26uart0中斷通道分配到irq slot 0,即優先順序最高

vicvectaddr0 = (int)irq_uart0設定uart0向量位址

vicintenable = 0x00000040使能uart0中斷

while(1等待中斷

{if((io0pin & (key1)) == 0)

{sprintf(disp, "所測電壓:%d mv", readadc將要輸出到lcd顯示的內容輸出到快取裡

lcdputs(disp輸出disp緩衝區裡的內容到液晶

cursorrst游標復位

串列埠除錯助手使用方法

你可以試試串列埠監控器,乙個功能強大,非常易用的軟體。串列埠監控器是乙個免費的多功能串列埠通訊監控軟體,它能夠多種方式顯示,接收,分析通訊資料 能夠以多種靈活方式傳送資料 功能強大,操作簡便,在串列埠通訊監控,裝置通訊測試中,能夠有效提高工作效率。主要功能如下 接收資料 1.以十六進製制方式顯示接收...

串列埠獵人的多波形使用方法

串列埠獵人是一款很強大的串列埠除錯助手 我在做自平衡小車時找了好久才找到,好像飛思卡爾都用這個,但我不是做飛思卡爾的。緊緊自己做做玩而已 無意間碰到的。簡單介紹一下多波形的使用方法吧 1.首先電腦得接收到串列埠傳送的資料吧,串列埠獵人會自動檢測你所用的通道,如果在基本功能介面,開啟串列埠時能收到資料...

串列埠與並口

串列埠串列埠叫做序列介面,也稱序列通訊介面。按電氣標準及協議來分包括rs 232 c rs 422 rs485 usb等。rs 232 c rs 422與rs 485標準只對介面的電氣特性做出規定,不涉及接外掛程式 電纜或協議。usb是近幾年發展起來的新型介面標準,主要應用於高速資料傳輸領域。rs ...