mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega16 mit C über Pollin Evaluationsboard V2.0


Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo µC-Spezialisten,

ich möchte mir langsam das Programmieren von µC beibringen.

Folgendes Zubehör habe ich:

- Pollin Evaluationsboard V2.0
- AVR Studio 4
- WinAVR
- Pony Prog

Nun hab ich gestern begonnen das AVR GCC Tutorial dieser Website 
durchzuarbeiten.

Meine Vorgehensweise war folgende:
Ich hab das kleine Einführungsbeispiel in AVR Studio 4 (New Project, AVR 
GCC, usw.) eingetippt, kompiliert und mit Hilfe dieser Software eine 
.hex Datei erstellt. Diese hab ich dann mit Pony Prog geöffnet und über 
die Serielle Schnittstelle an das Board geschickt. Laut Pony Prog hat 
alles funktioniert. Auf dem Controller war davor auch ein Mini-Programm 
(Taster 1 ==> LED1), welches nun nicht mehr läuft. Folglich hat der 
Controller irgendetwas gefressen. Jedoch sind die im Tutorial 
beschriebenen Werte nicht zu messen (PB0 und PB1 auf high, der Rest von 
PB auf Low)


Kann mir jemand bzgl. meinem Problem weiterhelfen?
Super wären kleine C-Codes die zu diesem Board passen, die Funktionieren 
und auf die ich nach und nach aufbauen kann.

Vielen Dank im Voraus für Eure Hilfe

Tom

