MyAVR Display

Gast #1184100
Lesenswert?

Hallo,

ich versuche mit dem MK2 Board das MyAVR Display anzusprechen. Mein Ziel 
ist, dass IRGENDETWAS auf dem Display passiert. Das wäre schon ein sehr 
großer Erfolg.


Ich habe mir dazu das Datenblatt auf Seite 11 angeguckt...

http://www.myavr.info/download/techb_lcd.pdf


Dort steht "Das Display wird durch das dreimalige senden von 0b0011xxxx
(Soft-Reset) in den Initialisierungsmodus versetzt, dabei muss
RS = 0 sein."

Darin sehe ich einen kleinen Widerspruch... RS ist Port D.2. Wenn dieser 
Low sein soll können die doch nicht schreiben, dass 0b0011xxxx sondern, 
dass 0b0011x0xx geschickt werden soll oder?

Außerdem meine Frage in welchem Zeitabstand dieses Signal verschickt 
werden soll. Müsste es nicht noch so etwas wie eine Taktleitung geben?


Vielen Dank schonmal für Antworten!
Gast #1184109
Lesenswert?

>Darin sehe ich einen kleinen Widerspruch... RS ist Port D.2. Wenn dieser
>Low sein soll können die doch nicht schreiben, dass 0b0011xxxx sondern,
>dass 0b0011x0xx geschickt werden soll oder?

Es ist nicht relevant was du denkst oder was andere schreiben.
Du hast dich an das gottverschissene Datenblatt deines
LCDs zu halten.
Gast #1184122
Lesenswert?

Hallo und vielen Dank für die Antwort. Ich werde jetzt nochmal nach dem 
"DISPLAYTECH 162" Datenblatt suchen.... aber myAVR hat dieses Display 
mitgeliefert und es wird insgesamt als "myAVR LCD Add-On"


Ich bin auch von der Firma nicht soo begeistert aber kann man wirklich 
so weit gehen und behaupten, was in deren Datenblatt stünde wäre falsch 
und wäre nicht mit deren verkauften Hardware vereinbar?


Nochmal danke für die Hilfe.
#1184129
Lesenswert?

Thomas D wrote:
> Darin sehe ich einen kleinen Widerspruch... RS ist Port D.2. Wenn dieser
> Low sein soll können die doch nicht schreiben, dass 0b0011xxxx sondern,
> dass 0b0011x0xx geschickt werden soll oder?

Schau mal in den Schaltplan.
Die meinen das LCD und da hast Du keinen Zugriff auf DB3..0, das ist mit 
den xxxx gemeint.


> Außerdem meine Frage in welchem Zeitabstand dieses Signal verschickt
> werden soll. Müsste es nicht noch so etwas wie eine Taktleitung geben?

Gibt es, ist der Pin "E".


Ein einfacher C-Code fürs LCD:

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

Da stehen auch die Timings drin, entsprechen dem HD44780-Datenblatt.


Peter
Gast #1184144
Lesenswert?

Okay, danke soweit. Sprich wenn ich einen Befehl ausgeführt habe kommt E 
für eine ms auf low, dann wieder auf high, eine ms warten und dann 
nächster Befehl? Hier das Datenblatt: 
http://www.reichelt.de/?;ACTION=7;LA=6;OPEN=0;INDEX=0;FILENAME=A500%252FLCD162C%2523DIS.pdf;SID=29MY@xsqwQAR0AACpSTWI654e4c217a3a333ef6475519295d9237


Die Beispielprogramme funktionieren leider nicht. Ich benutze myAVR 
Workpad PLUS.


Das Programm:

#define F_CPU 3686400

#include <avr/io.h>
#include <stdio.h>
#include <util/delay.h>
#include "main.h"
#include "lcd_drv.h"


int main( void )
{
  lcd_init();

  lcd_pos( 0, 1 );
  lcd_text( (u8*)"Zeile 1" );

  lcd_pos( 1, 2 );
  lcd_text( (u8*)"Zeile 2:" );

  for(;;);
}





Und die Fehlermeldungen


 In file included  from MAIN.c:5:

c:/programme/myavrworkpadplus_demo/winavr/lib/gcc/../../avr/include/util 
/delay.h:90:3:  warning: #warning "Compiler optimizations disabled; 
functions from won't work as designed"
 In file included  from MAIN.c:6:

