www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(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)是通信線路簡(jiǎn)單,利用簡(jiǎn)單的線纜就實(shí)現(xiàn)通信,低成本,是用于遠(yuǎn)距離通信。

異步通信:

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

a通信協(xié)議:是指通信雙方約定的一些規(guī)則。在異步通訊時(shí),對(duì)數(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ā)器,簡(jiǎn)稱UART,即“Universal Asynchronous Receiver Transmitter”,它用來傳輸串行數(shù)據(jù);

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

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

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

UART檢測(cè)另一根電線上的信號(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分別對(duì)應(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分別對(duì)應(yīng)ULCON0、ULCON1、ULCON2.

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

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

Uart0、Uart1、Uart2分別對(duì)應(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)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

伴隨物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、人工智能等新興應(yīng)用領(lǐng)域的拓展和深化,智能家居、智慧樓宇、智慧城市和智能工業(yè)等行業(yè)快速發(fā)展,帶動(dòng)物聯(lián)網(wǎng)無線模組需求釋放,進(jìn)而帶動(dòng)串口WiFi模塊,BLE藍(lán)牙模塊以及ZigBee模塊的需求增長

關(guān)鍵字: uart 串口通信 物聯(lián)網(wǎng)

UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)器)是一種常用的串行通信協(xié)議,廣泛應(yīng)用于單片機(jī)或各種嵌入式設(shè)備之間的通信。

關(guān)鍵字: uart 串口通信 嵌入式

▼點(diǎn)擊下方名片,關(guān)注公眾號(hào)▼大家好,很高興和各位一起分享我的第45篇原創(chuàng)文章,喜歡和支持我的工程師,歡迎給我點(diǎn)贊、收藏、分享。加微信[xyzn3333]與作者溝通交流,免費(fèi)獲取更多單片機(jī)與嵌入式的海量電子資料。歡迎關(guān)注【...

關(guān)鍵字: 串口發(fā)送

摘要:為了更好地發(fā)揮隨鉆測(cè)井儀檢測(cè)數(shù)據(jù)的真實(shí)性和使用靈活性等優(yōu)點(diǎn),文中基于Actel公司的APA075FPGA數(shù)據(jù)采集和傳輸系統(tǒng)所涉及到的AD數(shù)據(jù)采集、FPGA數(shù)據(jù)緩存、FPGA中數(shù)據(jù)的串口發(fā)送三部分,在實(shí)驗(yàn)室自制的一塊...

關(guān)鍵字: 隨鉆井徑檢測(cè) AD數(shù)據(jù)采集 FPGA 串口發(fā)送

大家好,我是張巧龍,本文介紹如何使用帶FIFO的串口來減少接收中斷次數(shù),通過一種自定義通訊協(xié)議格式,給出幀打包方法;之后介紹一種特殊的串口數(shù)據(jù)發(fā)送方法,可在避免使用串口發(fā)送中斷的情況下,提高系統(tǒng)的響應(yīng)速度。一種可1.簡(jiǎn)介...

關(guān)鍵字: 串口發(fā)送

射雕英雄傳中的裘千丈說,UART就是我的輕功水上漂過河。想從河上過(通信),提前布暗樁,行走時(shí)步伐按樁距固定(波特率提前確定),步幅太大或太小都會(huì)落水。為了不被二弟裘千仞識(shí)破,可以安排侍衛(wèi)在對(duì)岸監(jiān)視通知,沒風(fēng)險(xiǎn)才開始表演...

關(guān)鍵字: uart 通信技術(shù)

射雕英雄傳中的裘千丈說,UART就是我的輕功水上漂過河。想從河上過(通信),提前布暗樁,行走時(shí)步伐按樁距固定(波特率提前確定),步幅太大或太小都會(huì)落水。為了不被二弟裘千仞識(shí)破,可以安排侍衛(wèi)在對(duì)岸監(jiān)視通知,沒風(fēng)險(xiǎn)才開始表演...

關(guān)鍵字: uart 通信技術(shù)

射雕英雄傳中的裘千丈說,UART就是我的輕功水上漂過河。想從河上過(通信),提前布暗樁,行走時(shí)步伐按樁距固定(波特率提前確定),步幅太大或太小都會(huì)落水。為了不被二弟裘千仞識(shí)破,可以安排侍衛(wèi)在對(duì)岸監(jiān)視通知,沒風(fēng)險(xiǎn)才開始表演...

關(guān)鍵字: uart 通信技術(shù)

還記得當(dāng)年的打印機(jī),鼠標(biāo)和調(diào)制解調(diào)器嗎?他們都有巨大笨重的連接器和粗電纜,并且必須擰到你的電腦上。這些設(shè)備正是使用UART協(xié)議與計(jì)算機(jī)進(jìn)行通信。雖然USB幾乎完全取代了舊的電纜和連接器,但UART絕對(duì)沒有過時(shí)。你會(huì)發(fā)現(xiàn)目...

關(guān)鍵字: uart 通信技術(shù)

這篇基礎(chǔ)的UART,獻(xiàn)給剛好需要的您!

關(guān)鍵字: uart 嵌入式
關(guān)閉