![]() |
發(fā)布時間: 2024-5-12 09:17
正文摘要:以前玩C51單片機,近來收了兩個avr的板子(MEGA1280和MEGA2560),想從BootLoader入手,看了本壇的 AVR之BOOTLOADER技術詳解 ,發(fā)現(xiàn)了兩個語法錯誤: //每秒向PC機發(fā)送一個控制字符"C",等待控制字〈soh〉while ... |
下載燒寫進去能夠從串口發(fā)送出來正確的數(shù)據(jù),但是定時器設置有問題,很快就跳出了等待。把quit()替換為打印“A”,記錄如下:
[00:22:14.229]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:16.166]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:18.104]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:20.039]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:21.976]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:23.910]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:25.835]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:27.772]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:29.708]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 平均隔2s 打印55個A出來。 |
OCR0 改為 OCR0A TIFR 改為 TIFR0 TCCR = 0x0F 改為 TCCR0A = 0x20;TCCR0B = 0x07; |
yzwzfyz 發(fā)表于 2024-5-14 21:52 能否幫我改成MEGA1280可用的,成功了50如何? |
當把#include <iom128v.h>改為 #include <iom1280v.h>后,報OCR0、TCCR0、TIFR未定義 |
wufa1986 發(fā)表于 2024-5-13 15:15 這個里面相當多的坑,除了提到的兩個多余的雙引號,轉(zhuǎn)義字符 '\' 全被搞成 '/',F(xiàn)在編譯沒有錯誤了不知道還需要怎么設置才能刷進MEGA1280,只玩過keil,對ICCAVR不熟。請指點:代碼修改如下: ![]() 無需積分下載 |
我是這樣做的: 1、發(fā)送方:上電時。以自己的波特率一直不停地發(fā)送55H(AAH也行,目的發(fā)出0、1等距脈沖,讓對方同步,知道當前的波特率),直到對方回一個標記(例如你說的"C")。 2、規(guī)定時間內(nèi)無返回認為,無設備連接。收到標記,則握手成功。 3、接收方:監(jiān)察串行輸入腳有無輸入脈沖,如果能夠多次得到4個均勻間隔的脈沖,則認為對方對自己進行同步,計算它的間隔時間,從而得到通訊的波特率,并以此波特率加返回一個接收握手標記(例如你說的"C")。 4、如果引腳上沒有脈沖輸入,或不是均勻脈沖,則結束監(jiān)察。 接下來雙方接可以正常通訊了。你想如何就如何。 實際應用時,隨時監(jiān)察的,不細述了。 |
你是編譯錯誤還是功能沒有對呢,你說編譯錯誤但是你自己已經(jīng)發(fā)現(xiàn)了,還有其他錯誤嗎?沒有上傳錯誤提示 |
未能改編成功,請高手私信我 |
Powered by 單片機教程網(wǎng)