音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

一個(gè)關(guān)于與電腦串口通訊的試驗(yàn)(Mega8)

作者:gxliangx 欄目:單片機(jī)
一個(gè)關(guān)于與電腦串口通訊的試驗(yàn)(MEGA8)
我有以下程序.

#include <avr/io.h>
#include <inttypes.h>

//static unsigned CHAR version[] = {"Begin Work!"};

void InitUART(uint8_t baudrate)
{
    //設(shè)置波特率
    UBRRL = baudrate;
    //使能串口讀寫(xiě)寄存器
    UCSRB = (1<<RXEN)|(1<<TXEN);
}

uint8_t ReceiveByte(void)
{
    //輪詢寄存器UCSRA的TXC
    PORTB |= 0x1;   //點(diǎn)亮 PB0
    while(!(UCSRA & (1<<TXC)))
    ;        //等待
    PORTB &= 0xFe;  //熄滅 PB0
    return UDR;
}

void TransmitByte(uint8_t data)
{
    //輪詢寄存器UCSRA的RXC
    PORTB |= 0x2;   //點(diǎn)亮 PB1
    while(!(UCSRA & (1<<RXC)))
    ;        //等待
    UDR = data;
    PORTB &= 0xfd;  //熄滅 PB1
}
int main( void )
{
    uint8_t i;
    i=0;
    InitUART(25);//估計(jì)是9600波特率.還沒(méi)有知道對(duì)不對(duì)
    DDRB = 0xff; //設(shè)置端口B是輸出.
    PORTB = 0 ;  //初初始化PORTB是低電位.
//    while(version[i]!='\0')TransmitByte(version[i++]);
//  TransmitByte('A');        // Point A
    while(1)
    {
        TransmitByte(ReceiveByte());
    }

}
/*
程序執(zhí)行的結(jié)果:
1.當(dāng)程序中Point A沒(méi)有被注釋的時(shí)候.PB1常亮.當(dāng)電腦端有信息輸入.PB1會(huì)閃爍.
  PB0始終都是滅的.
  但是'A'始終都沒(méi)有出現(xiàn)在電腦端
2.當(dāng)注釋掉Point A的情況與上述相反.PB0常亮
*/

那位有串口編程的經(jīng)驗(yàn).我是用winavr編譯的.


2樓: >>參與討論
zsmbj
有以下問(wèn)題:
發(fā)送函數(shù)里查看的是RXC標(biāo)志,而接收函數(shù)里查看的確實(shí)TXC標(biāo)志。錯(cuò)啦。
另外TXC標(biāo)志不會(huì)自動(dòng)清零,需要程序自己清零。

3樓: >>參與討論
gxliangx
哎喲,真的啊
好粗心.謝謝了.

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
mega32不能向下兼容mega16?
ATmega16編程問(wèn)題請(qǐng)教!先謝。!
編譯時(shí)報(bào)警告。TmanAVR 什么原因???New!!!
有沒(méi)有使用 AVRX 的朋友,交流一下
外部中斷需要設(shè)置哪些寄存器才能進(jìn)入啊
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)