chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ATmega128單片機(jī)的USART接口程序的開發(fā)

牽手一起夢(mèng) ? 來(lái)源:電子工程網(wǎng) ? 作者:佚名 ? 2020-10-04 17:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一般教科書上提供的UART收發(fā)的程序往往是一段采用輪循(Polling)方式完成收發(fā)的簡(jiǎn)單代碼。但對(duì)于高速的AVR來(lái)講,采用這種方式大大降低了 MUC的效率。在使用AVR時(shí),應(yīng)根據(jù)芯片本身的特點(diǎn)(片內(nèi)大容量數(shù)據(jù)存儲(chǔ)器RAM,更適合采用高級(jí)語(yǔ)言編寫系統(tǒng)程序),編寫高效可靠的UART收發(fā)接口(低層)程序。下面是一個(gè)典型的ATmega128的軟件USART的接口程序。

基于ATmega128單片機(jī)的USART接口程序的開發(fā)

// USART0 initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART0 Receiver: On

// USART0 Transmitter: On

// USART0 Mode: Asynchronous

// USART0 Baud rate: 9600

UCSR0A=0x00;

UCSR0B=0xD8;

UCSR0C=0x06;

UBRR0H=0x00;

UBRR0L=0x67;

// Global enable interrupts

#asm(“sei”)

while (1)

{

// Place your code here

};

}

這段由CVAVR程序生成器產(chǎn)生的UART接口代碼是一個(gè)非常好的、高效可靠,并且值得認(rèn)真學(xué)習(xí)和體會(huì)的。其特點(diǎn)如下:

1. 它采用兩個(gè)8字節(jié)的接收和發(fā)送緩沖器來(lái)提高MCU的效率,如當(dāng)主程序調(diào)用Putchar()發(fā)送數(shù)據(jù)時(shí),如果UART口不空閑,就將數(shù)據(jù)放入發(fā)送緩沖器中,MCU不必等待,可以繼續(xù)執(zhí)行其它的工作。而UART的硬件發(fā)送完一個(gè)數(shù)據(jù)后,產(chǎn)生中斷,由中斷服務(wù)程序負(fù)責(zé)將發(fā)送緩沖器中數(shù)據(jù)依次送出。

2.數(shù)據(jù)緩沖器結(jié)構(gòu)是一個(gè)線性的循環(huán)隊(duì)列,由讀、寫和隊(duì)列計(jì)數(shù)器3個(gè)指針控制,用于判斷隊(duì)列是否空、溢出,以及當(dāng)前數(shù)據(jù)在隊(duì)列中的位置。

3. 用編譯控制命令#pragma savereg-和#pragma savereg+,使得由CVAVR在生成的中斷服務(wù)程序中不進(jìn)行中斷保護(hù)(CVAVR生成中斷保護(hù)會(huì)將比較多的寄存器壓入堆棧中),而在中斷中嵌入匯編,只將5個(gè)在本中斷中必須要保護(hù)的寄存器壓棧。這樣提高了UART中斷處理的速度,也意味著提高了MCU的效率。

4.由于在接口程序Putchar()、Getchar()和中斷服務(wù)程序中都要對(duì)數(shù)據(jù)緩沖器的讀、寫和隊(duì)列計(jì)數(shù)器3個(gè)指針判斷和操作,為了防止沖突,在Putchar()、Getchar()中對(duì)3個(gè)指針操作時(shí)臨時(shí)將中斷關(guān)閉,提高了程序的可靠性。

建議讀者能逐字逐句地仔細(xì)分析該段代碼,真正理解和領(lǐng)會(huì)每一句語(yǔ)句(包括編譯控制命令的作用)的作用,從中體會(huì)和學(xué)習(xí)如何編寫效率高,可靠性好,結(jié)構(gòu)優(yōu)良的系統(tǒng)代碼。這段程序使用的方法和技巧,對(duì)編寫SPI、I2C的串行通信接口程序都是非常好的借鑒。

