Forum: Mikrocontroller und Digitale Elektronik Programmieren von AT90PWM3B


von Kaveh (Gast)


Lesenswert?

Hallo Zusammen,
Die Simulation eines ganz kleinen Programm (siehe unten) in Assembler 
mit AVR Studio 4.18 funktioniert, wenn ich ein ATmega8 controller beim 
Anlegen des Projektes wähle. Aber das gleiche programm bzw. die 
Simulation mit dem Controller AT90PWM3B läuft nicht bzw das programm 
wird zwar assmbliert (meldung :Assembly complete, 0 errors. 0 warnings) 
aber beim debuggieren wird nicht angezeigt, ob der Ausgang nun gesetzt 
ist oder nihct.
Die Übertragung des Programm über AVRISP MKII funktioniert  auch (keine 
Fehlermeldung) aber beim messen des Ausgang mit Oszilloscope zeigt der 
Ausgang keinen H-Pegel.
Und das ist mein Problemm mit diesem Controller, wo ich an dieser Stelle 
nicht weiter komme. Vielleicht hat jemand von euch eine Idee bzw. eine 
Lösung . für jede Hilfe bedanke ich mich im voraus.
mfg
Kaveh

.include"1200.inc"
.def temp=r16
main:
 sbi portb,1
 rjmp main

PS: liegt es vielleicht an dem Header include"1200.inc" ??

von ... (Gast)


Lesenswert?

Also wenn, dann solltest Du Dein Programm nicht abtippen sondern hier 
reinkopieren und die entsprechenden Code-Tags benutzen.
Eine Datei 1200.inc gibt es nicht, das AVRStudio schmeißt mit Fehlern um 
sich, Deine Aussage "funktioniert" ist also offensichtlich falsch!
Selbst wenn Du den Dateinamen richtig abgetippt hättest ("1200def.inc") 
wäre das für den ATMega8 die verkehrte, die ist für eine AT90S1200. Für 
einen ATMega8 wäre "m8def.inc" das Richtige. Und wenn Du nicht weißt für 
welchen Chip ein File ist, dann schau einfach mal rein, es steht drin.

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Wie bereits erwähnt, ist das das falsche Includefile.
Dann muss geprüft werden, ob im AVR-Studio das richtige Target 
(AT90PWM3B) eingestellt ist.
Dann fällt mir noch auf, dass der Port an keiner Stelle als Ausgang 
definiert wird (DDRB korrekt setzen).

Grüße,

Peter

von ... (Gast)


Lesenswert?

Das meine ich ja. Der hingepfuschte Code und die Beschreibung passen 
einfach nicht zusammen!

Und nochwas, man sollte für den Simulator schon den AVR als Target 
auswählen, für den das Programm übersetzt wurde. Ansonsten ist das 
Ergebnis zumindest fragwürdig.

von Kaveh (Gast)


Lesenswert?

Danke für eure Antworten.
ich habe mich gestern vertippt und anstelle Include"1200def.inc" 
include"1200.inc" geschrieben. das habe ich aber nicht für Atmega8 
verwendet sondern für AT90pwm3b und in der Simulatur von AVRStudio habe 
auch den richtigen nämlich At90pwm3B gewählt.
also in sofern war alles nicht falsch.
zum schluss lag an dem Header und den habe ich später richtig gestellt. 
das ist include "pwm3def.inc".
mfg
momo

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.