找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

改編個MEGA1280單片機板子的BootLoader程序

查看數(shù): 1605 | 評論數(shù): 9 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2024-5-12 09:17

正文摘要:

以前玩C51單片機,近來收了兩個avr的板子(MEGA1280和MEGA2560),想從BootLoader入手,看了本壇的 AVR之BOOTLOADER技術詳解 ,發(fā)現(xiàn)了兩個語法錯誤: //每秒向PC機發(fā)送一個控制字符"C",等待控制字〈soh〉while ...

回復

ID:90212 發(fā)表于 2024-5-16 00:23
下載燒寫進去能夠從串口發(fā)送出來正確的數(shù)據(jù),但是定時器設置有問題,很快就跳出了等待。把quit()替換為打印“A”,記錄如下:
  1. <blockquote>//初始化M128的T/C0,15ms自動重載
復制代碼

[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出來。



ID:176854 發(fā)表于 2024-5-15 08:53
OCR0 改為 OCR0A
TIFR  改為 TIFR0
TCCR = 0x0F 改為 TCCR0A = 0x20;TCCR0B = 0x07;
ID:90212 發(fā)表于 2024-5-14 22:38
yzwzfyz 發(fā)表于 2024-5-14 21:52
我是這樣做的:
1、發(fā)送方:上電時。以自己的波特率一直不停地發(fā)送55H(AAH也行,目的發(fā)出0、1等距脈沖 ...

能否幫我改成MEGA1280可用的,成功了50如何?
ID:90212 發(fā)表于 2024-5-14 22:37
當把#include <iom128v.h>改為 #include <iom1280v.h>后,報OCR0、TCCR0、TIFR未定義
ID:90212 發(fā)表于 2024-5-14 22:16
wufa1986 發(fā)表于 2024-5-13 15:15
你是編譯錯誤還是功能沒有對呢,你說編譯錯誤但是你自己已經(jīng)發(fā)現(xiàn)了,還有其他錯誤嗎?沒有上傳錯誤提示

這個里面相當多的坑,除了提到的兩個多余的雙引號,轉(zhuǎn)義字符 '\' 全被搞成 '/',F(xiàn)在編譯沒有錯誤了不知道還需要怎么設置才能刷進MEGA1280,只玩過keil,對ICCAVR不熟。請指點:代碼修改如下: mega.rar (56.88 KB, 下載次數(shù): 2)

無需積分下載
ID:123289 發(fā)表于 2024-5-14 21:52
我是這樣做的:
1、發(fā)送方:上電時。以自己的波特率一直不停地發(fā)送55H(AAH也行,目的發(fā)出0、1等距脈沖,讓對方同步,知道當前的波特率),直到對方回一個標記(例如你說的"C")。
2、規(guī)定時間內(nèi)無返回認為,無設備連接。收到標記,則握手成功。
3、接收方:監(jiān)察串行輸入腳有無輸入脈沖,如果能夠多次得到4個均勻間隔的脈沖,則認為對方對自己進行同步,計算它的間隔時間,從而得到通訊的波特率,并以此波特率加返回一個接收握手標記(例如你說的"C")。
4、如果引腳上沒有脈沖輸入,或不是均勻脈沖,則結束監(jiān)察。
接下來雙方接可以正常通訊了。你想如何就如何。
實際應用時,隨時監(jiān)察的,不細述了。
ID:879348 發(fā)表于 2024-5-13 15:15
你是編譯錯誤還是功能沒有對呢,你說編譯錯誤但是你自己已經(jīng)發(fā)現(xiàn)了,還有其他錯誤嗎?沒有上傳錯誤提示
ID:90212 發(fā)表于 2024-5-13 13:14
未能改編成功,請高手私信我

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表