Forum: Mikrocontroller und Digitale Elektronik Anfängerprobleme


von Ulli K. (ulluru)


Lesenswert?

Hallo.
Bin mehr oder weniger absoluter Beginner im µC-Bereich(hab schon einige 
Erfahrungen an der Uni gesammelt und mach mich jetzt dran die Geschichte 
auch zu Hause auszuprobieren).

Und nun das Problem:
Ich habe das Pollin AVR-Funk-Evaluationsboard zusammengelötete und es 
scheint auch zu funktionieren.
Habe einen At Mega 32 drauf sitzen.
Beim Durcharbeiten vom Tutorial hänge ich schon beim ersten Programm.
Habe folgendes Programm mit dem AVRStudio Programmiert und assembliert
1
.include "m32def.inc"
2
  ldi r16, 0xFF
3
  out DDRB, r16
4
  
5
  ldi r16, 0b1111101
6
  out PORTD, r16
7
ende:   rjmp ende
(Habe das Programm aus dem Tutorial leicht abgeändert da die 
Onoard-Dioden ja an PortD hängen (Oder???))
Nun wollte ich das ganze mit Ponyprog auf den µC laden.
Das Kallibrieren hat auch ganz gut funktioniert nur der I/0 port setup 
funktioniert schonmal nicht.( 9Poliges Kabel an COM1(PC) - R232(Board)
Allerdings kann ich mit der Einstellung AT89S micro den Chip zumindest 
auslesen(Alles FF).
Vielleicht kann mir jemand meinen Fehler aufzeigen bzw. sagen wie ich 
dem Ponyprog das übermitteln Beibringen kann.(Beim Schreiben meint er 
"Device not Responding)

Danke im Vorraus
Gruß Ulli

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ulli Klappenberger wrote:

>
1
> .include "m32def.inc"
2
>   ldi r16, 0xFF
3
>   out DDRB, r16
4
> 
5
>   ldi r16, 0b1111101
6
>   out PORTD, r16
7
> ende:   rjmp ende
8
>

> (Habe das Programm aus dem Tutorial leicht abgeändert da die
> Onoard-Dioden ja an PortD hängen (Oder???))

Die LED hängen an PortD an PD5 und PD6. Du hast die Anpassung des 
Datenrichtungsregisters vergessen ;-(

out DDRD, r16
    ^^^^

> Nun wollte ich das ganze mit Ponyprog auf den µC laden.
> Das Kallibrieren hat auch ganz gut funktioniert nur der I/0 port setup
> funktioniert schonmal nicht.( 9Poliges Kabel an COM1(PC) - R232(Board)
> Allerdings kann ich mit der Einstellung AT89S micro den Chip zumindest
> auslesen(Alles FF).

Mit PonyProg habe ich keine Erfahrung. Aber für die andere 
ISP-Programmiersoftware AVRDUDE habe ich das Einspielen über den 
seriellen ISP Port im Artikel Pollin Funk-AVR-Evaluationsboard 
beschrieben.

Achtung - als Beispiel-AVR habe ich den ATmega8 in der mache, weil er 
preiswerter ist und am Anfang ausreichend ist.

Wenn du unbedingt beim ATmega32 bleibst und nicht auf den ATmega8 
umsteigen kannst, sag Bescheid und ich passe den Artikel (wg. Fuses 
etc.) an.

von Ulli K. (ulluru)


Lesenswert?

Danke für die zügige Antwort
Hab den Controller halt mit dem Board gekauft , als ich das Tutorial 
noch nicht kannte. Werde mir bei gelegenheit mal einen von den kleinen 
Besorgen.
Hab aber auch noch einen At tiny8 rumliegen glaub ich...
Ich probiers jetzt aber erst nochmal so.

Gruß Ulli

von Johannes M. (johnny-m)


Lesenswert?

> ldi r16, 0b1111101
Ich weiß jetzt nicht, ob das beabsichtigt ist, aber gewöhne Dir an, wenn 
Du die Binärschreibweise benutzt, immer alle 8 Bits eines Bytes 
hinzuschreiben, auch führende Nullen... In diesem Fall also besser
1
ldi r16, 0b01111101

von Ulli K. (ulluru)


Lesenswert?

Hab nochmal nachgesehen. Was ich da noch liegen habe für einen µC ist 
ein AT Tiny 2313, tut aber jetzt eigentlich nichts zur sache.
Eben bemerkt das ja eigentlich auch das AVR Studio den Controller 
auslesen können sollte. Das tut er aber auch nicht (Beim Detektieren 
meldet er schon "Failed"). Und sollte das AVR Studio den Controller 
nicht gleich auch Programmieren können?
Vielleicht kann mir noch mal jemand ein Bild malen an welchen Port von 
meinem hübschen AVR-Funk-Evaluationsboard ich den Stecker anschließen 
muss( ISP oder RS232) und welche einstellungen ich treffen muss damit 
das AVR Studio den µC erkennt(bzw. den Ponyprog ist mir halbwegs egal).
Mit dem AVRdude hatte ich bisher auch keinen erfolg, ist ja 
offensichtlich ein Textbasiertes Programm, aber ich hab in dem 
runtergeladenen Archiv auch keine ausführbare Datei gefunden die Länger 
als ne Halbe Sekunde offen bleibt, oder muss man die Befehle mit 
Kommandozeilenparametern eingeben?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich habe das gleiche Board links neben mir liegen und bin der Ansicht, 
dass man aus AVR Studio (!) kein ISP-Programming auf dem ISP markierten 
Anschluss an der DB9-Buchse (J3) machen kann.

An dieser Buchse (J3) ist auf dem Board ein sog. serieller Bitbanging 
ISP Programmierer eingerichtet, der aus PronyProg oder aus AVRDUDE 
heraus bedient werden kann.

Ja, AVRDUDE ist ein "altmodisches" Konsolenprogramm. Damit man das 
Bedienen kann, kann man sich eine grafische Oberfläche suchen (nicht 
mein Geschmack, gibt es aber) oder auf seinem einen Befehlsinterpreter 
("Shell") starten (Start->Ausführen->Eingeben: cmd, wenn es nicht 
Windows98 ist ;-) und Kommandozeile für AVRDUDE eintippen. Ich habe mir 
Batchfiles geschrieben fürs Fuseauslesen, Fusesetzen und 
ISP-Programmieren (Flashen). Was für meinen ATmega8 in den Batchfiles 
drin steht, steht im Artikel Pollin Funk-AVR-Evaluationsboard.

Auf dem RS232-markierten Anschluss (J6) kann man bei einem fabrikneuen 
AVR kein ISP-Programming machen. Das würde nur gehen, wenn vorher ein 
Bootloader in den AVR geschrieben worden wäre.

Die beiden 2x5 Wannenstecker (links ISP (J2) und rechts JTAG (J1)) 
benötigen einen ISP-Programmieradapter bzw. einen AVR-JTAG-Adapter. Eine 
Programmierung über JTAG geht natürlich nur bei JTAG-fähigen AVRs (bsp. 
beim ATmega32).

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.