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/myEthernet.htm?sp=article.sp.php&artID=100065 http://shop.myavr.de/best%C3%BCckte%20Boards/myAVR%20Board%20MK2%20USB,%20best%C3%BCckt.htm?sp=article.sp.php&artID=40 http://shop.myavr.de/best%C3%BCckte%20Boards/myAVR%20LCD%20Add-On.htm?sp=article.sp.php&artID=15 http://shop.myavr.de/Zubeh%C3%B6r/PowerKit%20V5.htm?sp=article.sp.php&artID=100044 http://shop.myavr.de/best%C3%BCckte%20Boards/myTWI%20Add-On%20Temperatursensor.htm?sp=article.sp.php&artID=71 http://shop.myavr.de/best%C3%BCckte%20Boards/myDigitalOut.htm?sp=article.sp.php&artID=59 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
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.
der mitgelierte Programmierer kann nicht debuggen, nur programmieren...
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
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 :)
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.
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 :).
1 | #define LCD_PORT PORTD /**< port for the LCD lines */ |
2 | #define LCD_DATA0_PORT LCD_PORT /**< port for 4bit data bit 0 */ |
3 | #define LCD_DATA1_PORT LCD_PORT /**< port for 4bit data bit 1 */ |
4 | #define LCD_DATA2_PORT LCD_PORT /**< port for 4bit data bit 2 */ |
5 | #define LCD_DATA3_PORT LCD_PORT /**< port for 4bit data bit 3 */ |
6 | #define LCD_DATA0_PIN 4 /**< pin for 4bit data bit 0 */ |
7 | #define LCD_DATA1_PIN 5 /**< pin for 4bit data bit 1 */ |
8 | #define LCD_DATA2_PIN 6 /**< pin for 4bit data bit 2 */ |
9 | #define LCD_DATA3_PIN 7 /**< pin for 4bit data bit 3 */ |
10 | #define LCD_RS_PORT LCD_PORT /**< port for RS line */ |
11 | #define LCD_RS_PIN 2 /**< pin for RS line */ |
12 | #define LCD_RW_PORT PORTB /**< port for RW line */ |
13 | #define LCD_RW_PIN 0 /**< pin for RW line */ |
14 | #define LCD_E_PORT LCD_PORT /**< port for Enable line */ |
15 | #define LCD_E_PIN 3 /**< pin for Enable line */ |
http://www.myavr.info/download/produkte/lcd/techb_lcd_de_fr.pdf SEITE 7 In der Oben gepostetn Einstellung funktioniert's nicht! mfg HyP3r
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)
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
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
Help! Ich bin zu blöd, um den Thread zum Attachment lcd_drv.zip zu finden. Kann mir jemand aushelfen, Peter?
> 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
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.