如果要想在串列埠工具dwn上顯示列印資訊,使用c語言的標準庫是沒有效果的,必須利用開發板上的串列埠,經過cpu來進行輸出列印資訊,uart模組可以實現輸入和輸出的功能
(一)配置i /0 暫存器
要在原理圖上找到串列埠,這裡我們使用串列埠0 ( u12 ),需要在原理圖上找到接收資料訊號 xrxd0 和 傳送資料訊號 xtxd0 兩條訊號線,然後在核心板上找到對應的輸入輸出埠gph2和gph3,由此,找到相應的控制暫存器gphcon,設定為特定功能 rxd[0] 和 txd[0]
(二)配置特殊暫存器
由規格書可知我們需要配置的特殊暫存器有 ulcon、ucon、ufcon 和 ubrdiv
ulcon0暫存器:8-bit data,no parity,one stop bit
ucon0暫存器: pclk,polling mode
ufcon0暫存器:non-fifo mode
umcon0暫存器:disable the modem mode
ubrdiv暫存器的設定:按照波特率為115200,pclk=50mhz,根據規格書上的公式計算可得數值為 27 -1
(三)輸入輸出原理,如下圖:
接收字元:當從鍵盤接受乙個字元時,通過urxh0暫存器進行返回,若緩衝區沒有字元,則需要一直進行等待
傳送字元:直到緩衝區為空時,才進行傳送字元,否則就一直進行等待
uart0.c **如下
code:
#include "2440addr.h"
#include "uart.h"
#include "string.h"
#include
#include "stdio.h"
/* function name : uart0_init
description : uart 0 init
input parameter : none
return : none
others : disable fifo function
*/void uart0_init(void)
/* function name : uart0_putchar
description : output a char from uart 0 port
input parameter : the char value
return : none
others : disable fifo function
*/void uart0_putchar(unsigned char c) /*transmit a char value*/
/* function name : uart0_getchar
description : get a char from uart 0 port
input parameter : none
return : the char
others : disable fifo function
*/unsigned char uart0_getchar(void) /*receive a char value*/
/* function name : uart0_puts
description : output a char string from uart 0 port
input parameter : the char string
return : none
others : disable fifo function
*/void uart0_puts(char *p) //輸出一串字元
}
void uart_printf(char *fmt,...)
uart0.h **
code:
#ifndef _uart_h
#define _uart_h
#define pclk 50000000 // init.c中的clock_init函式設定pclk為50mhz
#define uart_clk pclk // uart0的時鐘源設為pclk
#define uart_baud_rate 115200 // 波特率
#define uart_brd ((uart_clk / (uart_baud_rate * 16)) - 1)
extern
void uart0_init(void);
extern
void uart0_putchar(unsigned char c);
extern unsigned char uart0_getchar(void);
void uart0_puts(char s);
void uart_printf(char *fmt,...) ;
#endif
數碼相框 渲染模組
render模組包含三個部分 format,operation和render.c,其中format為檔案解析模組,operation為操作模組,render.c為渲染函式。format目錄 operation目錄 render.c picfmt manager.c zoom.c merge.c bm...
數碼相框 頁面模組
typedef struct pageaction t pageaction,pt pageaction typedef struct pagelayout t pagelayout,pt pagelayout static t layout g atmainpageiconslayout stat...
嵌入式之數碼相框專案
utf 8的格式是現在使用最廣泛的數字和字母的轉換方式。因為這種方式的容錯性是最好的。可執行程式表示那些不帶.c或者.o等的檔案。這些檔案是可以執行的。映像檔案 映象檔案是一種光碟檔案資訊的完整拷貝檔案。包括光碟所有資訊,所以需要專門的虛擬光碟機軟體,載入此種映象檔案,進行讀取,完全模擬了讀取光碟檔...