mikrocontroller.net

Forum: Compiler & IDEs Verschiedene Fragen zu myAVR


Autor: Andreas Fendt (hyp3r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

Ich habe den Thread unter GCC gepostet weil das ganze eig. mit 
Programmierung zu tun hat ich hoffe das passt so :S

ich habe mir vor kurzem diese Produkte gekauft:

http://shop.myavr.de/best%C3%BCckte%20Boards/myEth...
http://shop.myavr.de/best%C3%BCckte%20Boards/myAVR...
http://shop.myavr.de/best%C3%BCckte%20Boards/myAVR...
http://shop.myavr.de/Zubeh%C3%B6r/PowerKit%20V5.ht...
http://shop.myavr.de/best%C3%BCckte%20Boards/myTWI...
http://shop.myavr.de/best%C3%BCckte%20Boards/myDig...

Eigentlich geht es mir um das Hauptboard "myAVR Board MK2 USB, 
bestückt".

Die erste Frage die ich habe:

Welche Entwicklungsumgebung könnt ihr mir empfehlen?
(Ich programmier eigentlich am liebsten in C, und kann diese Sprache auf 
x86 Basis auch, und auch von C-Control)

- SiSy
- AVR-Studio
- myAVR Workpad PLUS

Mir persönlich hat das AVR-Studio eig. am besten gefallen. Ich hab 
irgendeine Version im Internet heruntergeladen. Keine Ahnung gehabt sie 
zu konfigurieren. Aber die Menüführung und das ganze Design hat mir sehr 
gut gefallen. (Besonders der Unterpunkt debuggen :P)

SiSy hab ich von einem Kumpel als Vollversion bekommen aber gar nicht 
zufrieden. Bzw. nicht durchgeblickt

myAVR Workpad PLUS geht auch aber leider nur die DEMO Version bisher in 
der Hand gehabt. Sprich 30 Minuten Max arbeiten können. Keine fertigen 
Librarys zur Verfügung (z.B. LCD/TWI). Die Entwicklungsumgebung war okay 
und übersichtlich aber alles sehr spartanisch.

Ich stehe in dem Fall vor der Frage also das "myAVR Workpad PLUS" zu 
kaufen oder AVR-Studio richtig zu konfigurieren.

Was würdet ihr vorschlagen?

Dann nochmal eine Frage:

Ist es überhaupt möglich die ganze Sache debuggen zu können wie man es 
in C-Control Pro gewohnt ist? (Breakpoints, Variablenabfrage)

Ziel soll sein am Ende irgendwann die Relais, das LCD und die 
Temperaturen vom TWI (I²C-Chip) auslesen zu können. Einfache Ports kann 
ich schon schalten aber die LCD/TWI Ansteuerung komplett neu zu 
programmieren ist mir irgendwie zu aufwendig.

Ich freu mich auf eure antworten! Weiterhin muss ich mich entschuldigen 
falls es solche Threads schon gegeben hat.

mfg
HyP3r

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

Bewertung
0 lesenswert
nicht lesenswert
Die meisten hier benutzen als C-Entwicklungsumgebung entweder WinAVR so 
wie es nach dem Download daherkommt, oder aber WinAVR in Verbindung mit 
dem AVR-Studio.

> oder AVR-Studio richtig zu konfigurieren

Normalerweise braucht man da nicht viel konfigurieren. AVR-Studio 
installieren, WinAVR installieren. Fertig.

Der interessante Punkt ist immer: Mit welchem Programmer kriege ich mein 
Programm auf den µC und kann ich den Programmer von AVR-Studio aus 
benutzen, ihn irgendwie einbinden oder bleibt muss dieser Schritt über 
ein externes Programm gemacht werden.

> Ist es überhaupt möglich die ganze Sache debuggen zu können
> wie man es in C-Control Pro gewohnt ist? (Breakpoints,
> Variablenabfrage)

Ja klar. AVR-Studio kommt mit einem schönen Simulator daher in den sich 
der C-Debugger wunderbar integriert. Na ja, fast. Der Simulator hat so 
seine Bugs, besonders wenn es um die komplexeren Timer-Geschichten geht. 
Aber im Großen und Ganzen funktioniert das eigentlich ganz gut.

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der mitgelierte Programmierer kann nicht debuggen, nur programmieren...

Autor: Andreas Fendt (hyp3r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay!

Also ich habe mir vom AVR-Studio gestern abend in verbindung mit WinAVR 
installiert. Die Programme zu schreiben ist eig. gar kein problem. Sie 
wiederum auf den Chip zu übertragen auch nicht.

Aber im prinzip kann ich jetzt nur so "grund" sachen machen.

Sprich vllt mal einen Digitalen Port als Ausgang schalten und ihn 
anmachen.

Aber wenn ich dann mal mein LCD ansteuern will wirds eng. Dafür wären 
fertig Librarys schon schöner.

Deshalb kauf ich mir mal "myAVR Workpad PLUS" kostet ja nicht so viel. 
Aber das teil hat halt wiederum keinen Debugger :(.

Auch wenn der Debugger vom AVR-Studio auch nur ein Simulator ist :P.

mfg
HyP3r

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es alles
z.B
http://homepage.hispeed.ch/peterfleury/avr-softwar...

Für LCD/UART/I2C

Autor: Andreas Fendt (hyp3r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
diese LCD Library hab ich auch schon in der Hand gehabt konnt aber 
nichts damit anfangen :S

Ich habe den Header abgeändert auf die Entsprechenden PIN (nach doku des 
LCD) und es ging nicht :(.

Ich werde gleich noch mal hier den Header posten vllt ist irgendwo ein 
Leichtsinns fehler :)

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

Bewertung
0 lesenswert
nicht lesenswert
Andreas Fendt schrieb:
> diese LCD Library hab ich auch schon in der Hand gehabt konnt aber
> nichts damit anfangen :S
>
> Ich habe den Header abgeändert auf die Entsprechenden PIN (nach doku des
> LCD) und es ging nicht :(.

Du sollst das nicht nach Doku des LCD abändern, sondern danach, wie du 
das LCD mit deinem AVR verbunden hast. Das und nur das, ist das 
entscheidende Kriterium.
Und natürlich so Nebensächlichkeiten wie dass die Fleury Lib auch die 
richtige Taktfrequenz des Prozessors mitgeteilt bekommt.

Bisher hat diese Lib immer noch auf Anhieb funktioniert. Und wenn sie 
nicht funktioniert hat, dann hat sich das immer als Konfigurationsfehler 
bzw. als Verdrahtungsfehler der Hardware herausgestellt.

Autor: HyP3r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Header LCD: http://pastebin.com/f34588eb5
Programm LCD: http://pastebin.com/f4a2f590c
Programm: http://pastebin.com/f4f2487f0

Bei dem myAVR System ist man mit der verdrahtung nicht flexibel...

Durch das stecksystem passt das dann schon wieder was in der Doku des 
LCD steht :).
#define LCD_PORT         PORTD        /**< port for the LCD lines   */
#define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
#define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
#define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
#define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 3 */
#define LCD_DATA0_PIN    4            /**< pin for 4bit data bit 0  */
#define LCD_DATA1_PIN    5            /**< pin for 4bit data bit 1  */
#define LCD_DATA2_PIN    6            /**< pin for 4bit data bit 2  */
#define LCD_DATA3_PIN    7            /**< pin for 4bit data bit 3  */
#define LCD_RS_PORT      LCD_PORT     /**< port for RS line         */
#define LCD_RS_PIN       2            /**< pin  for RS line         */
#define LCD_RW_PORT      PORTB        /**< port for RW line         */
#define LCD_RW_PIN       0            /**< pin  for RW line         */
#define LCD_E_PORT       LCD_PORT     /**< port for Enable line     */
#define LCD_E_PIN        3            /**< pin  for Enable line     */

http://www.myavr.info/download/produkte/lcd/techb_... SEITE 7


In der Oben gepostetn Einstellung funktioniert's nicht!

mfg
HyP3r

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

Bewertung
0 lesenswert
nicht lesenswert
HyP3r schrieb:

> In der Oben gepostetn Einstellung funktioniert's nicht!

#define LCD_RW_PORT      PORTB        /**< port for RW line         */
#define LCD_RW_PIN       0            /**< pin  for RW line         */

Warum ist R/W an einem anderen Port?

Die Fleury Lib will R/W verdrahtet haben. Ohne gehts nicht (man könnte 
die Abfrage des Busy Flags mit einer Wartezeit simulieren)

Autor: Andreas Fendt (hyp3r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau in die PDF! R/W ist auf PortB :)

Autor: HyP3r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ahhhh jetzt geht's. Ich hab auf dem LCD Board R/W ausgejumpert und dann 
is es nicht gegangen weil er ewig auf R/W gewartet hat...

blöd is jetzt nur das PortB auch noch einen Pin weniger zur verfügung 
hat :(.

mfg
HyP3r

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andre
as Fendt schrieb:
> diese LCD Library hab ich auch schon in der Hand gehabt konnt aber
> nichts damit anfangen :S
>
> Ich habe den Header abgeändert auf die Entsprechenden PIN (nach doku des
> LCD) und es ging nicht :(.

Ja, die meisten LCD-LIBs sind recht weitschweifig.
Viele Funktionen werden aber garnicht benötigt.
Z.B. ein "Clear Display" wirkt unprofessionell, da das Display dann 
flackert, bis der neue Text dasteht. Besser einfach den alten Text mit 
dem neuen überschreiben.


Eine einfache und schön schlanke Lib:

http://www.mikrocontroller.net/attachment/30300/lcd_drv.zip


Peter

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Help! Ich bin zu blöd, um den Thread zum Attachment lcd_drv.zip zu 
finden. Kann mir jemand aushelfen, Peter?

Autor: Andreas Fendt (hyp3r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ja, die meisten LCD-LIBs sind recht weitschweifig.
> Viele Funktionen werden aber garnicht benötigt.
> Z.B. ein "Clear Display" wirkt unprofessionell, da das Display dann
> flackert, bis der neue Text dasteht. Besser einfach den alten Text mit
> dem neuen überschreiben.
>
>
> Eine einfache und schön schlanke Lib:
>
> http://www.mikrocontroller.net/attachment/30300/lcd_drv.zip
>
>
> Peter

Das mit dem überschreiben mach ich auch immer...

Deine Library sieht auch gut aus aber igendwie auch umständlich. Drei 
Header dateien. Aber das werde ich zusammen fürhen :). Außerdem kannst 
du mit dieser klasse keine Integer direkt schreiben.

mfg
HyP3r

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

Bewertung
0 lesenswert
nicht lesenswert
Andreas Fendt schrieb:

> Das mit dem überschreiben mach ich auch immer...

Das machen eigentlich alle. Für vernünftiges Arbeiten geht es nicht 
anders.

Trotzdem ist eine Clear-Funktion kein Luxus.
Wer ein Menüsystem schreibt, das aus mehreren Anzeigescreens besteht, 
benötigt so eine Funktion.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan B. schrieb:
> Help! Ich bin zu blöd, um den Thread zum Attachment lcd_drv.zip zu
> finden. Kann mir jemand aushelfen, Peter?

Beitrag "Re: LCD nicht nur für einen Port in C"


Peter

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Fendt schrieb:
> Deine Library sieht auch gut aus aber igendwie auch umständlich. Drei
> Header dateien. Aber das werde ich zusammen fürhen :). Außerdem kannst
> du mit dieser klasse keine Integer direkt schreiben.

Beitrag "Formatierte Zahlenausgabe in C"


Ich programmiere gerne nach der Methode "teile und herrsche".
D.h. jede Aufgabe kriegt ihre eigene Funktion.
Z.B. kann die Zahlenausgabe ja auch auf die UART erfolgen.


Peter

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.