作為現(xiàn)在的單片機(jī)嵌入式系統(tǒng)工程師,不僅要深入全面的掌握芯片和各種器件的性能,具備豐富的硬件設(shè)計(jì)能力;同時(shí)也必須提高軟件的設(shè)計(jì)能力。要學(xué)習(xí)和掌握有關(guān)數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、軟件工程、網(wǎng)絡(luò)協(xié)議等方面的知識(shí),具有設(shè)計(jì)編寫大的復(fù)雜系統(tǒng)程序的能力。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6071

    文章

    45256

    瀏覽量

    660087
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3832

    瀏覽量

    84358
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    201

    瀏覽量

    32643
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于ATMEGA128單片機(jī)的程控濾波器

    基于ATMEGA128單片機(jī)的程控濾波器
    發(fā)表于 08-06 10:46

    ATmega128單片機(jī)入門與提高》光盤.rar

    大量的實(shí)用程序,并在最后一章給出了許多綜合實(shí)例;實(shí)例程序全部用C語(yǔ)言編寫,且已全部在ICCAVR 6.31A開發(fā)環(huán)境上編譯通過(guò)?!?b class='flag-5'>Atmega128
    發(fā)表于 08-16 10:36

    基于ATMEGA128單片機(jī)的程控濾波器

    基于ATMEGA128單片機(jī)的程控濾波器
    發(fā)表于 08-17 23:50

    ATmega128單片機(jī)怎么學(xué)

    我是學(xué)習(xí)計(jì)算機(jī)科學(xué)與技術(shù)的,現(xiàn)在想做游歷機(jī)器人。剛接觸ATmega128單片機(jī),該怎么學(xué)?自己以前也沒學(xué)過(guò)單片機(jī)啊,連51都不懂。該怎么學(xué)?懇求大師指點(diǎn)
    發(fā)表于 10-13 15:26

    采用ATMEGA128單片機(jī)結(jié)合CPLD 實(shí)現(xiàn)了對(duì)VGA顯示

    采用ATMEGA128 單片機(jī)結(jié)合CPLD 實(shí)現(xiàn)了對(duì)VGA 顯示器和激光打印機(jī)的控制作者:時(shí)永樂(lè) 王培勇 轉(zhuǎn)貼自:微計(jì)算機(jī)信息摘要:用 ATMEGA128 單片機(jī)結(jié)合CPLD 實(shí)現(xiàn)了對(duì)
    發(fā)表于 02-08 09:52 ?107次下載

    ATmega128開發(fā)應(yīng)用中應(yīng)注意的問(wèn)題

    ATmega128開發(fā)應(yīng)用中應(yīng)注意的問(wèn)題 ATmega128是AVR系列中功能最強(qiáng)的單片機(jī),具有如下主要特點(diǎn):   (1)先進(jìn)的RISC精簡(jiǎn)指令集結(jié)構(gòu):
    發(fā)表于 10-26 09:06 ?3332次閱讀

    ATmega128幾個(gè)常用程序例子

    ATmega128單片機(jī)經(jīng)典例題 對(duì)初學(xué)者很有幫助的哦
    發(fā)表于 11-03 18:14 ?64次下載

    AVR單片機(jī)Atmega128在FPGA配置中的運(yùn)用

    在嵌入式系統(tǒng)設(shè)計(jì)中,掌握MCU對(duì)FPGA的配置,對(duì)系統(tǒng)的設(shè)計(jì)是十分必要的。根據(jù)EPFIOKIO的配置時(shí)序和AVR單片機(jī)Atmega128接口特點(diǎn),詳細(xì)介紹了Atmega128對(duì)EPF
    發(fā)表于 10-11 15:35 ?18次下載

    基于Atmega128單片機(jī)SD卡讀寫程序(免費(fèi)分享)

    avr Atmega128單片機(jī)SD卡讀寫程序
    發(fā)表于 12-29 20:55 ?21次下載

    基于ATmega128單片機(jī)的汽車太陽(yáng)能充電控制器_秦俊

    基于ATmega128單片機(jī)的汽車太陽(yáng)能充電控制器_秦俊
    發(fā)表于 03-19 11:33 ?6次下載

    ATmega128單片機(jī)的內(nèi)部資源、工作原理和硬件電路設(shè)計(jì)的資料免費(fèi)下載

    在本系統(tǒng)中,本小節(jié)主要講 ATmega128 單片機(jī)的內(nèi)部資源、工作原理和硬件電路設(shè)計(jì)等。2.5.1 ATmega128 芯片介紹 ATmega128 為基于AVR RISC 結(jié)構(gòu)的8
    發(fā)表于 09-21 15:50 ?104次下載
    <b class='flag-5'>ATmega128</b><b class='flag-5'>單片機(jī)</b>的內(nèi)部資源、工作原理和硬件電路設(shè)計(jì)的資料免費(fèi)下載

    AVR單片機(jī)Atmega128在FPGA配置的應(yīng)用和對(duì)EPF10K10軟硬件設(shè)計(jì)原理

    在嵌入式系統(tǒng)設(shè)計(jì)中,掌握MCU對(duì)FPGA的配置,對(duì)系統(tǒng)的設(shè)計(jì)是十分必要的。根據(jù)EPF10K10的配置時(shí)序和AVR單片機(jī)Atmega128接口特點(diǎn),詳細(xì)介紹了Atmega128對(duì)EPF
    發(fā)表于 10-26 15:34 ?9次下載
    AVR<b class='flag-5'>單片機(jī)</b><b class='flag-5'>Atmega128</b>在FPGA配置的應(yīng)用和對(duì)EPF10K10軟硬件設(shè)計(jì)原理

    使用ATmega128單片機(jī)設(shè)計(jì)數(shù)碼管秒表的程序和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用ATmega128單片機(jī)設(shè)計(jì)數(shù)碼管秒表的程序和工程文件免費(fèi)下載。
    發(fā)表于 07-31 08:00 ?4次下載
    使用<b class='flag-5'>ATmega128</b><b class='flag-5'>單片機(jī)</b>設(shè)計(jì)數(shù)碼管秒表的<b class='flag-5'>程序</b>和工程文件免費(fèi)下載

    DAC1230與單片機(jī)Atmega128接口技術(shù)

    DAC1230與單片機(jī)Atmega128接口技術(shù)(開關(guān)電源技術(shù)課程設(shè)計(jì)報(bào)告)-文檔為DAC1230與單片機(jī)Atmega128
    發(fā)表于 09-17 15:45 ?5次下載
    DAC1230與<b class='flag-5'>單片機(jī)</b><b class='flag-5'>Atmega128</b>的<b class='flag-5'>接口</b>技術(shù)

    ATmega128單片機(jī)](熔絲修改后無(wú)法燒錄程序情況)

    @ATmega128單片機(jī),AVR,ATmega128單片機(jī)](熔絲修改后無(wú)法燒錄程序情況)本人是AVR
    發(fā)表于 11-15 09:36 ?26次下載
    <b class='flag-5'>ATmega128</b><b class='flag-5'>單片機(jī)</b>](熔絲修改后無(wú)法燒錄<b class='flag-5'>程序</b>情況)