PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD mit Portexpander



davebastard
07.06.2007, 20:04
Hab die Schaltung wie im RN-Wissen Bereich aufgebaut. Leider bekomm ich nur einen schwarzen balken in der unteren zeile des displays. Da ich andere portpins verwenden wollte hab ich die i2cmaster.S (von P.Fleury) Datei umgendert. Vielleicht liegt da der Fehler.Muss ich die portpins noch in einer anderen Datei ndern ? Am Display ndert sich nichts d.h. ich seh nur den schwarzen balken.

uwegw
07.06.2007, 20:15
Tut sich denn berhaupt was an den Ausgngen des Expanders?

vklaffehn
07.06.2007, 21:30
Moin,
wie sprichst Du das Display denn an? Ich hab' nmlich fr den GCC bisher keine Bibliothek gefunden, die ber einen Portexpander funktioniert...

MfG Volker

davebastard
07.06.2007, 21:38
Die ausgnge sind auf high. msste sich nicht auch an SDA und SCL was tun wenns funktioniert ? Die liegen nmich beide auf low.

hier die bibliothek
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=22643&highlight=i2clcd

vklaffehn
07.06.2007, 21:41
Hast Du an Sda und Scl einen Pullup-Widerstand? So ca. 4,7 KOhm gegen 5V.... Im Ruhezustand sollten die Leitungen nmlich High sein

MfG Volker

davebastard
07.06.2007, 22:35
nein, ich hab die pullups jetzt angeltet jetzt hab ich ein high anliegen.
Allerdings gehts trotzdem nicht :-k
ich glaub eher dass der fehler irgendwo an der software liegt.Ich hab aber eigentlich nicht viel daran gendert. Ist praktisch nur das beispielprogramm.

vklaffehn
07.06.2007, 22:42
Aber?

Und?

Ich habe mir eine kleine Testroutine geschrieben, die den I2C-Bus scannt und die gefundenen Devices ausgibt:

Benutzt habe ich die I2C und die UART Lib von P.Fleury


void scan_i2c()
{
unsigned char adr;
char buffer[7];

for (adr=1;adr<127;adr++)
{
if (i2c_start((adr<<1))==0)
{
itoa( (adr<<1), buffer, 10);
uart_puts(buffer);
}
}
}

davebastard
14.06.2007, 17:55
so, hab heute endlich mal zeit gehabt weiterzumachen, hab jetzt das uart aufgebaut. Verbindungstechnisch verwend ich eine myavr USB to UART bridge (wegen dem laptop).Leider bekomm ich mit dem testfile von p.fleury nur falsche ascii codes:


~:X[{|z[zzXz;x޾[zzXx;xޝZ~:X[y~:X[{|z[xzXz;x޾[
xzXz;xޝZ~:X[{~:X[{|z[xzXz;x޾YzzXz;xޝZz:X[z{~:X[y|z
[xzXx;x޾[xzXz;xޝZ~:X[y~:X[{|z[zzXx;xھ[zzXz;xޝZ~:X[{~:
X[z{|

hab im c-file als auch im Hyperterminal die baudrate auf 9600 8N1 gestellt, keine Flusssteuerung.Im Gertemanager hab ich ebenfalls 9600 eingestellt.
Fehlt sonst noch was ? muss ich im makefile was angeben ?

vklaffehn
14.06.2007, 19:34
Soweit ich wei, mu irgendwo die richtige CPU-Frequenz stehen, ich hab bisher nie in so ein Makefile reingeschaut, das erledigt alles AVR-Studio fr mich ;-)
Zeig doch mal Dein Programm.
MfG Volker

davebastard
14.06.2007, 20:19
das hatte ich mir auch schon gedacht. Aber die Frequenz ist eh eingestellt. Was kostet avr-studio ? ich bin nmlich mit devcpp nicht ganz zufrieden und berlege ob ich mir eine gscheite IDE kaufen soll.

davebastard
14.06.2007, 20:56
hier mal meine dateien:

vklaffehn
15.06.2007, 19:00
avr-studio ist die kostenlose IDE von atmel, die praktischerweise auch den Windows-Port von AVR-GCC nmlich WinAVR. Wichtig: Erst WinAVR installieren und dann AVR-Studio.
MfG Volker