版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
3個串行接口(UART)117位通用并行接口(GPIO)1個LCD控制器1個觸摸屏接口810位A/D轉(zhuǎn)換器3個USB接口1個I2C總線接口2個SPI總線接口4個定時/1個內(nèi)部時鐘,1個看門狗計數(shù)器可處理56個中斷源的中斷系統(tǒng)SD卡和MMC卡接口SDRAM控制器4DMA控制器
S3C2410嵌入式微處理器的內(nèi)部資源:第6章S3C2410A的基本接口應(yīng)用程序設(shè)計3個串行接口(UART)S3C2410嵌入式微處理器的內(nèi)部1具有ARM9內(nèi)核的S3C2410微處理器的嵌入式系統(tǒng)硬件平臺具有ARM9內(nèi)核的S3C2410微處理器的嵌入式系統(tǒng)硬件平臺2一、概述
S3C2410的UART(通用異步串行口)有三個獨立的異步串行I/O端口:UART0、UART1、UART2,每個串口都可以在中斷和DMA兩種模式下進(jìn)行收發(fā)。UART支持的最高波特率達(dá)230.4kbps。
每個UART包含:波特率發(fā)生器、接收器、發(fā)送器和控制單元。波特率發(fā)生器以PCLK或UCLK為時鐘源。發(fā)送器和接收器各包含1個16字節(jié)的FIFO寄存器和移位寄存器。
S3C2410的3個UART都有遵從1.0規(guī)范的紅外傳輸功能,UART0、UART1有完整的握手信號,可以連接MODEM。 當(dāng)發(fā)送數(shù)據(jù)的時候,數(shù)據(jù)先寫到FIFO然后拷貝到發(fā)送移位寄存器,然后從數(shù)據(jù)輸出端口(TxDn)依次被移位輸出。被接收的數(shù)據(jù)也同樣從接收端口(RxDn)移位輸入到移位寄存器,然后拷貝到FIFO中。6.1S3C2410A的串行通信接口一、概述6.1S3C2410A的串行通信接口36.1.1S3C2410A的內(nèi)部結(jié)構(gòu)S3C2410A的內(nèi)部集成了3個異步接收發(fā)送器(UART),它們可以作為串口使用實現(xiàn)串行通信。UART的內(nèi)部結(jié)構(gòu)6.1.1S3C2410A的內(nèi)部結(jié)構(gòu)S3C2410A的內(nèi)4串行口功能模塊
串行口功能模塊56.1.2S3C2410AUART的主要功能異步串行通信方式是將傳輸數(shù)據(jù)的每個字符一位接一位地傳送。其字符傳送協(xié)議為:1.串行數(shù)據(jù)的發(fā)送和接收6.1.2S3C2410AUART的主要功能異步串行通信6
工作原理
數(shù)據(jù)幀格式:可編程,包含1個開始位、5到8個數(shù)據(jù)位、1個可選的奇偶校驗位、1個或2個停止位,通過線路控制器(ULCONn)來設(shè)置。 發(fā)送中止信號:迫使串口輸出邏輯0,這種狀態(tài)保持一個傳輸幀的時間長度。通常在一幀傳輸數(shù)據(jù)完整地傳輸完之后,再通過這個全0狀態(tài)將中止信號發(fā)送給對方。中止信號發(fā)送之后,傳送數(shù)據(jù)連續(xù)放到FIFO中(在不使用FIFO模式下,將被放到輸出保持寄存器)。 工作原理72.紅外線模式數(shù)據(jù)的發(fā)送和接收UART連接紅外收發(fā)器,可以進(jìn)行紅外數(shù)據(jù)通信2.紅外線模式數(shù)據(jù)的發(fā)送和接收UART連接紅外收發(fā)器,可以8嵌入式系統(tǒng)第六章S3C2410A基本接口應(yīng)用程序設(shè)計課件9嵌入式系統(tǒng)第六章S3C2410A基本接口應(yīng)用程序設(shè)計課件103.提供串行通信時的狀態(tài)信息S3C2410A的每個UART可以產(chǎn)生5個狀態(tài)信號:接收緩沖器滿、發(fā)送緩沖器空、發(fā)送移位器空、超時錯誤、幀錯誤,這些狀態(tài)信號由兩個狀態(tài)寄存器(UTRSTAT和UERSTAT)來指示。接收器具有錯誤檢測功能:可以檢測出溢出錯誤,奇偶校驗錯誤,幀錯誤和中止?fàn)顩r,每種情況下都會將一個錯誤標(biāo)志在接收狀態(tài)寄存器置位。3.提供串行通信時的狀態(tài)信息S3C2410A的每個UART114.使用FIFO進(jìn)行收發(fā)
主要是通過對FIFO狀態(tài)寄存器UFSTATn的查詢,確定進(jìn)行收發(fā)。
使用FIFO進(jìn)行發(fā)送: (1)選擇發(fā)送模式(中斷或者DMA模式) (2)查詢對方是否有請求發(fā)送要求,由MODEM狀態(tài)寄存器UMSTATn[0]給出,該位為1,則有請求,再查詢FIFO狀態(tài)寄存器UFSTATn的發(fā)送數(shù)據(jù)滿狀態(tài)位是否為1,如果不是1,可以向發(fā)送緩沖寄存器UTXHn寫入發(fā)送的數(shù)據(jù)。上面二者有一個或者兩個都不滿足,則不發(fā)送數(shù)據(jù)。
使用FIFO進(jìn)行接收(請求發(fā)送): (1)選擇接收模式(中斷或者DMA模式) (2)請求發(fā)送。先要查詢FIFO狀態(tài)寄存器UFSTATn的接收數(shù)據(jù)滿狀態(tài)位是否為1,如果不是1,則可以向?qū)Ψ桨l(fā)出“請求發(fā)送信號”,對MODEM控制寄存器MCONn中的請求發(fā)送信號產(chǎn)生位置1,使UARTn發(fā)出nRTS信號;如果UFSTATn的數(shù)據(jù)滿狀態(tài)位是1,則不能夠請求發(fā)送數(shù)據(jù)。4.使用FIFO進(jìn)行收發(fā)12
5.不使用FIFO進(jìn)行收發(fā)
主要是通過對收/發(fā)狀態(tài)寄存器UTRSTATn的查詢,確定進(jìn)行收發(fā)。
數(shù)據(jù)發(fā)送: (1)選擇發(fā)送模式(中斷或者DMA模式) (2)查詢對方是否有請求發(fā)送要求,由MODEM狀態(tài)寄存器UMSTATn[0]給出,該位為1,則有請求,再查詢發(fā)送/接收狀態(tài)寄存器UTRSTATn[1]的“發(fā)送緩沖器空”狀態(tài)位是否為1,如果是1,可以向發(fā)送緩沖寄存器UTXHn寫入發(fā)送的數(shù)據(jù)。
數(shù)據(jù)接收(請求發(fā)送): (1)選擇接收模式(中斷或者DMA模式) (2)請求發(fā)送。先要查詢發(fā)送/接收狀態(tài)寄存器UTRSTATn[0]的接收緩沖器“數(shù)據(jù)就緒狀態(tài)位”是否為1,如果是1,需要先讀取數(shù)據(jù),然后再請求對方發(fā)送數(shù)據(jù),方法是對MODEM控制寄存器MCONn中的請求發(fā)送信號產(chǎn)生位置1,使UARTn發(fā)出nRTS信號。 5.不使用FIFO進(jìn)行收發(fā)13
6.中斷或DMA請求 每個UART都有3類、7種事件產(chǎn)生中斷請求或者DMA請求。
7種中斷請求事件是:溢出錯誤、奇偶校驗錯誤、幀格式錯誤、傳輸中斷信號、接收緩沖器數(shù)據(jù)就緒、發(fā)送緩沖器空、發(fā)送移位器空。 它們可以分成3類:錯誤中斷請求、接收中斷請求、發(fā)送中斷請求。 接收中斷:
非FIFO模式:當(dāng)接收緩沖寄存器收到數(shù)據(jù)后,產(chǎn)生中斷請求。
FIFO模式:RxFIFO中數(shù)據(jù)的數(shù)目達(dá)到了觸發(fā)中斷的水平,或者超時(在三幀時間內(nèi)未收到任何數(shù)據(jù)),均產(chǎn)生中斷請求。 發(fā)送中斷: 非FIFO模式:當(dāng)發(fā)送緩沖器空時,產(chǎn)生中斷請求。
FIFO模式:TxFIFO中數(shù)據(jù)的數(shù)目達(dá)到了觸發(fā)中斷的水平。 6.中斷或DMA請求14
錯誤中斷: 一共有4種錯誤中斷:溢出錯誤、奇偶檢驗錯誤、幀格式錯誤、傳輸中斷信號錯誤。 非FIFO模式:只要有任何一個錯誤出現(xiàn),就會產(chǎn)生中斷請求。
FIFO模式:RxFIFO中數(shù)據(jù)溢出,或者出現(xiàn)了幀格式錯誤、奇偶校驗錯誤、傳輸中斷信號錯誤,都會產(chǎn)生中斷請求。
說明:
(1)對于“奇偶校驗錯誤、幀格式錯誤、傳輸中斷信號錯誤”中斷,在數(shù)據(jù)接收時就產(chǎn)生了,但是在數(shù)據(jù)接收產(chǎn)生時并非出現(xiàn)中斷請求,而是在讀出錯誤數(shù)據(jù)時才出現(xiàn)中斷請求。 (2)如果設(shè)置的是DMA模式,而不是中斷請求模式,對于以上所出現(xiàn)的中斷請求,應(yīng)該是DMA請求。 (3)傳輸中斷信號定義:在超出一幀的時間內(nèi),全部輸出低電平。 錯誤中斷:15
7.循環(huán)檢測模式
S3C2410X的每一個UART都提供有檢測功能,它是一種數(shù)據(jù)循環(huán)流動的自發(fā)、自收方式,數(shù)據(jù)從發(fā)送緩沖器傳送到TXD,數(shù)據(jù)不經(jīng)過引腳輸出,在內(nèi)部將數(shù)據(jù)傳到接收引腳RXD,再傳輸?shù)浇邮站彌_器。 7.循環(huán)檢測模式16
8.串行口的自動流控制功能(AFC)
UART0和UART1不僅有完整的握手信號,而且有自動流控制功能,在寄存器UMCONn中設(shè)置實現(xiàn)。自動流控制是利用信號nRTS、nCTS來實現(xiàn)的。在接收數(shù)據(jù)時,只要接收FIFO中有兩個空字節(jié)就會使nRTS有效,使對方發(fā)送數(shù)據(jù);在發(fā)送數(shù)據(jù)時,只要nCTS有效,就會發(fā)送數(shù)據(jù)。其實現(xiàn)過程如下圖所示。
nRTS:請求對方發(fā)送 nCTS:清除請求發(fā)送 注意:這種自動流控制應(yīng)用于對方也是UART設(shè)備,不能應(yīng)用于MODEM設(shè)備。 8.串行口的自動流控制功能(AFC)17嵌入式系統(tǒng)第六章S3C2410A基本接口應(yīng)用程序設(shè)計課件18
每個UART的波特率發(fā)生器為傳輸提供了串行移位時鐘。波特率產(chǎn)生器的時鐘源可以從S3C2410的內(nèi)部系統(tǒng)時鐘PCLK或UCLK中來選擇。波特率數(shù)值決定于波特率除數(shù)寄存器(UBRDIVn)的值,波特率數(shù)與UBRDIVn的關(guān)系為:UBRDIVn=(int)(CLK/(fB*16))-1
其中CLK為所選擇的時鐘頻率,fB為波特率。fB=CLK/16/(UBRDIVn+1
) 例如,如果波特率為115200bps且PCLK或UCLK為40MHz,則UBRDIVn為:
UBRDIVn=(int)(40000000)(115200*16))-1 =(int)(21.7)-1 =21-1
=20
6.1.3串行口的波特率發(fā)生器 每個UART的波特率發(fā)生器為傳輸提供了串行移位時鐘。波196.1.4UART的初始化UART在工作前必須對其進(jìn)行初始化,即對UART的線控制寄存器(ULCON)、控制寄存器(UCON)、FIFO控制寄存器(UFCON)、Modem控制寄存器(UMCON)、波特率因子寄存器(UBRDIV)進(jìn)行設(shè)置。6.1.4UART的初始化UART在工作前必須對其進(jìn)行初20UART專用寄存器
3個UART,每個都有11個專用寄存器,共31個寄存器RegisterAddressR/WDescriptionResetValueULCONn0x5000x000R/W線路控制寄存器0x00UCONn0x5000x004R/W控制寄存器0x00UFCONn0x5000x008R/WFIFO控制寄存器0x00UMCONn0x5000x00CR/WMODEM控制寄存器*0x00UTRSTATn0x5000x010R發(fā)送/接收狀態(tài)寄存器0x6UERSTATn0x5000x014RRx錯誤狀態(tài)寄存器0x0UFSTATn0x5000x018RFIFO狀態(tài)寄存器0x00UMSTATn0x5000x01CRMODEM狀態(tài)寄存器*0x0UTXHn0x5000x020/23W發(fā)送緩沖寄存器-URXHn0x5000x024/27R接收緩沖寄存器-UBRDIVn0x5000x028R/W波特率除數(shù)寄存器-UART專用寄存器RegisterAddressR/W211、線路控制寄存器(ULCON)RegisterAddressR/WDescriptionResetValueULCON00x50000000R/WUART0線路控制寄存器0x00ULCON10x50004000R/WUART1線路控制寄存器0x00ULCON20x50008000R/WUART2線路控制寄存器0x00字段名位意義初值-7保留0Infra-Red-Mode6
紅外模式設(shè)置位。0:正常模式;1:紅外0ParityMode5:3
奇偶校驗類型。
0xx:不校驗;
100:奇校驗;101:偶校驗;
110:強(qiáng)制為1;111:強(qiáng)制為0000Numofstopbit2
停止位個數(shù)。0:1個;1:2個0WordLength1:0
數(shù)據(jù)位數(shù)目。
00:5位;
01:6位;10:7位;11:8位001、線路控制寄存器(ULCON)RegisterAddre222、控制寄存器(UCON)RegisterAddressR/WDescriptionResetValueUCON00x50000004R/WUART0控制寄存器0x00UCON10x50004004R/WUART1控制寄存器0x00UCON20x50008004R/WUART2控制寄存器0x002、控制寄存器(UCON)RegisterAddress232、控制寄存器(UCON)字段名位意義初值ClockSelection10波特率時鐘源選擇。0:PCLK;1:UCLK0TxIntType9發(fā)送中斷請求類型。0:脈沖型;1:電平0RxIntType8接收中斷請求類型。0:脈沖型;1:電平0RxTimeOVEna7接收超時中斷控制。0:禁止;1:允許0RxERRIntEna6接收錯誤中斷控制。0:禁止;1:允許0LoopbackMode5回送模式控制。0=正常操作;1=回送模式
0SendBreakSignal4發(fā)送暫停信號控制。0=正常傳輸;1=發(fā)送暫停信號(全為0)
0TransmitMode3:2
發(fā)送/接收模式控制。00:禁止發(fā)送/接收;
01:中斷或查詢模式;10:UART0、2用DMA0、DMA2;11:UART1用DMA100ReceiveMode1:0002、控制寄存器(UCON)字段名位意義初值Cl243、FIFO控制寄存器(UFCON)RegisterAddressR/WDescriptionResetValueUFCON00x50000008R/WUART0FIFO控制寄存器0x00UFCON10x50004008R/WUART1FIFO控制寄存器0x00UFCON20x50008008R/WUART2FIFO控制寄存器0x003、FIFO控制寄存器(UFCON)RegisterAdd253、FIFO控制寄存器字段名位意義初值TxFIFOTriLeve7:6
TxFIFO的觸發(fā)電平設(shè)置。
00:空;
01:減少到4字節(jié);10:減少到8字節(jié);11:減少到12字節(jié)00lRxFIFOTriLevel5:4
RxFIFO的觸發(fā)電平設(shè)置。
00:增加到4字節(jié);01:增加到8字節(jié);
10:增加到12字節(jié);11:增加到16字節(jié)00reserved3保留0TxFIFOReset2
TxFIFO清除控制。0:正常;1:清零0RxFIFOReset1
RxFIFO清除控制。0:正常;1:清零0FIFOEnable0
FIFO應(yīng)用控制。0:失能;1:使能03、FIFO控制寄存器字段名位意義初值TxF264、MODEM控制寄存器(UMCON)RegisterAddressR/WDescriptionResetValueUMCON00x5000000CR/WUART0MODEM控制寄存器0x00UMCON10x5000400CR/WUART1MODEM控制寄存器0x00reserved0x5000800C-保留-字段名位意義初值reserved7:5保留(為0)000AutoFlowControl(AFC)4
自動流控制。
0:一般方式;1:自動流控制0reserved3:1保留(為0)000RequesttoSend0
nRTS引腳信號控制。
0:nRTS為高電平;1:nRTS為低電平,有效。04、MODEM控制寄存器(UMCON)RegisterAd275、發(fā)送/接收狀態(tài)寄存器(UTRSTAT)RegisterAddressR/WDescriptionResetValueUTRSTAT00x50000010RUART0狀態(tài)寄存器0x06UTRSTAT10x50004010RUART1狀態(tài)寄存器0x06UTRSTAT20x50008010RUART2狀態(tài)寄存器0x06字段名位意義初值Transmitterempty2
發(fā)送器空狀態(tài)位。0:發(fā)送器未空
1:發(fā)送器、發(fā)送緩沖器均空。1Transmitbufferempty1
發(fā)送緩沖器空狀態(tài)位。0:未空;1:空
在非FIFO模式,激發(fā)中斷或DMA請求1Receivebufferdataready0
接收緩沖器狀態(tài)位。0:空;1:有數(shù)據(jù)在非FIFO模式,激發(fā)中斷或DMA請求05、發(fā)送/接收狀態(tài)寄存器(UTRSTAT)Register286、Rx錯誤狀態(tài)寄存器(UERSTAT)RegisterAddressR/WDescriptionResetValueUERSTAT00x50000014RUART0Rx錯誤狀態(tài)寄存器0x0UERSTAT10x50004014RUART1Rx錯誤狀態(tài)寄存器0x0UERSTAT20x50008014RUART2Rx錯誤狀態(tài)寄存器0x0字段名位意義初值BreakDetect
3
暫停信號狀態(tài)。0:無暫停信號;
1:收到暫停信號(產(chǎn)生中斷請求)0FrameError2
幀錯誤狀態(tài)位。0:無幀錯誤;
1:有幀錯誤(產(chǎn)生中斷請求)0ParityError
1
奇偶校驗錯誤狀態(tài)。0:無奇偶校驗錯
1:有奇偶校驗錯誤(產(chǎn)生中斷請求)0OverrunError0
溢出錯誤狀態(tài)位。0:無溢出錯誤;
1:溢出錯誤(產(chǎn)生中斷請求)06、Rx錯誤狀態(tài)寄存器(UERSTAT)RegisterA297、FIFO狀態(tài)寄存器(UFSTAT)RegisterAddressR/WDescriptionResetValueUFSTAT00x50000018RUART0FIFO狀態(tài)寄存器0x00UFSTAT10x50004018RUART1FIFO狀態(tài)寄存器0x00UFSTAT20x50008018RUART2FIFO狀態(tài)寄存器0x00字段名位意義初值Reserved15:10
保留(為0)0TxFIFOFull9
發(fā)送FIFO滿狀態(tài)。0:未滿;1:滿0RxFIFOFull8
接收FIFO狀態(tài)位。
0:未滿;1:滿0TxFIFOCount7:4
發(fā)送FIFO中數(shù)據(jù)的數(shù)目,字節(jié)單位。0RxFIFOCount3:0
接收FIFO中數(shù)據(jù)的數(shù)目,字節(jié)單位。07、FIFO狀態(tài)寄存器(UFSTAT)RegisterAd308、MODEM狀態(tài)寄存器(UMSTAT)RegisterAddressR/WDescriptionResetValueUMSTAT00x5000001CRUART0Modem狀態(tài)寄存器0x0UMSTAT10x5000401CRUART1Modem狀態(tài)寄存器0x0Reserved0x5000801CR保留-字段名位意義初值Reserved3
保留(為0)0DeltaCTS
2
nCTS引腳信號自上次讀后變化狀態(tài)。
0:未改變;1:已改變。0Reserved1
保留(為0)0CleartoSend0
nCTS引腳信號狀態(tài)。
0:nCTS為高電平;1:nCTS引腳為低電平,有效。08、MODEM狀態(tài)寄存器(UMSTAT)RegisterA319、發(fā)送緩沖寄存器(UTxH)RegisterAddressR/WDescriptionResetValueUTxH00x50000020(L)0x50000023(B)W(byte)UART0發(fā)送緩沖寄存器-UTxH10x50004020(L)0x50004023(B)W(byte)UART1發(fā)送緩沖寄存器-UTxH20x50008020(L)0x50008023(B)W(byte)UART2發(fā)送緩沖寄存器-字段名位意義初值TxDATAn7:0UARTn發(fā)送的一個字節(jié)數(shù)據(jù)-注:表中L地址為小端模式下的地址,B為大端模式時地址.
當(dāng)判斷串口準(zhǔn)備好發(fā)送數(shù)據(jù)時,將數(shù)據(jù)放入發(fā)送緩沖器UTXH發(fā)送數(shù)據(jù)。9、發(fā)送緩沖寄存器(UTxH)RegisterAddres3210、接收緩沖寄存器(URxH)RegisterAddressR/WDescriptionResetValueURxH00x50000024(L)0x50000027(B)R(byte)UART0接收緩沖寄存器0x00URxH10x50004024(L)0x50004027(B)R(byte)UART1接收緩沖寄存器0x00URxH20x50008024(L)0x50008027(B)R(byte)UART2接收緩沖寄存器0x00字段名位意義初值RxDATAn7:0UARTn接收的一個字節(jié)數(shù)據(jù)。-當(dāng)判斷串口已接收到數(shù)據(jù)時,從接收緩沖器URXH中讀取數(shù)據(jù)。10、接收緩沖寄存器(URxH)RegisterAddre3311、波特率除數(shù)寄存器(UBRDIV)RegisterAddressR/WDescriptionResetValueUBRDIV00x50000028R/WUART0波特率除數(shù)寄存器-UBRDIV10x50004028R/WUART1波特率除數(shù)寄存器-UBRDIV20x50008028R/WUART2波特率除數(shù)寄存器-字段名位意義初值UBRDIV15:0
波特率除數(shù)值。UBRDIVn>0-11、波特率除數(shù)寄存器(UBRDIV)RegisterAd34【例6.2】編程實現(xiàn)UART0發(fā)送一個字符的程序和UART0接收一個字符的程序,發(fā)送和接收均采用查詢的方法進(jìn)行控制。解:根據(jù)題目要求,采用UTRSTAT0的第1位來判斷發(fā)送緩沖器是否準(zhǔn)備就緒,UTRSTAT0的第0位來判斷收緩沖區(qū)是否接收到數(shù)據(jù)。
#defineWrUTXH0(ch)(*(volatileunsignedchar)0x50000020)=(unsignedchar)(ch)/*定義串口0發(fā)送緩沖器*/#defineRdURXH0()(*(volatileunsignedchar*)0x50000024)/*定義串口0接收緩沖器*/#definerUTRSTAT0(*(volatileunsigned*)0x50000010)
/*定義串口0接收/發(fā)送狀態(tài)寄存器*/【例6.2】編程實現(xiàn)UART0發(fā)送一個字符的程序和UART35發(fā)送一個字符的子函數(shù)為:voidUart0_SendByten(intdata)//發(fā)送一個字符的子函數(shù)定義{while(!(rUTRSTAT0&0x2));//判斷發(fā)送緩沖器是否為空,未空則等待.hudelay(10);//延時WrUTXH0(data);//發(fā)送數(shù)據(jù)}接收一個字符的子函數(shù)為:charUart0_Getchn(viod)//接收一個字符的子函數(shù)定義{if(rUTRSTAT0&0x1));//判斷接收緩沖器是否有接收到數(shù)據(jù)returnRdURXH0();//有則返回接收到的數(shù)據(jù)elsereturn0;//沒有則返回0發(fā)送一個字符的子函數(shù)為:接收一個字符的子函數(shù)為:36計算機(jī)之間串行通信的硬件連接一般采用RS-232C標(biāo)準(zhǔn),有如下兩種基本連接方式:
簡單連接完全連接計算機(jī)之間串行通信的硬件連接一般采用RS-232C標(biāo)準(zhǔn),有如37S3C2410AUART與RS232的連接電平轉(zhuǎn)換電路S3C2410AUART與RS232的連接電平轉(zhuǎn)換電路386.1.6串口應(yīng)用編程舉例編程實現(xiàn)S3C2410與PC機(jī)串行通信,在PC機(jī)上通過超級終端在鍵盤輸入字符,由超級終端將字符經(jīng)PC機(jī)串口送到S3C2410的串口,S3C2410收到字符后再經(jīng)PC機(jī)串口將字符發(fā)回到超級終端顯示。6.1.6串口應(yīng)用編程舉例編程實現(xiàn)S3C2410與PC機(jī)串39目標(biāo)板初始化回車換行調(diào)串口接收數(shù)據(jù)子函數(shù)調(diào)串口發(fā)送數(shù)據(jù)子函數(shù)開始開始開始接收緩沖器有數(shù)據(jù)接收數(shù)據(jù)發(fā)送緩沖器空發(fā)送數(shù)據(jù)返回返回主程序串口接收數(shù)據(jù)子函數(shù)串口發(fā)送數(shù)據(jù)子函數(shù)程序框圖目標(biāo)板初始化回車換行調(diào)串口接收調(diào)串口發(fā)送開始開始開始接收緩沖40#include<string.h>//包含字符處理庫函數(shù)#include<stdio.h>//包含標(biāo)準(zhǔn)輸入輸出庫函數(shù)#defineU8unsignedchar#defineTRUE 1#defineFALSE 0#pragmaimport(_use_no_semihosting_swi)//不使用軟中斷
/**********串口通信主函數(shù)***********/#include<string.h>//包含字符處理庫41#definerUTRSTAT0(*(volatileunsigned*)0x50000010)//定義串口0的狀態(tài)寄存器地址#defineWrUTXH0(ch) (*(volatileunsignedchar*)0x50000020)=(unsignedchar)(ch)//定義串口0的發(fā)送緩沖器地址#defineRdURXH0() (*(volatileunsignedchar*)0x50000024)//定義串口0的接收緩沖器地址#definerUTRSTAT0(*(volatile42voidUart_SendByten(int,U8);//發(fā)送函數(shù)charUart_Getchn(char*Revdata,intUartnum,inttimeout);//接收函數(shù)voidARMTargetInit(void);//目標(biāo)板初始化函數(shù)voidhudelay(inttime);//延時函數(shù)intmain(void)//主函數(shù){charc1[1];charerr;ARMTargetInit();//目標(biāo)板初始化
voidUart_SendByten(int,U8)43while(1){Uart_SendByten(0,0xa);//換行
Uart_SendByten(0,0xd);//回車
err=Uart_Getchn(c1,0,0);//調(diào)串口0接收數(shù)據(jù)子函數(shù)
Uart_SendByten(0,c1[0]);//調(diào)串口0發(fā)送數(shù)據(jù)子函數(shù)
}}
串口0發(fā)送“換行符”接收數(shù)據(jù)的存放數(shù)組串口0允許超時時間串口0發(fā)送數(shù)據(jù)的存放數(shù)組調(diào)串口接收函數(shù)的返回值,返回值可用來判斷接收是否成功while(1)串口0發(fā)送“換行符”接收數(shù)據(jù)的存放數(shù)組串口044voidUart_SendByten(intUartnum,U8data)//串口0發(fā)送數(shù)據(jù)子函數(shù)
{ while(!(rUTRSTAT0&0x4));//串口0等待發(fā)送數(shù)據(jù)
hudelay(10);//延時
WrUTXH0(data);//串口0發(fā)送數(shù)據(jù)
}
串口號要發(fā)送的數(shù)據(jù)發(fā)送的數(shù)據(jù)串口0發(fā)送數(shù)據(jù)操作voidUart_SendByten(intUartnu45charUart_Getchn(char*Revdata,intUartnum,inttimeout)//串口0接收數(shù)據(jù)子函數(shù)
{ while(!(rUTRSTAT0&0x1));//串口0等待接收數(shù)據(jù) *Revdata=RdURXH0();//串口0接收數(shù)據(jù)
returnTRUE;//串口0接收數(shù)據(jù)成功返回
}
串口0接收數(shù)據(jù)操作charUart_Getchn(char*Revdata466.2輸入/輸出端口主要內(nèi)容概述寄存器應(yīng)用舉例6.2輸入/輸出端口主要內(nèi)容47一、概述
S3C2410X有117個輸入/輸出端口。這些端口是:
A口(GPA):23個輸出口
B口(GPB):11個輸入/輸出口
C口(GPC):16個輸入/輸出口
D口(GPD):16個輸入/輸出口
E口(GPE):16個輸入/輸出口
F口(GPF):8個輸入/輸出口
G口(GPG):16個輸入/輸出口
H口(GPH):11個輸入/輸出口 這些端口都具有多功能,通過引腳配置寄存器,可以將其設(shè)置為所需要的功能,如:I/O功能、中斷功能等等。一、概述48
二、端口寄存器及引腳配置 每一個端口都有4個寄存器,它們是:引腳配置寄存器、數(shù)據(jù)寄存器、引腳上拉寄存器等。RegisterAddressR/WDescriptionResetValueGPXCON0x560000x0R/W端口X配置寄存器XGPXDAT0x560000x4R/W端口X數(shù)據(jù)寄存器XGPXUP0x560000x8R/W端口X上拉寄存器XRESERVED0x560000xCR/W端口X保留寄存器- 二、端口寄存器及引腳配置RegisterAddress49 GPADAT寄存器為準(zhǔn)備輸出的數(shù)據(jù)其值為23位[22:0]
注意:(1)當(dāng)A口引腳配置為非輸出功能時,其輸出無意義; (2)從引腳輸入沒有意義。1、端口A寄存器及引腳配置
RegisterAddressR/WDescriptionResetValueGPACON0x56000000R/W端口A引腳配置寄存器0x7FFFFFGPADAT0x56000004R/W端口A數(shù)據(jù)寄存器-RESERVED0x56000008-端口A保留寄存器-RESERVED0x5600000C-端口A保留寄存器- GPADAT寄存器為準(zhǔn)備輸出的數(shù)據(jù)1、端口A寄存器及引腳501、端口A寄存器及引腳配置
位號位名位值:01位號位名位值:0122GPA22輸出nFCE10GPA10輸出ADDR2521GPA21輸出nRSTOUT9GPA9輸出ADDR2420GPA20輸出nFRE8GPA8輸出ADDR2319GPA19輸出nFWE7GPA7輸出ADDR2218GPA18輸出ALE6GPA6輸出ADDR2117GPA17輸出CLE5GPA5輸出ADDR2016GPA16輸出nGCS54GPA4輸出ADDR1915GPA15輸出nGCS43GPA3輸出ADDR1814GPA14輸出nGCS32GPA2輸出ADDR1713GPA13輸出nGCS21GPA1輸出ADDR1612GPA12輸出nGCS10GPA0輸出ADDR011GPA11輸出ADDR261、端口A寄存器及引腳配置 位號位名位值:051GPBDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù) 其值為11位[10:0]GPBUP---端口B上拉寄存器,位[10:0]有意義。
0:對應(yīng)引腳設(shè)置為上拉 1:無上拉功能
注意:
當(dāng)B口引腳配置為非輸入/輸出功能時,其寄存器中的值沒有意義。2、端口B寄存器及引腳配置
RegisterAddressR/WDescriptionResetValueGPBCON0x56000010R/W端口B引腳配置寄存器0x0GPBDAT0x56000014R/W端口B數(shù)據(jù)寄存器-GPBUP0x56000018R/W端口B上拉寄存器0x0RESERVED0x5600001C-端口B保留寄存器-GPBDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù)2、端口B寄存器及引52端口B引腳配置寄存器
位號位名位值:0001101121,20GPB10輸入輸出nXDREQ0Reserved19,18GPB9輸入輸出nXDACK0Reserved17,16GPB8輸入輸出nXDREQ1Reserved15,14GPB7輸入輸出nXDACK1Reserved13,12GPB6輸入輸出nXBACKReserved11,10GPB5輸入輸出nXBREQReserved9,8GPB4輸入輸出TCLK0Reserved7,6GPB3輸入輸出TOUT3Reserved5,4GPB2輸入輸出TOUT2Reserved3,2GPB1輸入輸出TOUT1Reserved1,0GPB0輸入輸出TOUT0Reserved端口B引腳配置寄存器 位號位名位值:0053GPCDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù) 其值為16位[15:0]GPCUP---端口C上拉寄存器,位[15:0]有意義。
0:對應(yīng)引腳設(shè)置為上拉 1:無上拉功能
注意:
當(dāng)C口引腳配置為非輸入/輸出功能時,其寄存器中的值沒有意義。3、端口C寄存器及引腳配置
RegisterAddressR/WDescriptionResetValueGPCCON0x56000020R/W端口C引腳配置寄存器0x0GPCDAT0x56000024R/W端口C數(shù)據(jù)寄存器-GPCUP0x56000028R/W端口C上拉寄存器0x0RESERVED0x5600002C-端口C保留寄存器-GPCDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù)3、端口C寄存器及引54端口C引腳配置寄存器
位號位名位值位號位名位值000110110001101131,30GPC15輸入輸出VD7保留15,14GPC7輸入輸出LCDVF2保留29,28GPC14輸入輸出VD6保留13,12GPC6輸入輸出LCDVF1保留27,26GPC13輸入輸出VD5保留11,10GPC5輸入輸出LCDVF0保留25,24GPC12輸入輸出VD4保留9,8GPC4輸入輸出VM保留23,22GPC11輸入輸出VD3保留7,6GPC3輸入輸出VFRAME保留21,20GPC10輸入輸出VD2保留5,4GPC2輸入輸出VLINE保留19,18GPC9輸入輸出VD1保留3,2GPC1輸入輸出VCLK保留17,16GPC8輸入輸出VD0保留1,0GPC0輸入輸出VEND保留端口C引腳配置寄存器 位號位名位值位號位名位55GPDDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù) 其值為16位[15:0]GPDUP---端口D上拉寄存器,位[15:0]有意義。
0:對應(yīng)引腳設(shè)置為上拉 1:無上拉功能 初始化時,[15:12]無上拉功能,而[11:0]有上拉
注意:
當(dāng)D口引腳配置為非輸入/輸出功能時,其寄存器中的值沒有意義。4、端口D寄存器及引腳配置
RegisterAddressR/WDescriptionResetValueGPDCON0x56000030R/W端口D引腳配置寄存器0x0GPDDAT0x56000034R/W端口D數(shù)據(jù)寄存器-GPDUP0x56000038R/W端口D上拉寄存器0xF000RESERVED0x5600003C-端口D保留寄存器-GPDDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù)4、端口D寄存器及引56端口D引腳配置寄存器位號位名位值位號位名位值000110110001101131,30GPD15輸入輸出VD23nSS015,14GPD7輸入輸出VD15保留29,28GPD14輸入輸出VD22nSS113,12GPD6輸入輸出VD14保留27,26GPD13輸入輸出VD21保留11,10GPD5輸入輸出VD13保留25,24GPD12輸入輸出VD20保留9,8GPD4輸入輸出VD12保留23,22GPD11輸入輸出VD19保留7,6GPD3輸入輸出VD11保留21,20GPD10輸入輸出VD18保留5,4GPD2輸入輸出VD10保留19,18GPD9輸入輸出VD17保留3,2GPD1輸入輸出VD9保留17,16GPD8輸入輸出VD16保留1,0GPD0輸入輸出VD8保留端口D引腳配置寄存器位號位名位值位號位名位57GPEDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù) 其值為16位[15:0]GPEUP---端口E上拉寄存器,位[15:0]有意義。
0:對應(yīng)引腳設(shè)置為上拉 1:無上拉功能 初始化時,各個引腳都有上拉功能。
注意:
當(dāng)E口引腳配置為非輸入/輸出功能時,其寄存器中的值沒有意義。5、端口E寄存器及引腳配置
RegisterAddressR/WDescriptionResetValueGPECON0x56000040R/W端口E引腳配置寄存器0x0GPEDAT0x56000044R/W端口E數(shù)據(jù)寄存器-GPEUP0x56000048R/W端口E上拉寄存器0x0RESERVED0x5600004C-端口E保留寄存器-GPEDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù)5、端口E寄存器及引58端口E引腳配置寄存器位號位名位值位號位名位值000110110001101131,30GPE15輸入輸出IICSDA保留15,14GPE7輸入輸出SDDAT0保留29,28GPE14輸入輸出IICSCL保留13,12GPE6輸入輸出SDCMD保留27,26GPE13輸入輸出SPICLK0保留11,10GPE5輸入輸出SDCLK保留25,24GPE12輸入輸出SPISI0保留9,8GPE4輸入輸出IISSDO保留23,22GPE11輸入輸出SPISO0保留7,6GPE3輸入輸出IISSDI保留21,20GPE10輸入輸出SDDAT3保留5,4GPE2輸入輸出CDCLK保留19,18GPE9輸入輸出SDDAT2保留3,2GPE1輸入輸出IISSCLK保留17,16GPE8輸入輸出SDDAT1保留1,0GPE0輸入輸出IISLRCK保留端口E引腳配置寄存器位號位名位值位號位名位59GPFDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù) 其值為8位[7:0]GPFUP---端口F上拉寄存器,位[7:0]有意義。
0:對應(yīng)引腳設(shè)置為上拉 1:無上拉功能 初始化時,各個引腳都有上拉功能。
注意:
當(dāng)F口引腳配置為非輸入/輸出功能時,其寄存器中的值沒有意義。6、端口F寄存器及引腳配置
RegisterAddressR/WDescriptionResetValueGPFCON0x56000050R/W端口F引腳配置寄存器0x0GPFDAT0x56000054R/W端口F數(shù)據(jù)寄存器-GPFUP0x56000058R/W端口F上拉寄存器0x0RESERVED0x5600005C-端口F保留寄存器-GPFDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù)6、端口F寄存器及引60端口F引腳配置寄存器位號位名位值0001101115,14GPF7輸入輸出EINT7保留13,12GPF6輸入輸出EINT6保留11,10GPF5輸入輸出EINT5保留9,8GPF4輸入輸出EINT4保留7,6GPF3輸入輸出EINT3保留5,4GPF2輸入輸出EINT2保留3,2GPF1輸入輸出EINT1保留1,0GPF0輸入輸出EINT0保留端口F引腳配置寄存器位號位名位值0001101161GPGDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù) 其值為16位[15:0]GPGUP---端口G上拉寄存器,位[15:0]有意義。
0:對應(yīng)引腳設(shè)置為上拉 1:無上拉功能 初始化時,[15:11]引腳無上拉功能,其它引腳有。
注意:
當(dāng)G口引腳配置為非輸入/輸出功能時,其寄存器中的值沒有意義。7、端口G寄存器及引腳配置
RegisterAddressR/WDescriptionResetValueGPGCON0x56000060R/W端口G引腳配置寄存器0x0GPGDAT0x56000064R/W端口G數(shù)據(jù)寄存器-GPGUP0x56000068R/W端口G上拉寄存器0xF800RESERVED0x5600006C-端口G保留寄存器-GPGDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù)7、端口G寄存器及引62端口G引腳配置寄存器位號位名位值位號位名位值000110110001101131,30GPG15輸入輸出EINT23nYPON15,14GPG7輸入輸出EINT15SPICLK129,28GPG14輸入輸出EINT22YMON13,12GPG6輸入輸出EINT14SPISI127,26GPG13輸入輸出EINT21nXPON11,10GPG5輸入輸出EINT13SPISO125,24GPG12輸入輸出EINT20XMON9,8GPG4輸入輸出EINT12LCD-PEN23,22GPG11輸入輸出EINT19TCLK17,6GPG3輸入輸出EINT11nSS121,20GPG10輸入輸出EINT18保留5,4GPG2輸入輸出EINT10nSS019,18GPG9輸入輸出EINT17保留3,2GPG1輸入輸出EINT9保留17,16GPG8輸入輸出EINT16保留1,0GPG0輸入輸出EINT8保留LCD-PEN:POWER_ENABLEnSS0:SPI0_SELECT端口G引腳配置寄存器位號位名位值位號位名位63GPHDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù) 其值為11位[10:0]GPHUP---端口H上拉寄存器,位[10:0]有意義。
0:對應(yīng)引腳設(shè)置為上拉 1:無上拉功能
注意:
當(dāng)H口引腳配置為非輸入/輸出功能時,其寄存器中的值沒有意義。8、端口H寄存器及引腳配置
RegisterAddressR/WDescriptionResetValueGPHCON0x56000070R/W端口H引腳配置寄存器0x0GPHDAT0x56000074R/W端口H數(shù)據(jù)寄存器-GPHUP0x56000078R/W端口H上拉寄存器0x0RESERVED0x5600007C-端口H保留寄存器-GPHDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù)8、端口H寄存器及引64端口H引腳配置寄存器
位號位名位值:0001101121,20GPH10輸入輸出CLKOUT1Reserved19,18GPH9輸入輸出CLKOUT0Reserved17,16GPH8輸入輸出UCLKReserved15,14GPH7輸入輸出RXD2nCTS113,12GPH6輸入輸出TXD2nRTS111,10GPH5輸入輸出RXD1Reserved9,8GPH4輸入輸出TXD1Reserved7,6GPH3輸入輸出RXD0Reserved5,4GPH2輸入輸出TXD0Reserved3,2GPH1輸入輸出nRTS0Reserved1,0GPH0輸入輸出nCTS0ReservedUCLK為USB的端口H引腳配置寄存器 位號位名位值:0065GPIO應(yīng)用舉例下圖是基于S3C2410的芯片設(shè)計的一個電路,根據(jù)下圖,回答問題:
1、讀下面的電路圖,說明該電路完成的功能是什么?并簡要說明其工作原理。GPIO應(yīng)用舉例下圖是基于S3C2410的芯片設(shè)計的一個電路661)該電路完成的功能是通過S3C2410的GPB7-10的4個端口控制的4個LED的點亮和熄滅。
2)工作原理:由電路原理圖知,4個發(fā)光二極管LED的正極接電源的正極。當(dāng)GPB7-10端口的某一位輸出為0時,對應(yīng)的該發(fā)光二極管LED被點亮,當(dāng)GPB7-10端口的某一位輸出為1時,對應(yīng)的該發(fā)光二極管LED熄滅。1)該電路完成的功能是通過S3C2410的GPB7-10的672、根據(jù)下面的s3c2410的數(shù)據(jù)手冊與上面的電路,回答下列問題:2、根據(jù)下面的s3c2410的數(shù)據(jù)手冊與上面的電路,回答下列68答:1):(1)GPBCON寄存器的作用是配置B口的功能屬性,如輸入輸出屬性。(2)根據(jù)上面電路實現(xiàn)的功能,在此實驗中GPB7-10端口定義為輸出屬性。(3)用到了GPBCON寄存器的14-21位,GPB7-10端口對應(yīng)的位的值為bit[15:14]=01,bit[17:16]=01,bit[19:18]=01,bit[21:20]=01,其余為為0,可以求出GPBCON寄存器的配置數(shù)據(jù)為0x154000。1)說明GPBCON寄存器的作用?根據(jù)上面電路實現(xiàn)的功能,指出用到了該寄存器的那些位,并設(shè)置該位的值,最后求出GPBCON寄存器的配置數(shù)據(jù)?
答:1):(1)GPBCON寄存器的作用是配置B口的功能屬性692)說明GPBUP寄存器的作用?根據(jù)上面電路實現(xiàn)的功能,禁止GPB端口的上拉電阻,指出用到了該寄存器的那些位,并設(shè)置該位的值,最后求出GPBUP寄存器的配置數(shù)據(jù)?答:(1)GPBUP寄存器的作用是為提供或禁止上拉電阻。(2)根據(jù)上面電路實現(xiàn)的功能,禁止GPB端口的上拉電阻,用到了該寄存器的7-10位,對應(yīng)的位的值為1,可以求出GPBUP寄存器的配置數(shù)據(jù)為0xfffff(說明:該值有多個,只要保證7-10對應(yīng)的位設(shè)置正確就行)。2)說明GPBUP寄存器的作用?根據(jù)上面電路實現(xiàn)的功能,禁止703)說明GPBDAT寄存器的作用?根據(jù)上面電路實現(xiàn)的功能,使LED1亮、LED2、LED3、LED4滅,指出用到了該寄存器的那些位,并設(shè)置該位的值,最后求出GPBDAT寄存器的配置數(shù)據(jù)?答:(1)GPBDAT寄存器的作用是設(shè)置端口的數(shù)據(jù)。(2)根據(jù)上面電路實現(xiàn)的功能,使LED1亮、LED2、LED3、LED4滅,用到了該寄存器的7-10位,對應(yīng)的相關(guān)位的值為:第7為0,第8-10位為1,可以求出GPBDAT寄存器的配置數(shù)據(jù)為0xff7f(說明:該值有多個,只要保證7-10對應(yīng)的位設(shè)置正確就行)。3)說明GPBDAT寄存器的作用?根據(jù)上面電路實現(xiàn)的功能,使719、端口其它控制寄存器
RegisterAddressR/WDescriptionResetValueMISCCR0x56000080R/W混合控制寄存器0x10330DCLKCON0x56000084R/WD時鐘控制寄存器0x09、端口其它控制寄存器 RegisterAddressR72nEN_SCKE---SCLK使能位。在電源關(guān)閉模式下對SDRAM做保護(hù)
0:正常狀態(tài) 1:低電平nEN_SCLKx---SCLKx使能位。在電源關(guān)閉模式下對SDRAM做保護(hù)
0:SCLKx=SCLK 1:低電平nRSTCON---對nRSTOUT軟件復(fù)位控制位
0:使nRSTOUT為低,0;1:使nRSTOUT為高,1151413121110987保留USBSUSPND1
USBSUSPND0
保留CLKSEL1
保留(1)MISCCR---混合控制寄存器31……2019181716保留(為0)nEN_SCKE
nEN_SCLK1
nEN_SCLK0
nRSTCON
6543210CLKSEL0
USBPAD
MEM_HZ_CONSPUCR_L
SPUCR_H
nEN_SCKE---SCLK使能位。在電源關(guān)閉模式下對SD73USBSUSPND1---USB端口1模式
0:正常 1:浮空USBSUSPND0---USB端口0模式
0:正常 1:浮空CLKSEL1---CLKOUT1引腳輸出信號源選擇
000:MPLLCLK 001:UPLLCLK 010:FCLK 011:HCLK 100:PCLK 101:DCLK1 11x:保留CLKSEL0---CLKOUT0引腳輸出信號源選擇
000:MPLLCLK 001:UPLLCLK 010:FCLK 011:HCLK 100:PCLK 101:DCLK0 11x:保留151413121110987保留USBSUSPND1
USBSUSPND0
保留CLKSEL1
保留USBSUSPND1---USB端口1模SBPAD---與USB連接選擇
0:與USB設(shè)備連接 1:與USB主機(jī)連接MEM_HZ_CON---MEM高阻控制位
0:Hi-Z 1:前一狀態(tài)SPUCR_L---數(shù)據(jù)口低16位[15:0]上拉控制位
0:上拉 1:無上拉SPUCR_H---數(shù)據(jù)口高16位[31:16]上拉控制位
0:上拉 1:無上拉6543210CLKSEL0
USBPAD
MEM_HZ_CONSPUCR_L
SPUCR_H
USBPAD---與USB連接選擇6543210CLKSE7515…1211109876543210保留DCLK0CMPDCLK0DIV保留DCLK0SelCKDCLK0EN(2)DCLKCON---D時鐘控制寄存器31…28272625242322212019181716保留DCLK1CMP
DCLK1DIV
保留
DCLK1SEL
DCLK1ENDCLK1(0)CMP---DCLK1(0)低電平時間所占的比例數(shù)。 設(shè)該位值為m,m<DCLK1(0)DIV。 則低、高電平持續(xù)時間的源周期數(shù)分別為:
m+1、DCLK1(0)DIV-mDCLK1(0)DIV---DCLK1(0)分頻值
DCLK1(0)frequency =sourceclock/(DCLK1(0)DIV+1)15…1211109876543210保留DCLK0CMPD7615…1211109876543210保留DCLK0CMPDCLK0DIV保留DCLK0SelCKDCLK0EN(2)DCLKCON---D時鐘控制寄存器(續(xù))31…28272625242322212019181716保留DCLK1CMP
DCLK1DIV
保留
DCLK1SEL
DCLK1ENDCLK1(0)SelCK---DCLK1(0)sourceclock選擇
0:源時鐘選擇PCLK 1:源時鐘選擇UCLK(USB)DCLK1(0)EN---DCLK1(0)Enable 0:禁止
1:允許15…1211109876543210保留DCLK0CMPD77
主要設(shè)置各個外中斷源的觸發(fā)方式、濾波10、外中斷控制寄存器
RegisterAddressR/WDescriptionResetValueEXTINT00x56000088R/W外中斷觸發(fā)方式寄存器00x0EXTINT10x5600008CR/W外中斷觸發(fā)方式寄存器10x0EXTINT20x56000090R/W外中斷觸發(fā)方式寄存器20x0 主要設(shè)置各個外中斷源的觸發(fā)方式、濾波10、外中斷控制寄存78EINT0~7---中斷請求信號觸發(fā)方式選擇
000:低電平觸發(fā) 001:高電平觸發(fā)
01x:下降沿觸發(fā) 10x:上升沿觸發(fā)
11x:雙邊沿觸發(fā)第3、7、11、15、19、23、27、31位---保留1514131211109876543210XEINT3XEINT2XEINT1XEINT0(1)EXTINT0---外中斷觸發(fā)方式控制寄存器031302928272625242322212019181716XEINT7XEINT6XEINT5XEINT4EINT0~7---中斷請求信號觸發(fā)方式選擇1514131279EINT8~15---中斷請求信號觸發(fā)方式選擇
000:低電平觸發(fā) 001:高電平觸發(fā)
01x:下降沿觸發(fā) 10x:上升沿觸發(fā)
11x:雙邊沿觸發(fā)第3、7、11、15、19、23、27、31位---保留1514131211109876543210XEINT11XEINT10XEINT9XEINT8(2)EXTINT1---外中斷觸發(fā)方式控制寄存器131302928272625242322212019181716XEINT15XEINT14XEINT13XEINT12EINT8~15---中斷請求信號觸發(fā)方式選擇151413180EINT16~23---外中斷請求信號觸發(fā)方式選擇
000:低電平觸發(fā) 001:高電平觸發(fā)
01x:下降沿觸發(fā) 10x:上升沿觸發(fā)
11x:雙邊沿觸發(fā)第3、7、11、15、19、23、27、31位---為FILTEN各引腳濾波控制位
0:禁止濾波 1:使能濾波1514131211109876543210F19EINT19F18EINT18F17EINT17F16EINT16(3)EXTINT2---外中斷控制寄存器231302928272625242322212019181716F23EINT23F22EINT22F21EINT21F20EINT20EINT16~23---外中斷請求信號觸發(fā)方式選擇1514181
主要設(shè)置各個外中斷源的濾波器設(shè)置11、外中斷濾波控制寄存器
RegisterAddressR/WDescriptionResetValueEINTFLT00x56000094R/W保留-EINTFLT10x56000098R/W保留-EINTFLT20x5600009CR/W外中斷濾波控制寄存器20x0EINTFLT30x560000A0R/W外中斷濾波控制寄存器30x0 主要設(shè)置各個外中斷源的濾波器設(shè)置11、外中斷濾波控制寄存82FLTCLK16~19---外中斷16~19濾波器時鐘選擇
0:PCLK 1:外部/振蕩時鐘(由OM引腳選擇)EINTFLT16~19---外中斷16~19濾波器寬度(頻帶寬度)
1514……876……0FLTCLK17EINTFLT17FLTCLK16EINTFLT16(1)EINTFLT2---外中斷濾波控制寄存器23130……24232216FLTCLK19EINTFLT19FLTCLK18EINTFLT18FLTCLK16~19---外中斷16~19濾波器時鐘選擇183FLTCLK20~23---外中斷20~23濾波器時鐘選擇
0:PCLK 1:外部/振蕩時鐘(由OM引腳選擇)EINTFLT20~23---外中斷20~23濾波器寬度(頻帶寬度)
1514……876……0FLTCLK21EINTFLT21FLTCLK20EINTFLT20(2)EINTFLT3---外中斷濾波控制寄存器33130……24232216FLTCLK23EINTFLT23FLTCLK22EINTFLT22FLTCLK20~23---外中斷20~23濾波器時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 摩托車運輸合同范本3篇
- 旅游中心租賃合同范本3篇
- 攝影作品發(fā)行合同3篇
- 安徽銷售行業(yè)兼職勞動合同模板3篇
- 排污管道改造工程合同書版3篇
- 敬老院出租合同范本3篇
- 安居房施工合同風(fēng)險管理3篇
- 方式購銷合同范本版樣式3篇
- 搖號定標(biāo)招標(biāo)文件范本3篇
- 旅游導(dǎo)游勞動合同電子版3篇
- 提高感染性休克集束化治療達(dá)標(biāo)率
- 2024建筑消防設(shè)施檢測報告書模板
- 目前會計行業(yè)現(xiàn)狀分析
- 跟單員工作總結(jié)匯報
- 醫(yī)美項目水光培訓(xùn)課件
- 網(wǎng)絡(luò)運維與安全管理培訓(xùn)內(nèi)容
- 國開電大可編程控制器應(yīng)用課程實驗參考答案
- 廣東省深圳市寶安區(qū)和平中英文實驗學(xué)校2023-2024學(xué)年九年級上學(xué)期期末物理測試卷
- 2023年人教版九年級數(shù)學(xué)全冊期末試題試題(含答案)
- 水站運維服務(wù)投標(biāo)方案
- 廉政知識競賽大題庫及答案(共500道)
評論
0/150
提交評論