mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio 4.0


Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,
ich wollte gerade mit dem Simulator, welcher beim AVR Studio 4.0 
integriert ist, mein C-Programm zur Ansteuerung einer LCD Anzeige 
simulieren. Leider komme ich mit dem Simulator nur bis zur 
Initialisierung der LCD Anzeige.

// LCD module initialization
lcd_init(32);

Wenn der oben angeführte Befehl abgearbeitet werden soll, wird der gelbe 
Pfeil des Simulators unsichtbar und erscheint nicht wieder.
Kann mir bitte irgendwer sagen was ich bei meiner Vorgangsweise falsch 
mache? Oder braucht der Simulator irgendwelche Bibliotheken um eine LCD 
Anzeige simulieren zu können?
Vielen Dank im Voraus und liebe Grüße
Dieter

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieter wrote:
> Kann mir bitte irgendwer sagen was ich bei meiner Vorgangsweise falsch
> mache?
Vielleicht, dass Du eine veraltete Version vom AVRStudio nutzt?

Dein größter Fehler ist aber vermutlich der, dass Du einfach so 
voraussetzt, dass in diesem Forum Hellseher unterwegs sind, die aus 
einer einzigen Codezeile, die nur aus dem Aufruf einer nicht näher 
beschriebenen Funktion besteht, den Rest Deines Codes herleiten 
können...

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieter wrote:
> Guten Abend,
> ich wollte gerade mit dem Simulator, welcher beim AVR Studio 4.0
> integriert ist, mein C-Programm zur Ansteuerung einer LCD Anzeige
> simulieren. Leider komme ich mit dem Simulator nur bis zur
> Initialisierung der LCD Anzeige.
>
> // LCD module initialization
> lcd_init(32);
>

wird da vielleicht auf eine Rückmeldung vom LCD gewartet?

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende das AVR Studio 4.14.
Nachfolgend findet ihr den C-Code für die LCD Anzeige.


#include <mega32.h>
#include <stdio.h>

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>


char buffer[15];


void main(void)
{

// LCD module initialization
lcd_init(32);



lcd_clear();
lcd_gotoxy(0,0);
sprintf(buffer,"Hello World");
lcd_puts(buffer);


while(1);


}


Wie kann ich herausfinden ob der Simulator des AVR Studios eine 
Rückmeldung von der LCD Anzeige benötigt?
Danke nochmals,
Dieter

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieter wrote:
> Ich verwende das AVR Studio 4.14.
> Nachfolgend findet ihr den C-Code für die LCD Anzeige.
>

Nein, das Wichtigste fehlt, wie die LCD-Funktionen aussehen...


> Wie kann ich herausfinden ob der Simulator des AVR Studios eine
> Rückmeldung von der LCD Anzeige benötigt?

Dokumentation/Quellcode zur lcd-library lesen...

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieter wrote:
> Ich verwende das AVR Studio 4.14.
Oh, da hast Du aber schnell geupdatet...

> #include <mega32.h>
Was soll mega32.h für ein Header sein? Zur AVR-libc gehört der nicht. 
Und Device-spezifische Header werden nicht direkt eingebunden...

> Wie kann ich herausfinden ob der Simulator des AVR Studios eine
> Rückmeldung von der LCD Anzeige benötigt?
Indem Du schaust, was die LCD-Funktionen überhaupt machen.

Du solltest aber vorher vielleicht mal ein paar Blicke ins 
AVR-GCC-Tutorial werfen...

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes M. wrote:

> Was soll mega32.h für ein Header sein? Zur AVR-libc gehört der nicht.
> Und Device-spezifische Header werden nicht direkt eingebunden...
> ...
> Du solltest aber vorher vielleicht mal ein paar Blicke ins
> AVR-GCC-Tutorial werfen...

Ich glaube kaum, dass er GCC und AVR-Libc verwendet.

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Ernst wrote:

>
> Ich glaube kaum, dass er GCC und AVR-Libc verwendet.

wenn ich mal raten sollte: die lcd-lib von Fleury...

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Ernst wrote:
> Ich glaube kaum, dass er GCC und AVR-Libc verwendet.
Seit wann lassen sich denn andere Compiler als der AVR-GCC zusammen mit 
AVRStudio verwenden? Oder meinst Du, er hat es tatsächlich geschafft, 
die Debug-Informationen eines anderen Compilers mit AVRStudio zu 
verknüpfen?

In dem Falle hätte er aber vielleicht auch mal erzählen sollen, mit 
welchem Compiler er denn arbeitet... Es könnte ja eventuell 
CodeVision sein, der ja afair zumindest in Ermangelung eines eigenen 
Simulators den vom ARStudio benutzt. Wie gesagt: könnte...

Justus Skorps wrote:
> wenn ich mal raten sollte: die lcd-lib von Fleury...
Tja, die Vermutung liegt natürlich nahe, aber nichtsdestotrotz braucht 
es auch für die lib einen Compiler mit einer weiteren lib, in der der 
ganze Rest steht...

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes M. wrote:

> Stefan Ernst wrote:
>> Ich glaube kaum, dass er GCC und AVR-Libc verwendet.
> Seit wann lassen sich denn andere Compiler als der AVR-GCC zusammen mit
> AVRStudio verwenden?

Ich weiß nicht genau seit wann, aber jedenfalls länger, als zusammen mit 
dem AVR-GCC.

Außerdem: sieht das hier für dich wie GCC aus?
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
ich verwende den Code Vision Compiler. Die Bibliothek "mega32.h" 
beinhaltet die spezifischen Controllerfunktionen.
Wie ich mein Problem lösen kann weiß ich leider noch immer nicht, kann 
mir da wer helfen?
lg Dieter

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieter wrote:
> Hallo
> ich verwende den Code Vision Compiler. Die Bibliothek "mega32.h"
> beinhaltet die spezifischen Controllerfunktionen.
> Wie ich mein Problem lösen kann weiß ich leider noch immer nicht, kann
> mir da wer helfen?
> lg Dieter

wie ich schon weiter oben geschrieben habe: Was ist den mit den 
LCD-Funktionen? Fallen die vom Himmel oder was?

Und noch was allgemein zur Simulation mit AVR Studio, was dir wohl nicht 
klar ist: Damit wird afaik nur der µC simuliert, alle weitere Peripherie 
wie LCDs, LEDs, Taster, etc natürlich nicht...wann immer eine 
Rückmeldung erfolgen muss, irgendeine Art von Input, muss das der User 
per Hand machen...und dazu muss man natürlich wissen, was man gerade 
macht...

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: Lies dir mal in Tutorial den Abschnitt über LCDs 
durch...fertige LIBs nutzen ist ja angenehm, aber man sollte schon etwa 
wissen, was dahinter steckt...und vor allem, wie die "Hardware", die man 
benutzen will, überhaupt angeschlossen werden muss...

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.