Hallo zusammen, ich möchte an meinen ATmega16 ein 1.8 TFT anschliessen. Es existieren viele unterschiedliche Typen oder Baureihen des Displays und fast alle Beispiele beziehen sich auf den Arduino. Ich habe das TFT, wie auf den Bild zu sehen ist. Dazu habe ich auch eine Anschlussbeschreibung für ein ATMEGA328 gefunden. RST -> RST pin 1 ATMEGA328p (through 1Kohm) CS -> SS pin16 ATMEGA328p (through 1Kohm) D/C -> MISO pin 18 ATMEGA328p (through 1Kohm) DIN -> MOSI pin 17 ATMEGA328p (through 1Kohm) CLK -> SCK pin 19 ATMEGA328p (through 1Kohm) VCC -> 5v BL -> 5v (through 470ohm) GND ->GND Mein Problem ist folgendes: Ich nutze den Diamond PROG-S2 zum Aufspielen des Codes. Dieser ist neben MOSI/MISO und der Clock an RESET vom µC angeschlossen. Ist es korrekt, dass der PROG-S2 den REST vom µC auf Low zieht und dann das Programm überträgt? Wenn jetzt das Display hinzukommt, habe ich dann einen weiteren Slave, der an MOSI/MISO und der Clock drankommt. Laut SPI Verbindungsbeispielen wird aber bei Slaves noch der "SS" Pin benutzt. Das TFT könnte ich also da anschliessen und der PROG-S2 bleibt an RESET? Kann man dann den PROG-S2 sozusagen als "höchst priorisierten" Slave betrachten, da dieser ja den Controller resettet?
Gerd schrieb: > D/C -> MISO pin 18 ATMEGA328p (through 1Kohm) Das ist eine ungünstige Belegung. Wenn du das Hardware SPI (USART) des Mega benutzt, werden die SPI Pins per Hardware besetzt und der MISO Pin ist nicht mehr frei für die Data/Command Umschaltung. Das gilt ebenso für den Mega16 wie für den Mega328. Gerd schrieb: > Laut SPI Verbindungsbeispielen wird aber bei Slaves noch der "SS" Pin > benutzt. Jo, das entspricht bei deinem Display dem CS Pin. Jedes Device auf dem SPI Bus bekommt so ein Select Signal vom Master und fühlt sich erst dann angesprochen. Du solltest also lediglich per Pullup dafür sorgen, das auch im Resetzustand kein SPI Device aktiv ist und nur der MC auf dem Bus liegt zur Programmierung.
Vielen Dank für Deine Antwort. Letzteres macht Sinn, vielen Dank! Was ich leider gar nicht verstanden habe ist folgendes: Matthias S. schrieb: > Gerd schrieb: >> D/C -> MISO pin 18 ATMEGA328p (through 1Kohm) > > Das ist eine ungünstige Belegung. Wenn du das Hardware SPI (USART) des > Mega benutzt, werden die SPI Pins per Hardware besetzt und der MISO Pin > ist nicht mehr frei für die Data/Command Umschaltung. Das gilt ebenso > für den Mega16 wie für den Mega328. USART möchte ich nicht benutzen, aber wie wäre das denn dann anders zu machen? Ich meine der MISO Pin am Atmega ist ja als solcher festgelegt oder nicht? Eine andere Unklarheit habe ich noch im Bezug auf die ISP Programmierung, die ja auch über SPI funktioniert. Ist das eine festgelegte Verschaltung, dass der µC im RESET-Fall einfach immer zum Slave wird? Weil im Programmierfall ja der PROG-S2 der Master und µC der Slave ist!?
Gerd schrieb: > USART möchte ich nicht benutzen, aber wie wäre das denn dann anders zu > machen? Möchtest du denn die Hardware SPI Unterstützung des AVR benutzen oder alles per Bitbanging machen? Im letzteren Fall kannst du die Pins belegen wie du möchtest und bist auch nicht auf Mosi usw. festgelegt. Aber die Hardware SPI belegt beim Aktivieren des SPI Interfaces MOSI, MISO und SCLK und damit ist die GPIO Benutzung dieser Pins nicht mehr möglich. Gerd schrieb: > Ist das eine > festgelegte Verschaltung, dass der µC im RESET-Fall einfach immer zum > Slave wird? Nicht im Reset Fall, aber im Programmiermodus.
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.