-
-
Neuer Benutzer
Öfters hier
Probleme bei der Programmierung des Butterflys
Hallo,
ich habe ein Problem mit der Programmierung mit Bascom. Ich bin ein absoluter Anfänger in diesem Bereich. Ich hatte mir ein Programm in C++ für den Butterfly geschrieben und musste feststellen das die Programmierung darüber nicht möglich ist. (oder wenn dann zu teuer) Deshalb habe ich mir Bascom (Vollversion) besorgt und das Programm dahingehend umgeschrieben. Doch irgendwie geht die Programmierung auch nicht.
Das regfile für den Atmega169 wird schon nicht angenommen und ist auch nicht vorhanden. Wie bekommt man das denn?
DIe Programmierung sollte über einen AVRISP geschehen, aber da habe ich scheinbar einen reset chip verursacht. Habe aber das Ursprungsprogramm wieder hinbekommen.
Als nächstes versuchte ich die Programmierung über den UART, aber leider klappt das auch nicht. Es erscheint bei AVR Studio immer die Meldung (wenn ich auf tools und dann auf AVR prog gehe) "unsupported board found". Was ist denn da zu tun. Ich bin schon die Programmierung nach "programming for idiots like me" durchgegangen und komme auf keinen grünen Zweig.
Ich könnte also etwas Hilfe gebrauchen.
Vielen Dank im Voraus.
Gruß Heiko
-
Erfahrener Benutzer
Begeisterter Techniker
Hallo,
soweit ich es im Kopf habe, stand im Mega8-Buch von Rowalt (dort wurde auch kurz auf das Butterfly eingegangen), daß es für den Mega169 noch kein regfile gibt. Man kann aber ein anderes nehmen und muß einige Register halt selber in Bascom definieren und parametrisieren.
Ich kann heute Abend gerne mal ins Buch schauen und Dir die benötigten Infos geben.
Gruß Dirk
-
Neuer Benutzer
Öfters hier
Hallo Dirk,
das wäre super.
Gruß Heiko
-
Erfahrener Benutzer
Begeisterter Techniker
Hallo Heiko,
also mal die Kurzfassung:
- alle Register für die LCD-Treiber liegen im I/O-Raum ab SRAM &H60 und werden daher nicht wie normale I/O-Register sondern wie SRAM-Variablen angesprochen.
- der "vorgetäuschte" Mega16 versorgt den Compiler mit korrekten Daten über Flash, EEPROM- und SRAM-Größe und mit falschen Daten für Interrupts und Register-Namen, die aber im Beispielprogramm nicht stören
Auf der CD sind für das Butterfly 2 Beispielprogramme vorhanden. Die zweite Version ist für Bascom >= 1.11.7.5. Dort scheint der Mega169 schon unterstützt zu werden. Ich poste hier mal beide Beispielprogramme:
'Butterfly.bas: ATmega169 mit Bascom 1.11.7.4
'Hardware: AVR-Butterfly
'----------------------------------------------------------
$Regfile="m16def.dat" 'ATmega16 vortäuschen
$Crystal=1000000 'Interner RC-Oszillator mit 1 MHz
'
'Register im erweiterten I/O-Bereich als Variablen:
Dim LCDCCR As Byte At &HE7 'LcdContrastControlRegister
Dim LCDFRR As Byte At &HE6 'LcdFrameRateRegister
Dim LCDCRB As Byte At &HE5 'LcdControlAndStatusRegister B
Dim LCDCRA As Byte At &HE4 'LcdControland StatusRegister A
Dim LCDDR0 As Byte At &HEC 'LcdDriverRegister 0
Dim LCDDR1 As Byte At &HED 'LcdDriverRegister 1
'
'LCD initialisieren:
LCDCRB=&B10100100 '32768Hz, Bias 1/3, Duty 1/3,
' PortMask SEG0...SEG20
LCDFRR=&B00000110 'LCD-Takt 49Hz, siehe Tabelle im Datasheet
LCDCCR=&B00001110 'LCD-Spannung 3.3 V (Kontrast)
LCDCRA=&B10000000 'LCD an
'
'Eine kleine LCD-Ausgabe:
LCDDR0=&B01000100 'Segmente "1" und "2"
LCDDR1=&B00100010 'Segmente "4" und "5"
'
Do:Loop
'[Listing zum AVR-Mikrocontroller-Lehrbuch von Roland Walter, www.rowalt.de]
'Butterfly.bas: ATmega169 mit Bascom >= 1.11.7.5
'Hardware: AVR-Butterfly
'----------------------------------------------------------
$Regfile="m169def.dat" 'ATmega169-Deklarationen
$Crystal=1000000 'Interner RC-Oszillator mit 1 MHz
'
'LCD initialisieren:
LCDCRB=&B10100100 '32768Hz, Bias 1/3, Duty 1/3,
' PortMask SEG0...SEG20
LCDFRR=&B00000110 'LCD-Takt 49Hz, siehe Tabelle im Datasheet
LCDCCR=&B00001110 'LCD-Spannung 3.3 V (Kontrast)
LCDCRA=&B10000000 'LCD an
'
'Eine kleine LCD-Ausgabe:
LCDDR0=&B01000100 'Segmente "1" und "2"
LCDDR1=&B00100010 'Segmente "4" und "5"
'
Do:Loop
'[Listing zum AVR-Mikrocontroller-Lehrbuch von Roland Walter, www.rowalt.de]
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo,
evtl. hilft das weiter:
http://www.mcselec.com/index2.php?op...iewtopic&t=343
Dort steht eine neue Library für den Schmetterling.
Grüße
Henrik
-
Neuer Benutzer
Öfters hier
Hallo,
ich habe aber die Version 1.11.6.3, und das auf einem Rechner der nicht mit dem Internet verbunden ist (ist von Arbeit so eingerichtet) . Wie komme ich da an das Update, da es scheinbar ohne dieses nicht geht.
Gruß Heiko
-
Erfahrener Benutzer
Begeisterter Techniker
Hallo,
na von einem anderen Rechner mit Internetzugang
Z.B. an dem, wo Du gerade sitzt.
Dann auf CD oder USB-Stick.
war Deine Frage ernst gemeint?
Gruß Dirk
-
Neuer Benutzer
Öfters hier
Hallo Dirk,
na ja, so ein bissel schon, da ich nicht weiß ob ich es auch so laden kann. Ich habe mal nachgeschaut wo ich es herbekomme, aber leider kann ich von der MCS-Seite nichts runterladen.(zumindest habe ich nichts gefunden) Muss ich die Version die ich da habe noch regestrieren? Ich versuche mich auf Arbeit halt in die AVR-Problematik einzuarbeiten, aber ich muss leider feststellen das es schwerer ist als ich gedacht hatte und es nicht mit dem Programm alleine getan ist, zumal meine Kentnisse im Überspielen der Daten fast gegen Null gehen.
Ich habe auch gleich noch eine Frage: Ich bekomme beim Butten "compile current" die Meldung "File not found". Was will er denn da von mir? In dem Fall arbeite ich wieder mit der Demoversion die den Atmega169 auch beinhaltet.
Ich habe jetzt 2 Möglichkeiten den Butterfly zu programmieren. Möglichkeit 1: mit dem AVR ISP. Möglichkeit 2 per 3Kabelvariante die immer im internet beschrieben ist. (auch seriel)
Welche ist denn die bessere?
Eine Frage hab ich noch: Hier der Ablauf den ich immer gehe, da ich es nicht besser weiß:Ich erstelle doch mit dem Bascom das Programm, richtig? Dann speichere ich es, richtig?(wenn da keine Fehlermeldung kommt) Dann gehe ich in das AVR Studio4 und versuche das Programm zu laden. (Das will aber irgendwie nicht immer gehen) Dann versuche ich das Programm auf den Butterfly zu überspielen, richtig? Dazu gehe ich auf connect AVR (wenn ich den ISP habe) und versuche das programm in den Flasch zu schreiben, ist das überhaupt richtig?
So hatte ich zumindest das Butterfly originalprogramm wieder raufgespielt als ich es vorher irgendwie verwurschtelt hatte.
Habe ich diese 3Kabelvariante dann gehe ich auf AVR prog nur da bringt er mir die Meldung "not supported Bord found".
@ all:An welcher Stelle mache ich Fehler. Ich weiß ich stelle viele Fragen die evtl. oder mit Sicherheit recht plump sind, aber ich kenne mich halt noch nicht aus. Könntet ihr mir da helfen?
Vielen Dank
Gruß Heiko
Des w
-
Neuer Benutzer
Öfters hier
Ach ja ich hab ja noch was vergessen,
die Version 1.11.6.3 erzeugt bim speichern ein bas, CFG, ERR,BM-file. Zusätzlich noch ein obj-file. Dieses wird aber angefressen dargestellt. Die Demoversion erzeugt beim speichern nur ein bas, CFG und das angefressene obj-file. Wofür sind die beiden anderen Files? Und wo bekomme ich die Hexdatei her die ich in den mega169 schicke?
Weiterhin kommt beim Speichern die Meldung: Confirm und darunter: "leave the old CFG-file?" Was ist damit denn gemeint?
Und wenn ich das Programm im Bascom simulieren möchte kommt eine Meldung "no obj or dat-file found!"
Hm, könnt ihr mir da auch noch weiterhelfen.
Bitte nicht vor mir weglaufen wenn ich solche Fragen stelle. (Ich kenne das da ich selbst in einem Aquaristikforum unterwegs bin und da auch solche Fragesteller auftauchen die fast keine Ahnung haben)
Gruß Heiko
-
Erfahrener Benutzer
Begeisterter Techniker
Hallo Heiko,
nur ganz kurz, muß ja auch mal arbeiten
> Ich bekomme beim Butten "compile current" die Meldung "File not found
kommt mir bekannt vor. Bei der Demo ist wohl ein Bug.
Du mußt vor dem Compilieren eine leere Datei anlegen, welche so heist wie Dein Quelltext mit der Dateiendung .bin
Also zusätzlich zu meintestprogramm.bas die Datei meintestprogramm.bin anlegen. Dann sollte ich ein Stück weitergehen
Gruß Dirk
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen