-
Daß da auf den ATMega ein kleines Progrämmchen namens Booloader drauf muß dürfte jetzt ja klar sein. Damit man aber über seriell in die Programmierung "einsteigen" kann muß man im eigentlichen Programm eine Möglichkeit schaffen:
If Pinb.2 = 0 Then
Goto &HC00
End If
Hier wird z.B. geprüft, ob ein Eingangspin low ist und dann in den Bootloader gesprungen. Das kann man auch anders machen, entscheidend ist Goto &HC00. Wobei der Wert je nach Chip variiert.
Danach gehts dann im Code des Bootloaders weiter, der sich dann mit dem PC über seriell unterhält.
Wer da auch unter die Haube schauen will:
Der Bootloader für den ATMega liegt bei Bascom als Quelltext vor. Die Software für den PC leider nicht. Deshalb habe ich einen in VB.NET geschrieben. Quelltexte siehe: http://www.gerold-online.de/cms/uc-p...-fuer-avr.html
Günter
-
Hi,
noch einfacher gehts wenn mann die Schnittstelle nach einem Zeichenempfang abfragt:
Code:
Rs232_flash = Ischarwaiting()
If Rs232_flash = 1 Then 'wurde was über RS232 empfangen?
Rs232_str = Inkey() 'Empfangspuffer auslesen
If Rs232_str = 123 Then 'vom MCS-Programmer geschickte "123" empfangen?
Goto &HF800 'Sprungadresse zum Startbereich des Bootloaders
End If
End If
sobald eine 123 empfangen wurde spring dann das Programm in den bootloaderbereich.
Gruß MAT