Ich habe einen ATmega8 mit einem Nokia LCD 5510 angeschlossen. Auf einem Steckbrett funktioniert alles hervorragend, und mein nächster Schritt besteht darin, es auf ein dauerhafteres Brett zu verschieben. Mein Problem ist, dass ich den ATmega8 nicht programmieren kann, während das LCD ebenfalls angeschlossen ist. Ich gehe davon aus, dass sie dieselben SPI- Pins verwenden und dass das LCD die Programmierung irgendwie stört. Wie kann ich das anders machen, damit ich den ATmega über den ISP flashen kann, ohne das LCD abzuziehen?
8
Antworten:
Sie müssen verhindern, dass andere Geräte während der Programmierung die SPI-Leitungen ansteuern.
Um Treiberkonflikte zu vermeiden, sollte an jeder der drei dedizierten Leitungen ein Vorwiderstand angebracht werden, wenn die Möglichkeit besteht, dass externe Leitungen diese Leitungen ansteuern.
Schauen Sie sich den Anwendungshinweis AVR910 an.
Daher ist es am besten, wenn die Rücksetzleitungen des ATMEGA und des Displays funktional verbunden sind, um zu verhindern, dass das Display etwas tut, während der Programmierer das Zurücksetzen hält.
quelle
Eine andere Lösung besteht darin , den Bildschirm während der Programmierung zu deaktivieren .
Der Bildschirm ist aktiv, wenn der CS-Pin (Chip Select) niedrig ist (0 V). Wenn Sie einen 10-kR-Pull-up-Widerstand zwischen den CS-Pin und 3V3 legen , ist dieser standardmäßig deaktiviert / hoch. Um dies zu aktivieren, verbinden Sie den CS-Pin mit einem Ausgang Ihres Mikrocontrollers und stellen Sie diesen Ausgang auf niedrig (0 V). Ich habe das bei einem meiner Projekte gemacht und es funktioniert gut.
Der Bildschirm wird mit 3,3 V betrieben. Wenn Ihr Mikrocontroller mit 5 V betrieben wird, müssen Sie einen Spannungsteiler hinzufügen.
quelle