main.h:1  1:15: error: io.h: Datei nicht gefunden.




:( Ich hoffe jemand kann mir weiterhelfen. Danke.
Gast #1185251
Lesenswert?

Super, danke.


Dies ist ja jetzt nur eine Art Texteditor. Ich habe mal das 
Kleinstprogramm vom AVR-GCC-Tutorial eingefügt und als main.c sowie als 
Workspace abgespeichert.

#include <avr/io.h>          // (1)

int main (void) {            // (2)

   DDRB  = 0xff;             // (3)
   PORTB = 0x03;             // (4)

   while(1) {                // (5a)
     /* "leere" Schleife*/;  // (5b)
   }                         // (5c)

   /* wird nie erreicht */
   return 0;                 // (6)
}


Hat jemand Lust mir stichwortartig die nächsten Schritte zu erklären? 
Habe versucht die abgespeicherten Dateien mit Insight zu laden aber das 
will er nicht so wirklich.
#1185255
Lesenswert?

Thomas D wrote:

> Hat jemand Lust mir stichwortartig die nächsten Schritte zu erklären?
> Habe versucht die abgespeicherten Dateien mit Insight zu laden aber das
> will er nicht so wirklich.

zum komiplieren:
Tools > Make all

zum Programmieren:
Tools > Programm

wahrscheinlich musst du dir zuerst noch ein makefile anlegen, siehe
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Exkurs:_Makefiles
das muss man aber eigentlich nur einmal pro Projekt machen
#1185260
Lesenswert?

ich hab dir mal mein makefile angehängt, welches ich mit dem USB MK2 
benutze...ein paar Änderungen musst du noch machen:

relativ am Anfang musst du die Werte für F_CPU (Quarzgeschwindigkeit in 
Hertz) und TARGET (= Filename ohne(!) .c) anpassen und etwas weiter 
hinten AVRDUDE_PORT auf den COM-Port setzen, wo dein USB-Programmer 
hingemappt wurde, also zB com1,com2,...


mehr müsste nicht nötig sein

€: das Ding muss in den gleichen Ordner wie dein c-File
Angehängte Dateien:
Gast #1185278
Lesenswert?

Danke nochmal!


Brauche ich das "Insight" überhaupt?

Wenn ich auf Program klicke gibt es einen Fehler. Ich verwende den 
ATmega168.


Im makefile sieht es jetzt so aus: MCU = atmega168


Folgende Fehlermeldung:

selected device is not supported by programmer: m168


Brauche ich noch weitere Veränderungen im makfile?
#1185286
Lesenswert?

Thomas D wrote:
> Danke nochmal!
>
>
> Brauche ich das "Insight" überhaupt?

ich hab es noch nie benutzt


> Im makefile sieht es jetzt so aus: MCU = atmega168
>
>
> Folgende Fehlermeldung:
>
> selected device is not supported by programmer: m168

komisch...im avrdude ist der bekannt, und laut myAVR-HP wird der auch 
vom mySmartUSB MK2 unterstützt
Gast #1185296
Lesenswert?

Wenn ich den atmega48 verwende kommt die entsprechend gleiche 
Fehlermeldung nachdem ich den makefile korrigiert habe:

MCU = atmega48

vrdude: error: selected device is not supported by programmer: m48
Gast #1185323
Lesenswert?

Hier die komplette Ausgabe der Konsole:

> "make.exe" program
makefile:510: warning: overriding commands for target `sizebefore'
makefile:348: warning: ignoring old commands for target `sizebefore'
makefile:512: warning: overriding commands for target `sizeafter'
makefile:352: warning: ignoring old commands for target `sizeafter'
avrdude -p atmega48 -P com3 -c avr910    -U flash:w:main.hex

Found programmer: Id = "AVR ISP"; type = S
    Software Version = 2.5; Hardware Version = 2.0
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize = 512 bytes.

Programmer supports the following devices:
    Device code: 0x01 = (unknown)
    Device code: 0x02 = (unknown)
    Device code: 0x03 = (unknown)
    Device code: 0x04 = (unknown)
    Device code: 0x05 = (unknown)
    Device code: 0x06 = (unknown)
    Device code: 0x07 = (unknown)
    Device code: 0x08 = (unknown)
    Device code: 0x09 = (unknown)
    Device code: 0x0a = (unknown)
    Device code: 0x0b = (unknown)
    Device code: 0x0c = (unknown)
    Device code: 0x0d = (unknown)
    Device code: 0x0e = (unknown)
    Device code: 0x0f = (unknown)
    Device code: 0x10 = (unknown)
    Device code: 0x11 = (unknown)
    Device code: 0x12 = (unknown)
    Device code: 0x13 = AT90S1200
    Device code: 0x14 = (unknown)
    Device code: 0x15 = (unknown)
    Device code: 0x16 = (unknown)
    Device code: 0x17 = (unknown)
    Device code: 0x18 = (unknown)
    Device code: 0x19 = (unknown)
    Device code: 0x1a = (unknown)
    Device code: 0x1b = (unknown)
    Device code: 0x1c = (unknown)
    Device code: 0x1d = (unknown)
    Device code: 0x1e = (unknown)
    Device code: 0x1f = (unknown)
    Device code: 0x20 = ATtiny84
    Device code: 0x21 = (unknown)
    Device code: 0x22 = (unknown)
    Device code: 0x23 = (unknown)
    Device code: 0x24 = (unknown)
    Device code: 0x25 = (unknown)
    Device code: 0x26 = (unknown)
    Device code: 0x27 = (unknown)
    Device code: 0x28 = AT90S4414
    Device code: 0x29 = (unknown)
    Device code: 0x2a = (unknown)
    Device code: 0x2b = (unknown)
    Device code: 0x2c = (unknown)
    Device code: 0x2d = (unknown)
    Device code: 0x2e = (unknown)
    Device code: 0x2f = (unknown)
    Device code: 0x30 = AT90S4433
    Device code: 0x31 = (unknown)
    Device code: 0x32 = (unknown)
    Device code: 0x33 = (unknown)
    Device code: 0x34 = AT90S2333
    Device code: 0x35 = (unknown)
    Device code: 0x36 = (unknown)
    Device code: 0x37 = (unknown)
    Device code: 0x38 = AT90S8515
    Device code: 0x39 = (unknown)
    Device code: 0x3a = ATMEGA8515
    Device code: 0x3b = (unknown)
    Device code: 0x3c = (unknown)
    Device code: 0x3d = (unknown)
    Device code: 0x3e = (unknown)
    Device code: 0x3f = (unknown)
    Device code: 0x40 = (unknown)
    Device code: 0x41 = ATMEGA103
    Device code: 0x42 = (unknown)
    Device code: 0x43 = ATMEGA128
    Device code: 0x44 = (unknown)
    Device code: 0x45 = ATMEGA64
    Device code: 0x46 = (unknown)
    Device code: 0x47 = (unknown)
    Device code: 0x48 = (unknown)
    Device code: 0x49 = (unknown)
    Device code: 0x4a = (unknown)
    Device code: 0x4b = (unknown)
    Device code: 0x4c = AT90S2343
    Device code: 0x4d = (unknown)
    Device code: 0x4e = (unknown)
    Device code: 0x4f = (unknown)
    Device code: 0x50 = (unknown)
    Device code: 0x51 = (unknown)
    Device code: 0x52 = (unknown)
    Device code: 0x53 = (unknown)
    Device code: 0x54 = (unknown)
    Device code: 0x55 = ATtiny12
    Device code: 0x56 = ATtiny15
    Device code: 0x57 = (unknown)
    Device code: 0x58 = (unknown)
    Device code: 0x59 = (unknown)
    Device code: 0x5a = (unknown)
    Device code: 0x5b = (unknown)
    Device code: 0x5c = (unknown)
    Device code: 0x5d = (unknown)
    Device code: 0x5e = ATtiny2313
    Device code: 0x5f = (unknown)
    Device code: 0x60 = ATMEGA161
    Device code: 0x61 = (unknown)
    Device code: 0x62 = (unknown)
    Device code: 0x63 = ATMEGA162
    Device code: 0x64 = ATMEGA163
    Device code: 0x65 = (unknown)
    Device code: 0x66 = (unknown)
    Device code: 0x67 = (unknown)
    Device code: 0x68 = AT90S8535
    Device code: 0x69 = ATMEGA8535
    Device code: 0x6a = (unknown)
    Device code: 0x6b = (unknown)
    Device code: 0x6c = AT90S4434
    Device code: 0x6d = (unknown)
    Device code: 0x6e = (unknown)
    Device code: 0x6f = (unknown)
    Device code: 0x70 = (unknown)
    Device code: 0x71 = (unknown)
    Device code: 0x72 = ATMEGA32
    Device code: 0x73 = (unknown)
    Device code: 0x74 = ATMEGA6450
    Device code: 0x75 = ATMEGA6490
    Device code: 0x76 = ATMEGA8
    Device code: 0x77 = (unknown)
    Device code: 0x78 = ATMEGA169
    Device code: 0x79 = (unknown)
    Device code: 0x7a = (unknown)
    Device code: 0x7b = (unknown)
    Device code: 0x7c = (unknown)
    Device code: 0x7d = (unknown)
    Device code: 0x7e = (unknown)
    Device code: 0x7f = (unknown)

avrdude: error: selected device is not supported by programmer: m48
make.exe: *** [program] Error 1

> Process Exit Code: 2
> Time Taken: 00:02




Der ATMEGA48 ist hier nicht vorhanden. Auf dem AVR Board steht V2.07

In der Konsolenmeldung steht: Hardware Version = 2.0

Aber daran wirds wohl nicht liegen. Ob ich einen anderen Makefile 
brauche? Hast du einen dieser µC mal verwendet?
#1185341
Lesenswert?

Thomas D wrote:
> Hier die komplette Ausgabe der Konsole:
>
> Aber daran wirds wohl nicht liegen. Ob ich einen anderen Makefile
> brauche? Hast du einen dieser µC mal verwendet?

ich hab mit dem mySmartUSB MK2 bis jetzt ATmega8, ATmega32 und 
ATmega644P programmiert..wie meine Ausgabe dabei aussieht, werde ich dir 
allerdings erst morgen sagen können, weil ich meine Sachen nicht hier 
habe
#1186065
Lesenswert?

also bei mir sieht es so aus:

avrdude -p atmega644p -P com1 -c avr910    -U flash:w:teststand3.hex

Found programmer: Id = "AVR ISP"; type = S
    Software Version = 2.5; Hardware Version = 2.0
Programmer supports auto addr increment.

Programmer supports the following devices:
    Device code: 0x01 = (unknown)
    Device code: 0x02 = (unknown)
    Device code: 0x03 = (unknown)
    Device code: 0x04 = (unknown)
    Device code: 0x05 = (unknown)
    Device code: 0x06 = (unknown)
    Device code: 0x07 = (unknown)
    Device code: 0x08 = (unknown)
    Device code: 0x09 = (unknown)
    Device code: 0x0a = (unknown)
    Device code: 0x0b = (unknown)
    Device code: 0x0c = (unknown)
    Device code: 0x0d = (unknown)
    Device code: 0x0e = (unknown)
    Device code: 0x0f = (unknown)
    Device code: 0x10 = (unknown)
    Device code: 0x11 = (unknown)
    Device code: 0x12 = (unknown)
    Device code: 0x13 = AT90S1200
    Device code: 0x14 = (unknown)
    Device code: 0x15 = (unknown)
    Device code: 0x16 = (unknown)
    Device code: 0x17 = (unknown)
    Device code: 0x18 = (unknown)
    Device code: 0x19 = (unknown)
    Device code: 0x1a = (unknown)
    Device code: 0x1b = (unknown)
    Device code: 0x1c = (unknown)
    Device code: 0x1d = (unknown)
    Device code: 0x1e = (unknown)
    Device code: 0x1f = (unknown)
    Device code: 0x20 = ATtiny84
    Device code: 0x21 = (unknown)
    Device code: 0x22 = (unknown)
    Device code: 0x23 = (unknown)
    Device code: 0x24 = (unknown)
    Device code: 0x25 = (unknown)
    Device code: 0x26 = (unknown)
    Device code: 0x27 = (unknown)
    Device code: 0x28 = AT90S4414
    Device code: 0x29 = (unknown)
    Device code: 0x2a = (unknown)
    Device code: 0x2b = (unknown)
    Device code: 0x2c = (unknown)
    Device code: 0x2d = (unknown)
    Device code: 0x2e = (unknown)
    Device code: 0x2f = (unknown)
    Device code: 0x30 = AT90S4433
    Device code: 0x31 = (unknown)
    Device code: 0x32 = (unknown)
    Device code: 0x33 = (unknown)
    Device code: 0x34 = AT90S2333
    Device code: 0x35 = (unknown)
    Device code: 0x36 = (unknown)
    Device code: 0x37 = (unknown)
    Device code: 0x38 = AT90S8515
    Device code: 0x39 = (unknown)
    Device code: 0x3a = ATMEGA8515
    Device code: 0x3b = (unknown)
    Device code: 0x3c = (unknown)
    Device code: 0x3d = (unknown)
    Device code: 0x3e = (unknown)
    Device code: 0x3f = (unknown)
    Device code: 0x40 = (unknown)
    Device code: 0x41 = ATMEGA103
    Device code: 0x42 = (unknown)
    Device code: 0x43 = ATMEGA128
    Device code: 0x44 = (unknown)
    Device code: 0x45 = ATMEGA64
    Device code: 0x46 = (unknown)
    Device code: 0x47 = (unknown)
    Device code: 0x48 = (unknown)
    Device code: 0x49 = (unknown)
    Device code: 0x4a = (unknown)
    Device code: 0x4b = (unknown)
    Device code: 0x4c = AT90S2343
    Device code: 0x4d = (unknown)
    Device code: 0x4e = (unknown)
    Device code: 0x4f = (unknown)
    Device code: 0x50 = (unknown)
    Device code: 0x51 = (unknown)
    Device code: 0x52 = (unknown)
    Device code: 0x53 = (unknown)
    Device code: 0x54 = (unknown)
    Device code: 0x55 = ATtiny12
    Device code: 0x56 = ATtiny15
    Device code: 0x57 = (unknown)
    Device code: 0x58 = (unknown)
    Device code: 0x59 = (unknown)
    Device code: 0x5a = (unknown)
    Device code: 0x5b = (unknown)
    Device code: 0x5c = (unknown)
    Device code: 0x5d = (unknown)
    Device code: 0x5e = ATtiny2313
    Device code: 0x5f = (unknown)
    Device code: 0x60 = ATMEGA161
    Device code: 0x61 = (unknown)
    Device code: 0x62 = (unknown)
    Device code: 0x63 = ATMEGA162
    Device code: 0x64 = ATMEGA163
    Device code: 0x65 = (unknown)
    Device code: 0x66 = (unknown)
    Device code: 0x67 = (unknown)
    Device code: 0x68 = AT90S8535
    Device code: 0x69 = ATMEGA8535
    Device code: 0x6a = (unknown)
    Device code: 0x6b = (unknown)
    Device code: 0x6c = AT90S4434
    Device code: 0x6d = (unknown)
    Device code: 0x6e = (unknown)
    Device code: 0x6f = (unknown)
    Device code: 0x70 = (unknown)
    Device code: 0x71 = (unknown)
    Device code: 0x72 = ATMEGA32
    Device code: 0x73 = (unknown)
    Device code: 0x74 = ATMEGA6450
    Device code: 0x75 = ATMEGA6490
    Device code: 0x76 = ATMEGA8
    Device code: 0x77 = (unknown)
    Device code: 0x78 = ATMEGA169
    Device code: 0x79 = (unknown)
    Device code: 0x7a = (unknown)
    Device code: 0x7b = (unknown)
    Device code: 0x7c = (unknown)
    Device code: 0x7d = (unknown)
    Device code: 0x7e = (unknown)
    Device code: 0x7f = (unknown)

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.05s

avrdude: Device signature = 0x1e960a
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be 
performed



der Mega644p wird also erkannt, obwohl er nicht in der Liste steht...auf 
dem myAVR-Programmer steht bei mir:

mySmartUSB
V2.11
#1186381
Lesenswert?

Thomas D wrote:
> Ahh, habs schon gecheckt.

nur um sicher zugehen:
den Mega8 habe ich auf dem myAVR-Board programmiert, in dem das USB-Teil 
dabei dort eingesteckt war, Mega32 und Mega644u auf meiner selber 
designten Platine und dem RN-Controlboard mittels des 10poligen Steckers 
auf dem Programmer

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren