欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 改編個MEGA1280單片機板子的BootLoader程序 [打印本頁]

作者: gongzhu    時間: 2024-5-12 09:17
標題: 改編個MEGA1280單片機板子的BootLoader程序
以前玩C51單片機,近來收了兩個avr的板子(MEGA1280和MEGA2560),想從BootLoader入手,看了本壇的 AVR之BOOTLOADER技術詳解發現了兩個語法錯誤:
//每秒向PC機發送一個控制字符"C",等待控制字〈soh〉
while(uart_getchar() != XMODEM_SOH) //receive the start of Xmodem
{
    if(TIFR & 0x02) //timer0 over flow
    {
        if(++timercount > 67) //wait about 1 second
        {
            uart_putchar(XMODEM_RECIEVING_WAIT_CHAR); //send a "C"
            timercount = "0"; // timercount=0;
        }
        TIFR = "TIFR" | 0x02; //TIFR=TIFR| 0x02;
    }
}


或許是其他選項沒設置好,編譯仍然有錯誤,求高手幫忙修改一下。
要求:最好就用ICCAVR,提供完整源代碼和配置說明至少保證MEGA1280或2560一個能使用,測試用以下軟件:


AVRUBD_ 1280.rar (491.43 KB, 下載次數: 2)

1280配置用如下:


2560配置用如下:


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

作者: gongzhu    時間: 2024-5-14 22:16
wufa1986 發表于 2024-5-13 15:15
你是編譯錯誤還是功能沒有對呢,你說編譯錯誤但是你自己已經發現了,還有其他錯誤嗎?沒有上傳錯誤提示

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

無需積分下載

作者: gongzhu    時間: 2024-5-14 22:37
當把#include <iom128v.h>改為 #include <iom1280v.h>后,報OCR0、TCCR0、TIFR未定義
作者: gongzhu    時間: 2024-5-14 22:38
yzwzfyz 發表于 2024-5-14 21:52
我是這樣做的:
1、發送方:上電時。以自己的波特率一直不停地發送55H(AAH也行,目的發出0、1等距脈沖 ...

能否幫我改成MEGA1280可用的,成功了50如何?
作者: jjjjjjir    時間: 2024-5-15 08:53
OCR0 改為 OCR0A
TIFR  改為 TIFR0
TCCR = 0x0F 改為 TCCR0A = 0x20;TCCR0B = 0x07;
作者: gongzhu    時間: 2024-5-15 13:40
jjjjjjir 發表于 2024-5-15 08:53
OCR0 改為 OCR0A
TIFR  改為 TIFR0
TCCR = 0x0F 改為 TCCR0A = 0x20;TCCR0B = 0x07;

安裝您的指點,編譯錯誤都消除了,選項的配置是這樣設置嗎?



作者: gongzhu    時間: 2024-5-16 00:23
下載燒寫進去能夠從串口發送出來正確的數據,但是定時器設置有問題,很快就跳出了等待。把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出來。








歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1