Gast
#2125368
Hallo ich habe ein EA eDIPTFT43-ATP Display der Firma Electronic Assambly Ich möchte jetzt daten über RS-232 zu einem ATMEGA32 senden bzw. empfangen gibt es vll ein Tutorial oder ähnliches dafür ?
|
Anzeige
|
EA eDIPTFT43-ATP per RS-232 an Atmega32
Gast
#2125368
Hallo ich habe ein EA eDIPTFT43-ATP Display der Firma Electronic Assambly Ich möchte jetzt daten über RS-232 zu einem ATMEGA32 senden bzw. empfangen gibt es vll ein Tutorial oder ähnliches dafür ?
Gast
#2125419
Hi
>gibt es vll ein Tutorial oder ähnliches dafür ?
Datenblatt. An deiner Stelle würde ich erst mal einen RS232-Wandler
(DAtenblatt S.23) dranhängen und die ersten Versuche vom PC aus machen.
MfG Spess
Gast
#2125443
Geht ohne probleme direkt am µC. Einfach TX -> RX und RX -> TX verbinden und Befehle mit der Uart senden. Wichtig gleiche Bautrate einstellen.
Gast
#2125453
Hi >Geht ohne probleme direkt am µC. >Einfach TX -> RX und RX -> TX verbinden und Befehle mit der Uart senden. Das weiss ich. Ich schrieb aber PC . Mir ging es darum, das er die ersten Ansteuerversuche mit dem PC macht. Und wenn er es verstanden hat mit dem ATMega weiter macht. MfG Spess für den PC hab ich das USB-Board. Im Datenblatt steht als sende Beispiel:
Das hilft mir irgendwie nich ganz len = ist die Datenlänge ? bcc = ist die Prüfsumme? was ist DC1? Wo sind die eigentlichen Datenbytes? kann mir keiner weiterhelfen?
Gast
#2131600
Hallo Nimm ein beliebiges Terminalprogramm und sende im ASCii Format,ohne Small Protokoll. MfG
Gast
#2131673
hmmm ich möchte vom atmega ja keine ascii zeichen haben sondern bytes, denn die oberfläche soll auf dem controller vom tft laufen. vom atmega möchte ich nur infos bzw infos zum atmega senden
Gast
#2131721
natürlich , aber es kann damit alles einfach erst einmal getestet werden! vielleicht hilft das ,hatte mal einen primitiven Simulator gemacht. Ist schon länger her,aber über die Grundversuche nicht herausgekommen. Gruß
Gast
#2131898
juppi schrieb: > natürlich , aber es kann damit alles einfach erst einmal getestet > werden! da hast du natürlich recht vll. wird mir dann einiges klarer
Gast
#2132710
ist es überhaupt möglich ein programm über usb zu schreiben und zusätlich daten über die rs-232 schnittstelle zu empfangen? Hallo Ich spreche das Teil über COM oder USB to Seriell Adapter an. Mit meinem Primitivprogramm kann ich Strichgrafiken zeichnen und Buttons Positionieren. Befehle testen und senden. Kleine Versuche speichern. Für meine Zwecke reicht es. Ich glaube nicht das du USB Ansteuerung und RS232 gleichzeitig nutzen kannst. USB ist in diesem Falle auch nur ein USB to seriell Adapter,..oder MfG
Gast
#2132809
naja ich will es ja nur über usb programmieren und dann über rs232 daten empfangen. also wenn das programm einmal auf das ding geladen ist soll nur noch die rs232 angebunden sein Beim Testen nutze ich einen TxD/RxD Umschalter. Willst du den Controller mit dem TFT direkt Verbinden,ohne Max232?
Gast
#2133107
Hi
>Willst du den Controller mit dem TFT direkt Verbinden,ohne Max232?
Wie sonst?
Datenblatt:
'Die Leitungen RxD und TxD führen 5V CMOS-Pegel zur direkten Anbindung
an
z.B. einen Mikrokontoller.'
MfG Spess
spess53 schrieb: >>Willst du den Controller mit dem TFT direkt Verbinden,ohne Max232? > > > > Wie sonst? Bei mir ist das zu steuernte Gerät einige Meter entfernt. ..ob dann noch der 5V Pegel sicher ist? MfG
Gast
#2153078
Ich komme einfach nicht weiter, es passiert nix hier mal code:
Gast
#2153152
Hi >#define F_CPU 4000000UL >#define BAUD 115200UL Gibt einen Baudrate-Fehler von über 8% ! MfG Spess
Gast
#2153186
jetzt mit 9600 baud
Gast
#2153212
Hi Und was soll das bewirken? Die #-Befehle werden übrigens ohne das DC-Gedödel gesendet. MfG Spess
Gast
#2153233
momentan möchte ich einfach nur ne zeichenkette aufm terminal ausgeben das wäre schomal etwas
Gast
#2153264
Schick dir erst an den PC, um deine AVR Routinen zu testen. Schick vom PC an das EDIP Als letztes dann AVR-EDIP.. Hallo Ich weiss nicht genau, wo die Unterschiede zu meinem eDIPTFT43-A liegen, aber Du kannst es sonst mal mit meinem Code versuchen. ACHTUNG: Die Library ist für einen Luminary Cortex-M3 und benutzt deren Library. Du musst alle UART... Befehle und die Include Statements auf den ATmega anpassen. Mein Display läuft am UART1 des Cortex-M3 mit 115200 Baud. Nun hast zu zwei Varianten, entweder Du arbeitest im sog. Terminalmode d.h. Du schreibst deinen Output einfach mit ediptft43_puts() an das Display. Oder Du verwendest die Grafikbefehle und plazierst deinen Text irgendwo auf dem Display. main():
oder über die Grafikbefehle:
Die Library ist noch sehr jung und unausgetestet. Sporadisch ändert sich der Font oder die Grösse, aber das liegt ev. am Rest meines Programs und nicht der Library ;-) Daniel
Gast
#2154358
Gast
#2159532
irgendwie bringt mich das auch nicht weiter....
Gast
#2159720
Hier nochmal der Code das Display befindet sich im Terminal Mode mit einer Baudrate von 115200 und das small Protokoll ist deaktiviert. Ich möchte nur ein a Ausgeben.
void USART_transmit (unsigned char data ) // Senden (Manual S. 149)
{
/* warte auf leeren Transmit-Puffer */
// while (! (UCSRA & (1<<UDRE))) // wartet ewig?
;
/* put date in the buffer, send the data */
UDR = data;
return;
}
Du scheinst ziemlich renitent gegenüber jedwelchen Vorschlägen zu sein. Hast Du Deine Schaltung (wie sieht die eigentlich aus ?) über einen Pegelwandler (max232 o.ä) auf die serielle Schnittstelle gehängt, und über ein Terminalprogram kontrolliert, ob der Code läuft ? Beim Code bin ich auch nicht so sicher. Verschachtelte Funktionen ( uart_init() innerhalb von USAR_init() ) finde ich nicht sehr übersichtlich. Bin nicht der C-Crack, aber mir ist das suspekt. Habe mal mein Display an einen ATMega128 gehängt. Einen ATMega32 habe ich nicht. Die Ports 17 und 8 am Display auf GND. Damit läuft das Ding mit 9600 Baud und ohne SmallProtocol. Mit 115200 ist es auch bei mir nicht gelaufen, mein 16Mhz erzeugt dabei wohl zuviel Abweichung. Für die UART Schnittstelle gibts die Library von Peter Fleury. Wenn das Ding mal läuft, kannst Du dir die Schnittstellenkonfiguration immer noch rauspullen, und ohne die Library arbeiten. Nach dem flashen erscheint bei mir auf dem Display:
Habe Dir die main.c und das Makefile für einen ATMega32 angepasst. Sollte so laufen.
Daniel Und hier noch der code..... F_CPU musst Du natürlich auch noch anpassen im main.c
Gast
#2161080
Danke! ich habe das problem mit das ich garnix versende habe dein programm mit baud 9600 jetzt so übernommen und das stk500 board an die com schnitstelle gehängt um per hyperterminal zu gucken ob ich was versende doch leider bekomme ich nix. mach ich da schonwieder etwas falsch? das sende vom hyperterminal zum display funktioniert aber schonmal.
Gast
#2161202
Also Ich hab ja einen Atmega8 mit 4Mhz Die Baudrate ist auf 9600 Dann ist am RS232 Spare vom Stk500 ein RS232 auf USB adapter dran und über Hyperterminal ruf ich den (com3) auf. nun sollte er mir das doch eigentlich auf dem Bildschirm auswerfen oder nicht?
Gast
#2161217
Hi >Also Ich hab ja einen Atmega8 mit 4Mhz Hoffentlich mit einem Quarz. >Dann ist am RS232 Spare vom Stk500 ein RS232 auf USB adapter dran und >über Hyperterminal ruf ich den (com3) auf. Und Spare auch am Controller (PD0/PD1) angeschlossen? MfG Spess
Gast
#2161218
oder benötige ich einen MAX232?
Gast
#2161224
spess53 schrieb: > Hi > >>Also Ich hab ja einen Atmega8 mit 4Mhz > > Hoffentlich mit einem Quarz. > ja >>Dann ist am RS232 Spare vom Stk500 ein RS232 auf USB adapter dran und >>über Hyperterminal ruf ich den (com3) auf. > > Und Spare auch am Controller (PD0/PD1) angeschlossen? > ja Meiner Meinung nach solltest Du auf STK500 alles haben was Du brauchst. Siehe: http://www.mikrocontroller.net/attachment/42741/STK500-HW-Beschreibung.pdf Seite 13. So solltest Du die Verbindung von deinem Processor auf die RS232 Schnittstelle auf dem STK500 aufsetzen.
Gast
#2164029
So da bin ich wieder... es funktioniert die Verbindung von STK500 zu PC (Hyperterminal) und es funktioniert die verbindung von PC (Hyperterminal) zum Display ich bekomme auf dem hyperterminal momentan #TV (Linefeed und Carriagereturn) a angezeit und wenn ich das so vom pc zum display sende zeigt er mir das die displayversion (Linefeed und Carriagereturn) und ein a an. nur wenn ich das display an den RS232 Spare vom STK500 hänge bekomme ich irgendwelche kryptischen zeichen. es funzt sowohl der code von Daniel B. (danke nochmal) als auch der hier:
Gast
#2164045
Hi >nur wenn ich das display an den RS232 Spare vom STK500 hänge bekomme ich >irgendwelche kryptischen zeichen. Das Display will TTL-Pegel keine RS232-Pegel! MfG Spess
Gast
#2164090
aber wenn ich von pc über rs232 sende geht es ja. liefert der denn nen TTL pegel? ich habe das display auch direkt an rxd txd vom atmega angeschlossen, das ging auch nicht. shibbyx schrieb: > aber wenn ich von pc über rs232 sende geht es ja. > > liefert der denn nen TTL pegel? Hast du einen usb to ser. Wandler am PC. Viele liefern 0/5 V. >ich habe das display auch direkt an rxd txd vom atmega angeschlossen, >das ging auch nicht. Das sollte aber gehen,wenn du Rx nicht auf Rx und Tx nicht auf Tx geschaltet hast.(5V Pegel)
Gast
#2164265
Juppi J. schrieb: > shibbyx schrieb: >> aber wenn ich von pc über rs232 sende geht es ja. >> >> liefert der denn nen TTL pegel? > > Hast du einen usb to ser. Wandler am PC. > Viele liefern 0/5 V. ja ich hab nen usb zu rs232 wandler dran >>ich habe das display auch direkt an rxd txd vom atmega angeschlossen, >>das ging auch nicht. > > Das sollte aber gehen,wenn du Rx nicht auf Rx und Tx nicht auf Tx > geschaltet hast.(5V Pegel) ne rx is auf tx und tx auf rx Und die Addressleitungen am Display hast Du entsprechend der Baudrate auf GND gezogen ? Für 2400 wären das dann Pin 7 und 8 auf GND, Pin 6 frei lassen, hat ja internen Pullup und ist damit High.
Gast
#2164396
ja pin 1 GND pin 2 5V pin 7 GND pin 8 GND pin 10 an TXD pin 11 an RXD pin 17 GND wenn ichs mit hyperterminal anspreche gehts ja komischerweise auch also... PC--Usb to seriell--->>>> rs232/seriell->EA-dip PC/Terminal-->Usb to seriell------------->>>>rs232/seriell-> Ea-dip ist das so? Arbeite doch erst einmal ohne Small-Protokoll!
Gast
#2164518
genau so ich hab doch pin 17 auf null dezogen also ist das small protokoll aus shibbyx schrieb: > und es funktioniert die verbindung von PC (Hyperterminal) zum Display sende mal Text ohne # vor dem Display ist doch der Max232?
Gast
#2169008
ja das hyperterminal-> display funzt! wenn ich da einfach nur ein T eingebe zeigt er mir auch ein T an Wenn ich vom STK500->Hyperterminal das T sende geht es auch nur Wenn ich von STK500-> Display T sende bekomme ich mal ne 5 oder ein S (unregelmäßig)
Gast
#2169009
Baudraten die ich ausprobiert habe sind 2400, 4800 und 9600 bei allen das selbe problem
Gast
#2177724
hat keiner mehr eine idee was ich versuchen könnte bzw. wo der fehler steckt ? ich verzweifel langsam !
Gast
#2182798
liefert der mikrocontroller über rxd txd eigentlich einen cmos pegel oder einen ttl pegel?
Gast
#2330679
Hi Der Mikrocontroller liefert über rxd txd TTL Pegel !! Gruß Thomas Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|