Autor: Elektro Gandalf (e_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du die Fusebits richtig gesetzt?

Autor: Elektro Gandalf (e_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ansonsten poste doch mal dein Prog

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Folgendes Mini-Programm:

#include <avr/io.h>

int main(void)
{
DDRB = 0xff;
PORTB = 0x03;

while(1)
{
;
}

return 0;
}

Das Programm hängt ja eigentlich nur in der Schleife und setzt PB0 und 
PB1. Leider wie gesagt nicht messbar.

Die angesprochenen Fuse-Bits hab ich natürlich nicht beachtet. Kannst Du 
mir da weiterhelfen?

Autor: Elektro Gandalf (e_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lese mit ponyprog mal deine Fusebits aus und mache ein screenprint und 
Poste das Bild dann.

Autor: Tom (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Anbei der Screenshot

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt:

ich bin jedem dankbar, der sich in den Chat einbringt und mir 
weiterhelfen kann.

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey, Tom!

Leider nutze ich AVRStudio nicht, aber wenn ich mir das ansehe, würde 
ich sagen, es hängt genau da. Denn das Programm sieht gut aus. An den 
Fuses kannst du noch folgendes ändern: HAKEN bei CKSEL0 und CKSEL1, 
damit ist der ext. Quarz als Quelle gewählt, im Moment läuft er mit 
internem RC.
Das hat allerdings nichts mit Deinem Problem zu tun.
Um zu sehen, ob Pony artig war, kannst du ja einfach nach dem Flashen 
den Chip auslesen. Eine Äbweichung würdest Du dann sehen.
Ich denke aber wie gesagt, dass bei den Einstellungen vom Studio 
irgendwas schiefgelaufen ist.
Mach das ganze doch mal mit WinAVR, dann hast Du die Fehlerquelle 
eingegrenzt.

Groeten, Jeroen

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Henk wrote:
> Hey, Tom!
>
> Leider nutze ich AVRStudio nicht, aber wenn ich mir das ansehe, würde
> ich sagen, es hängt genau da.

So ein Quatsch.
Das Programm ist in keinster Weise zeitkritisch.

> Denn das Programm sieht gut aus.

Das stimmt allerdings

> An den
> Fuses kannst du noch folgendes ändern: HAKEN bei CKSEL0 und CKSEL1,

NICHT!
Im PonyProg ist externer Quarz: KEIN Haken bei CKSEL0 bis CKSEL3

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Überlege dir gut was du mit den Haken bei den Fuses anrichtest. Jetzt 
ist auf Quarz gestellt nicht auf internen RC-Oszillator. Siehe auch 
hier: http://palmavr.sourceforge.net/cgi-bin/fc.cgi
Ein Haken ist nämlich 0 und kein Haken ist 1, das ist verwirrend und 
daher mit Vorsicht zu geniessen.
Hubert

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>NICHT!
>Im PonyProg ist externer Quarz: KEIN Haken bei CKSEL0 bis CKSEL3

Da hat er recht, der gute Mann. Ooops : )

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

@Tom

hast du in AVR Studio den Richtigen Kontroller eingestellt
sonst bringt dir das [#include <avr/io.h>] absolut nichts.

bezüglich dem Pollin bord kenn ich mich leider nicht aus

Aber stell nicht den Externen Quarz ein sollange du dich nicht 
auskennst. Wenn dann irrgendwas an der HW nicht passt kannst du den uC 
ganichtmehr progen, zumindest nicht mit deinen Mitteln.

ach ja und probier einfach mal einen aderen PORT aus

mfg Flo

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Datenblatt zum Pollin Atmel Evaluations-Board Version 2.0 gibt es 
hier:
http://www.pollin.de/shop/downloads/D810038B.PDF

Grundsätzlich kann man beim Atmega16 PB0 und PB1 so schalten, wie du es 
in deinem Programm probierst. Diese Portpins sind General-IO fähig.

Bist du sicher, dass du beim Nachmessen (an J4 vom Board ?) die 
richtigen Pins (9 oder 10 gegen z.B. 39 (GND)) abgreifst?

Autor: Maxim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <avr/io.h>

int main(void)
{
DDRD = 0xff;
PORTD = 0b01100000;

while(1)
{
;
}

return 0;
}

Versuch es mal damit. Leuchten die LEDs?

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen vielen Dank für die Resonanz!!

zu Euer aller Information: Es funktioniert immer noch nichts!

@Flo
die Häkchen müssten eigentlich passen. Und ich gehe ernsthaft davon aus, 
dass die HW absolut i. O. ist. Es wurde ja schon mal damit gearbeitet. 
Nur nicht von mir. Und ja, im AVR-Studio ist der atmega16 eingestellt, 
jedoch keine Frequency.


@Stefan B.
...ja, ich hab richtig gemessen.


@Maxim
Ich hab auch diesen Quellcode getestet. Funktioniert auch nicht.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kommando zurück!!

Es funktioniert. Ich hab nur eine kleine Einstellung ignoriert.

Danke einstweilen für Eure Unterstüztung.


Wenn noch jemand die Muse hat, mir noch mehr zu helfen:

Ich bin auf der Suche nach Idiotensicheren Quellcodes (gut kommentiert) 
die ganz Primitiv diverse I/O´s ansprechen und vor allem: Auf die ich 
aufbauen kann und durch Veräderung einfach Erfahrung sammeln kann.

Wäre cool.

Gruß

Tom

Autor: Troll Blaubär (blaubeer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom wrote:
> Kommando zurück!!
>
> Es funktioniert. Ich hab nur eine kleine Einstellung ignoriert.

Darf man nachfragen, welche Einstellung fehlerhaft war und das Problem 
verursacht hat? Es könnte Jemandem helfen, der sonst morgen mit dem 
gleichen Problem kommt.

> Ich bin auf der Suche nach Idiotensicheren Quellcodes (gut kommentiert)
> die ganz Primitiv diverse I/O´s ansprechen und vor allem: Auf die ich
> aufbauen kann und durch Veräderung einfach Erfahrung sammeln kann.

Die findest Du im Datenblatt des AVRs. Zu jedem AVR-Feature ist ein 
kommentierter Beispielcode in ASM und C vorhanden. Dort hast Du auch 
noch den Vorteil, dass die Features (Timer, Interrupts, ADC, usw.) des 
AVRs sehr genau erklärt werden.

Und wenn das nicht reicht, findest Du bei Atmel auf der HP noch jede 
Menge AVR-Appnotes, die den Umgang mit dem AVR anhand kleiner 
Code-Beispiele in ASM oder C erklären.

Das GCC-Tutorial dieser Webseite hier soll auch ganz gut sein.

In der Codesammlung (ein Forum hier) findest Du jede Menge gut erklärte 
und diskutierte Codebeispiele in ASM und C.

>
> Wäre cool.

Du musst also niemanden darum bitten, es ist alles schon da, Du brauchst 
Dich nur noch zu bedienen. Also herunterladen, lesen, verstehen, 
anwenden.

>
> Gruß
>
> Tom

MFG, Blaubär

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.