Archiv verlassen und diese Seite im Standarddesign anzeigen : ATMEGA16 Programm startet nicht
Hi,
ich hab ein großes Problem
ich hab meinen Atmega16 mit PonyProgg programmiert (teistweise mal alle ausgänge des PortB auf High) und die grundschaltung für den ATmega8 , die es hier gibt an die Pinbelegung des Atmega16 angepasst, aber er schaltet die Ports nicht auf High ich messe an allen I/Os 0,4V , was kann das sein ???
Das Programm ist am AVR , da ich es auslesen kann ; Fusebits hab ich noch nicht verändert
mfg ebb
Das Programm ist am AVR , da ich es auslesen kann ;
du meinst vermutlich "im AVR".
Gut wenn es drinn ist dann liegts schonmal nicht am Programmer.
Nächster Schritt ist das Programm selber,wo ich im moment den Fehler vermute.
Das betreffende Programm wäre hier jetzt sehr hilfreich.
Moin! ;o)
Nächster Schritt ist das Programm selber,wo ich im moment den Fehler vermute.Ich auch!
Kann es sein, dass Du die Ports nicht im DDR (Datenrichtungsregister) konfiguriert hast?
In welcher Sprache programmierst Du?
Könntest Du den Code posten?
.nolist
.include "C:\Program Files\Atmel\AVR Studio\Appnotes\m16def.inc"
.list
ldi r16, 0b11111111
out DDRD, r16
looping:
ldi r16, 0b11111111 ;Nur PD0 High
out PORTD, r16 ;Datenregister für PD laden
rjmp looping
wie ich gerade gesehen hab macht das alles am PortD High , aber dort rührt sich auch nichts
Hallo ebb!
Kann es sein, dass Du die Ports nicht im DDR (Datenrichtungsregister) konfiguriert hast?
An dem eben geäußerten Grund scheint es nicht zu liegen, Du hast DDRD ja beschrieben.
Also eigentlich müsste der Code funktionieren! *überleg*
Es sieht eigentlich soweit alles richtig aus!
Hast Du den Code mal mit dem AVR-Studio simuliert?
Misst Du wirklich an den richtigen Ports?
die Ports werden eh so beschaltet oder ?
PD1 --------- Voltmeter/Led--------- VCC oder ?
Ja, das wird meistens so gemacht ... meistens, aber nicht immer!
Muss ich an den Fusebits wirklich nichts ändern , damit das läuft ?
wenn ich was ändern muss , was ? ich hab auch nen externen 6Mhz Quarz angeshclossen , den ich eigenltich benutzen will
Wenn du gegen VCC (+5V) misst, und dir dein Voltmeter so ca. 0,4 (bzw.-0,4V) anzeigt, dann liegen am Pin tasächlich 4,6 V an.
Bezugspunkt für eine Messung mit einem Voltmeter ist normalerweise der Ground.
ich hab jetzt anders rum gemessen und da waren nur 0,2V an allen Ports von PortA, PortB,PortC,PortD
Das komische ist ja das das programm auf nem AT90S2313 funzt
Wenn du gegen VCC misst, zeigt dein Voltmeter 0,4 V an. Gegen Ground zeigt es 0,2 V an.
Stimme den deine Spannungsversorgung ? Ist dein Voltmeter hinüber ?
Alles etwas unlogisch.
Ich verstehe die Welt nich mehr
$regfile = "m16def.dat"
Config Portd = Output
Do
Portd.1 = 1
Portd.2 = 1
Portd.3 = 1
Portd.4 = 1
Portd.5 = 1
Portd.6 = 1
Portd.7 = 1
Loop
End
Das hab ich eben mit Bascom geschrieben und auf den AVR geschrieben , jetzt sind PD1-7 high (5,06V) und BD0 ist Low , wie sein sollte , also der Voltmeter ist nicht hinüber
aber wiso geht das Assembler Programm nicht ???
Müßte es nicht "ldi r22, 0b11111111" heißen ?
Der register ist ja egal oder ? in den Tutorials stand das ich einen Register ab dem 16. nehmen soll , die haben auch alle den r16 genommen
Hi ebb,
also an deinem Source-Code liegt es nicht. Welchen Assembler nutzt du den ?
Poste doch mal den Inhalt der .hex-Datei. dürften eigentlich gerade mal 3 Zeilen sein.
000000:ef0f
000001:bb01
000002:ef0f
000003:bb02
000004:cffd
ich benutze zum schreiben der ASM datei das AVR studio , da der WAVRASM die m16def.inc nicht mag (ich hab 4 ausprobiert) und zum übertragen zum MC benutze ich PonyProg 2000
Der register ist ja egal oder ? in den Tutorials stand das ich einen Register ab dem 16. nehmen soll , die haben auch alle den r16 genommen
Hoppla,falsches Datenblatt.
Dein Hex-File passt zu deinem Source.
Ich kenne PonyProg leider nicht.
Benötigt es den tatsächlich das Hex-File im 'generic' Format ?
AVR Studio könnte auch noch das Intel-Hex-Format und das Motorola S-Record-Format erzeugen.
Da wusste ich eben nicht welches man braucht generic war eingestellt, mit AVRstudio kann ichs leider nich draufschreiben der erkennt meinen ISP adapter nicht , ich werd mal die anderen Hexformate ausprobieren
EDIT://
kann geclosed werden , mit dem INTEL HEXfileformat funzts super
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.