日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]Lpc1768內(nèi)置了四個串口通訊模塊,都是異步通訊模塊,其中,串口0/2/3是普通串口通訊,串口1與 UART0/2/3 基本相同,只是增加了一個 Modem 接口和 RS-486/EIA-486 模式,不支持 IrDA,我們今天以串口0來演示串口的使用.

 Lpc1768內(nèi)置了四個串口通訊模塊,都是異步通訊模塊,其中,串口0/2/3是普通串口通訊,串口1與 UART0/2/3 基本相同,只是增加了一個 Modem 接口和 RS-486/EIA-486 模式,不支持 IrDA,我們今天以串口0來演示串口的使用.

首先,使用串口0要打開串口0的時鐘

 

 

然后要配置相應(yīng)的輸入輸出IO口為串口通訊功能

 

 

然后,要控制串口0的時鐘源,1768的大部分外設(shè)時鐘都可以選擇從cpu時鐘中進行分頻

 

 

 

 

 

 

接著,需要設(shè)置串口的通訊位,停止位以及波特率等

 

 

通過該寄存器能夠設(shè)置波特率

 

 

通過該寄存器可以設(shè)置通訊模式

記住,初始化完成之后需要將除數(shù)鎖存變?yōu)?,使其他人不能隨意修改波特率,接著對串口的fifo進行控制

 

 

使能相應(yīng)的中斷

 

 

然后在系統(tǒng)中使能相應(yīng)中斷通道,串口就可以用了.

在串口中斷處理程序中,先清除通道中斷掛起,然后清除串口相應(yīng)掛起,取出數(shù)據(jù),就可以了,詳細(xì)的代碼示例如下

void DebugSerialInit(u32 baud)

{

LPC_SC->PCONP "= (1<<3); //打開UART0功率、時鐘控制位

LPC_PINCON->PINSEL0 &= ~(0x03<<4);

LPC_PINCON->PINSEL0 |= (0x01<<4); //p02 tx0

LPC_PINCON->PINSEL0 &= ~(0x03<<6);

LPC_PINCON->PINSEL0 |= (0x01<<6); //p03 rx0

LPC_UART0->LCR = 0x83; //設(shè)置串口數(shù)據(jù)格式,8位字符長度,1個停止位,無校驗,

//使能訪問除數(shù)鎖存器 ,設(shè)定波特率

LPC_SC->PCLKSEL0 &= ~(0x03<<6); //uart0 pclk = sysclock

LPC_SC->PCLKSEL0 |= (0x01<<6); //uart0 pclk = sysclock

LPC_UART0->DLM = ((SystemCoreClock/16)/baud) / 256; //除數(shù)高八位 , 沒有小數(shù)情況

LPC_UART0->DLL = ((SystemCoreClock/16)/baud) % 256; //除數(shù)第八位

LPC_UART0->LCR = 0x03; //禁止訪問除數(shù)鎖存器,鎖定波特率

LPC_UART0->FCR = 0x00; //禁止FIFO

NVIC_ClearPendingIRQ(UART0_IRQn);

NVIC_SetPriority(UART0_IRQn,NVIC_EncodePriority(SYS_NVIC_GROUP,UART0_PreemptPriority,UART0_SubPriority));

NVIC_EnableIRQ(UART0_IRQn); /* enable irq in nvic */

LPC_UART0->IER = 0x01; //使能接收中斷

}

串口中斷處理程序如下

void UART0_IRQHandler(void)

{

u8 Res;

NVIC_ClearPendingIRQ(UART0_IRQn);

Res = LPC_UART0->RBR; //讀取接收數(shù)據(jù),讀取中斷自動清零

DebugSerialSendChar(Res);

}

注意一點,在不使用小數(shù)寄存器的情況下,115200的的波特率,串口的外設(shè)時鐘最好在100M,否則串口的波特率的誤差比較大,容易造成通訊失敗。

『本文轉(zhuǎn)載自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系刪除』

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