音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 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

M162 UART問題

作者:lxyzhy 欄目:單片機(jī)
M162 UART問題
各位DX,我用M162的串口通訊,用AVR STUDIO仿真調(diào)試時(shí)出了點(diǎn)問題。
我的UART初始化程序如下:
     UCSR0A = 0x00;                                     //Disable While Setting Baud Rate
    UCSR0B = 0x00;                                          //Disable While Setting Baud Rate
    UCSR0C = 0x00;                                          //Disable While Setting Baud Rate
     UBRR0H = 0x00;
     UBRR0L  =0x23;                                     //Set Baud Rate
     UCSR0A = 0x00;                                        //
     UCSR0B = 0x18;                                     //
     UCSR0C = (1<<URSEL0)|(1<<UCSZ01)|(1<<UCSZ00);
問題是:
不知為什么仿真調(diào)試時(shí)單步執(zhí)行能看到上面各個(gè)寄存器在語(yǔ)名執(zhí)行后的變化。
但最后一句執(zhí)行時(shí)UCSR0C寄存器還是0X00,沒有變化。
是我的初始化步驟不對(duì)嗎,還是其他問題?
請(qǐng)指教,謝謝!

2樓: >>參與討論
zsmbj
不會(huì)吧!UCSRC初始化應(yīng)該為0x86.
初始化時(shí)設(shè)置UCSRC =0 那句是錯(cuò)的了。設(shè)置UCSRC時(shí)必須設(shè)置URSEL位才行。


3樓: >>參與討論
lxyzhy
最后一句是0X86啊
謝謝ZSMBJ兄
我的最后一句寫UCSR0C是0X86啊
UCSR0C = (1<<URSEL0)|(1<<UCSZ01)|(1<<UCSZ00);
就是最后一句寫了后寄存器不變化還為0X00

4樓: >>參與討論
zsmbj
是不是看錯(cuò)地址了?
我是說你的程序開始并沒有設(shè)置UCSRC寄存器,所以初始化值0X86不會(huì)變化。如何會(huì)有0X00出現(xiàn)呢?

5樓: >>參與討論
lxyzhy
是這樣的
我的最后一句寫的是UCSR0C= (1<<URSEL0)|(1<<UCSZ01)|(1<<UCSZ00);
也就是UCSR0C=0X86,但仿真時(shí)執(zhí)行這一句后沒有看到UCSR0C寄存器的變化
還是顯示的0X00
不知何原因?
再次謝謝!

6樓: >>參與討論
zsmbj
干嗎老和這一個(gè)寄存器叫勁呢?
你的設(shè)置都是對(duì)的了。UBRRH和UCSRC共用一個(gè)寄存器。所以你看到的值應(yīng)該是UBRRH了。

7樓: >>參與討論
我為你狂
UBRRH和UCSRC
最好不要全依賴仿真的,燒個(gè)片子試試UBRRH和UCSRC是共用同一個(gè)地址。寫UCSRC是要使最高位置1。

8樓: >>參與討論
hanyafeng
M162的特殊的熔斷絲設(shè)置
用JTAG仿真器或燒結(jié)器打開熔斷絲設(shè)置屬性葉,可以看到有一項(xiàng)默認(rèn)設(shè)置被選“OSC的頻率被8分頻”,去掉此項(xiàng)即可。當(dāng)然,為了進(jìn)一步加深印象可以看一下DATASHEET中波特率生成示意圖--其中在OSC后面有一個(gè)計(jì)數(shù)器然后再當(dāng)作主頻進(jìn)入各個(gè)工作單元。

9樓: >>參與討論
xinjie1023
干嗎老和這一個(gè)寄存器叫勁呢?
應(yīng)該是只要設(shè)置URSEL為一,那么讀出得值應(yīng)該是UCSRC吧

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
究竟是AVR的問題還是GCC的問題?或者是我的問題?
頭痛的復(fù)位問題
怎么下載程序到仿真器上去?
簡(jiǎn)單而奇怪的問題(有關(guān)AVR的IO口),請(qǐng)各位朋友賜教
緊急呼救(雞毛信): ATMega8L的PB0如何設(shè)置為輸出???
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


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