ARM·UART
【代碼詳解】
【UART初始化】
1)選定uart輸出的管腳
2)ULCON (紅外傳輸,奇偶校驗,數(shù)據(jù)位,停止位)
3)UCON(不知道他怎么設(shè)置的,先照抄吧,完全沒看懂)
4)UFCON(不使用UART FIFO)
#include "s3c24xx.h"
#include "serial.h"
#define TXD0READY (1<<2)
#define RXD0READY (1)
#define PCLK 50000000 // init.c中的clock_init函數(shù)設(shè)置PCLK為50MHz
#define UART_CLK PCLK // UART0的時鐘源設(shè)為PCLK
#define UART_BAUD_RATE 115200 // 波特率
#define UART_BRD ((UART_CLK / (UART_BAUD_RATE * 16)) - 1)
void uart0_init(void)
{
}
void putc(unsigned char c)
{
}
unsigned char getc(void)
{
}
int isDigit(unsigned char c)
{
}
int isLetter(unsigned char c)
{
}
【main.c】
#include "serial.h"
int main()
{
}
【實驗素材】
2)ULCON
3)UCON
4)UFCON
5)UMCON
6)UBRDIV
7)
對于UTRSTATx寄存器中的0,1空和非空的問題,無須糾纏太多,只要記住為“1”才可讀,才可寫即可。
(8)【UTXHn/URXHn】
UTXHn寄存器:SOC將數(shù)據(jù)寫入這個寄存器,UART會將它保存到發(fā)送移位寄存器中,并自動發(fā)送出去;
URXHn寄存器:當(dāng)UART收到數(shù)據(jù)時,SOC讀取這個寄存器,即可獲得數(shù)據(jù)
(詳細可參考S3C2440全套中文手冊)
評論