當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]Uart工作原理:數(shù)據(jù)通信方式為:并行通信與串行通信兩種:§并行通信:利用多條數(shù)據(jù)線將數(shù)據(jù)的各位同時(shí)傳送。它的特點(diǎn)是:傳輸速度快,是用于短距離通信;§串行通信:利用一條數(shù)據(jù)線將數(shù)據(jù)一位位地順序傳送。特點(diǎn)是通

Uart工作原理:

數(shù)據(jù)通信方式為:并行通信與串行通信兩種:

§并行通信:利用多條數(shù)據(jù)線將數(shù)據(jù)的各位同時(shí)傳送。

它的特點(diǎn)是:傳輸速度快,是用于短距離通信;

§串行通信:利用一條數(shù)據(jù)線將數(shù)據(jù)一位位地順序傳送。

特點(diǎn)是通信線路簡單,利用簡單的線纜就實(shí)現(xiàn)通信,低成本,是用于遠(yuǎn)距離通信。

異步通信:

a異步通信:以一個(gè)字符為傳輸單位,通過兩個(gè)字符間的時(shí)間間隔是不固定的,然而同一字符中的兩個(gè)相鄰位之間的時(shí)間間隔是固定的。

a通信協(xié)議:是指通信雙方約定的一些規(guī)則。在異步通訊時(shí),對數(shù)據(jù)格式有如下約定:規(guī)定有空閑位、起始位、資料位、奇偶校驗(yàn)位、停止位。

起始位:先發(fā)一個(gè)邏輯“0”信號(hào),表示傳輸字符的開始;

數(shù)據(jù)位:緊接在起始位之后。數(shù)據(jù)位的個(gè)數(shù)可以是4、5、6、7、8等,從最低位開始傳送,靠時(shí)鐘定位。

奇偶校驗(yàn)位:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗(yàn))或(奇校驗(yàn)),以此校驗(yàn)數(shù)據(jù)傳送的正確性。

停止位:它是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志。

空閑位:處于邏輯“1”狀態(tài),表示當(dāng)前線路沒有數(shù)據(jù)傳送。

波特率:

是衡量數(shù)據(jù)傳送率的指標(biāo):記錄每秒中傳送的二進(jìn)制位數(shù)。例如:數(shù)據(jù)傳送速率為120字符、每秒。而每一個(gè)字符為10位,則其傳送的波特率為10*120=1200位/秒=1200波特率

UART基本原理

通用異步收發(fā)器,簡稱UART,即“Universal Asynchronous Receiver Transmitter”,它用來傳輸串行數(shù)據(jù);

發(fā)送數(shù)據(jù)時(shí):

CPU將并行數(shù)據(jù)寫入U(xiǎn)ART,UART按照一定的格式在一根電線上串行發(fā)出;

接收數(shù)據(jù)時(shí):

UART檢測另一根電線上的信號(hào),將串行數(shù)據(jù)放在緩沖區(qū)中,CPU可讀取UART獲得的這些數(shù)據(jù)。

UART驅(qū)動(dòng)程序設(shè)計(jì)

UART初始化:1.發(fā)送數(shù)據(jù);2.接收數(shù)據(jù);

UART初始化:1.設(shè)置波特率;2.設(shè)置數(shù)據(jù)傳輸格式;3.選擇通道工作模式;

一.設(shè)置波特率:(UBRDIV)

在s3c2440中,通過UBRDIV(p352)寄存器可以設(shè)定UART的波特率。Uart0、Uart1、Uart2分別對應(yīng)UBRDIV0,UBRDIV1、UBRDIV2

到底UBRDIV寄存器中的值與波特率有何關(guān)系?

UBRDIV=(int)(UART clock/ (buad rate *16))-1

(UART clock:PCLK or FCLK/ n or UEXTCLK)

如波特率為115200bps,UART時(shí)鐘為40MHZ

UBRDIV =(int) (40MHZ /(115200*16))-1

二.設(shè)置數(shù)據(jù)傳輸格式(ULCON)

在s3c2440中,通過ULCON(page341),可以設(shè)置傳輸格式(有多少個(gè)數(shù)據(jù)位、是否使用校驗(yàn)位、是奇校驗(yàn)還是偶校驗(yàn),有多少個(gè)停止位、是否使用流量控制)

Uart0、Uart1、Uart2分別對應(yīng)ULCON0、ULCON1、ULCON2.

三.設(shè)置通道工作模式(UCON)

在s3c2440中,通過UCON(page342),可以設(shè)置UART通道的工作模式,(中斷模式、查詢模式、或DMA模式)

Uart0、Uart1、Uart2分別對應(yīng)UCON0、UCON1、UCON2.

這三步都屬于初始化:初始化完成之后à發(fā)送或/接收數(shù)據(jù)

發(fā)送數(shù)據(jù):

將要發(fā)送的數(shù)據(jù)寫UTXHn, UART會(huì)將保存到緩沖區(qū)中,并自動(dòng)發(fā)出去。

UTXH0、UTXH1、UTXH2

接收數(shù)據(jù):

當(dāng)UART收到數(shù)據(jù)時(shí)(UTRSTATn寄存器bit[0]被置1),CPU讀取URXHn寄存器,即可獲得數(shù)據(jù)。

URXH0、URXH1、URXH2寄存器中讀取數(shù)據(jù)


Main.c

#defineGLOBAL_CLK1

#include

#include

#include"def.h"

#include"option.h"

#include"2440addr.h"

#include"2440lib.h"

#include"2440slib.h"

#include"mmu.h"

#include"profile.h"

#include"memtest.h"

staticvoidcal_cpu_bus_clk(void);

voidSet_Clk(void);

/*************************************************

Functionname:delay

Parameter:times

Description:延時(shí)函數(shù)

Return:void

Argument:void

Autor&date:Daniel

**************************************************/

voiddelay(inttimes)

{

inti,j;

for(i=0;i

for(j=0;j<400;j++);

}

/*************************************************

Functionname:Main

Parameter:void

Description:主功能函數(shù),實(shí)現(xiàn)了串口的收發(fā)功能

首先想串口發(fā)送十次“helloworld”,

Return:void

Argument:void

Autor&date:Daniel

**************************************************/

voidMain(void)

{

inti;

intScom=0;

Set_Clk();

beep_init();

/*設(shè)置波特率、數(shù)據(jù)位、停止位、校驗(yàn)位*/

Uart_Init(0,115200);

Uart_Select(Scom);

for(i=0;i<10;i++)

Uart_Printf("nHelloWorld!n");

while(1)

{

while(Uart_GetKey()=='r')

{

for(i=0;i<10;i++)

beep_run();

Uart_Printf("nBeepQuit!n");

}

}

}

/*************************************************

Functionname:Set_Clk()

Parameter:void

Description:設(shè)置CPU的時(shí)鐘頻率

Return:void

Argument:void

Autor&date:Daniel

**************************************************/

voidSet_Clk(void)

{

inti;

U8key;

U32mpll_val=0;

i=2;//don'tuse100M!

//boot_params.cpu_clk.val=3;

switch(i){

case0://200

key=12;

mpll_val=(92<<12)|(4<<4)|(1);

break;

case1://300

key =

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