<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > s3c6410 s3c2440串口發(fā)送接收數據的實(shí)現(輪詢(xún))及相關(guān)寄存器

s3c6410 s3c2440串口發(fā)送接收數據的實(shí)現(輪詢(xún))及相關(guān)寄存器

作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò ) 收藏
1 6410與串口相關(guān)寄存器

一 需要設置的寄存器(其實(shí)進(jìn)入uboot后,串口已經(jīng)設置好了,直接發(fā)送數據就行了,)
1)模式
UCON (輪詢(xún),中斷,DMA等)
2)相關(guān)參數
ULCON0 定義了串口數據的幀格式,數據位長(cháng)度,奇偶校驗位,停止位(8-N-1)
BRDIV 定義了波特率的計算公式所得結果的整數部分
UDIVSLOT0 定義了波特率的計算公式所得結果的小數部分
3)高級選項(串口的發(fā)送接收緩沖的大?。╢ifo)默認是1B,可改成64B
二 發(fā)送接收數據
相關(guān)的寄存器
UTXH0 UART channel 0 transmit buffer register
URXH0UART channel 0 receive buffer register(這兩個(gè)寄存器和51的SBUF相似)

本文引用地址:http://dyxdggzs.com/article/201611/316679.htm

UTRSTAT0 UART channel 0 Tx/Rx status register
[2:0]中
[2] 如果發(fā)送buffer空且發(fā)送移位器空時(shí)置1,反之置0
[1] 如果發(fā)送buffer空則置1;
[0] 如果接收buffer接收到有效數據,則置1,反之置0;
發(fā)送時(shí)看2位,接收時(shí)看0位;
2410下的發(fā)送接收函數(6410 和 2440 的串口實(shí)現基本一樣,改改地址就行,個(gè)別的寄存器值的計算不同)

void uart_putchar(unsigned char k)
{
while(!(UTRSTAT0&0x04)); //如果UTRSTAT 2位是0,則一直循環(huán),直到為1(transmit buffer is empty,can transmit data)


UTXH0 = k;
}
unsigned char uart_getchar(void)
{
unsigned char c;
while(!(UTRSTAT0&1<<0)); // 如果UTRSTAT 0位是0(表示沒(méi)有有效數據),則一直循環(huán),
c = URXH0;
return c;
}
這樣就可以發(fā)送一字節和接收一字節了,可以在寫(xiě)自己的gets()puts()函數;
當然串口能工作是因為 uboot 已經(jīng)做了很多工作(串口的初始化);現在可以讀出響應的寄存器值(都是正確的值,可以工作),
寫(xiě)到自己的uart_init()函數中;



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>