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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1.介紹的串口部分會(huì)有如下優(yōu)缺點(diǎn):優(yōu)點(diǎn):簡(jiǎn)單,適合很少量數(shù)據(jù)傳輸。(只要求這個(gè)優(yōu)點(diǎn),其實(shí)本可以不用串口中斷,但是為了知道來(lái)龍去脈,避免串口故弄玄虛,故加入中斷進(jìn)行串口發(fā)送的分析。)缺點(diǎn):無(wú)緩存區(qū),并且對(duì)

1.介紹的串口部分會(huì)有如下優(yōu)缺點(diǎn):

優(yōu)點(diǎn):簡(jiǎn)單,適合很少量數(shù)據(jù)傳輸。(只要求這個(gè)優(yōu)點(diǎn),其實(shí)本可以不用串口中斷,但是為了知道來(lái)龍去脈,避免串口故弄玄虛,故加入中斷進(jìn)行串口發(fā)送的分析。)

缺點(diǎn):無(wú)緩存區(qū),并且對(duì)數(shù)據(jù)的正確性沒(méi)有判斷,數(shù)據(jù)量稍大可能導(dǎo)致數(shù)據(jù)丟失。

2.了解一些基礎(chǔ)知識(shí):

TXE=1代表發(fā)送數(shù)據(jù)寄存器空。

TC=1代表移位寄存器傳輸完成。

TXEIE允許在TXE標(biāo)志為'1'時(shí)產(chǎn)生中斷

TCIE允許在TC標(biāo)志為'1'時(shí)產(chǎn)生中斷

畫(huà)個(gè)圖介紹數(shù)據(jù)傳輸:

串口發(fā)送數(shù)據(jù)

3.采用判斷TC的方式進(jìn)行串口中斷發(fā)送字符串.a.首先按照官網(wǎng)上的配置進(jìn)行(這么晚了,碼字太難了,直接上手寫(xiě)版)

?官網(wǎng)配置

配置完了就得使能TC:

USART_ITCongfig(USART1,USART_IT_TC,ENABLE);

注意:此時(shí)使能了TC,在上述第6步里面會(huì)有 發(fā)送空閑幀的步驟。發(fā)送完畢,要是不加個(gè)清除TC標(biāo)志的程序,可能會(huì)丟失第1個(gè)字節(jié)的數(shù)據(jù),所以我們加上。

DelayMs(10);

USART_ClearFlag(USART1,USART_FLAG_TC);

注意:加完了還是會(huì)出現(xiàn)錯(cuò)誤,空閑幀沒(méi)發(fā)完,就清零發(fā)送完成標(biāo)志,導(dǎo)致使能TC之后就開(kāi)始進(jìn)入中斷,故中間還加個(gè)延時(shí),如上。

2.發(fā)送數(shù)據(jù)函數(shù)

voidUSART_SendDataString(u8*pData)

{ pDataByte=pData;

USART_ClearFlag(USART1,USART_FLAG_TC);//作用和上面一樣,清除傳輸完成標(biāo)志位,否則可能會(huì)丟失第1個(gè)字節(jié)的數(shù)據(jù).

USART_SendData(USART1,*(pDataByte++));//必須要++,不然會(huì)把第一個(gè)字符t發(fā)送兩次}

3.中斷處理函數(shù)

voidUSART1_IRQHandler(void){

if(USART_GetITStatus(USART1,USART_IT_TC)==SET)

{if(*pDataByte=='