Geschätztes Forum, ein kleines Assembler-Beispiel, wie ein LCD und ein PCF8574 per TWI / I2C initialisiert bzw.angesteuert werden kann. Die vielen LEDs am SLAVE-Display dienten nur zu Versuchszwecken... schaut aber gut aus, dieses lustige gezappel :-) TASTE-A: Der Master scannt den kompletten I2C-BUS und zeigt die vorhandenen Slaves an. TASTE-B: Das externe Slave-Display am PCF8574 wird initialisiert. (in diesm Beispiel wurde ein 4x16 Display verwendet, bein Bedarf muss die Initialisierungsroutine "MASTER_LCD_EXT.asm" entsprechend angepasst werden). TASTE-C: Ein TEXT wird zum externen Display gesendet. TASTE-D: Der PIN-Zustand des PCF8574 wird ausgelesen und angezeigt. Bernhard
Hallo Bernhard! Ein sehr interessantes Projekt. Da ich mich gerade mit Anzeigen und TWI beschäftige, habe ich ihre Schaltung aufgebaut und das Programm 1:1 in den Mega8 geflasht. Den Mega8 betreibe ich mit Ext.Oszillator 16 MHz...und das funktioniert auch, der Mega wird mit AVR Studio 5.1 bearbeitet. Dazu muss ich sagen dass ich ein Asm-Anfänger bin und außer ein paar kleineren Projekten keine großartige ASM-Erfahrung mitbringe. Zu meinem Problem: Die Schaltung zeigt nach dem Einschalten keinerlei Reaktionen...weder LED noch LCD. Das LCD zeigt nur die üblichen Balken...also wird nicht inizialisiert. Mit dem Debugger komme ich nicht über "rcall NEUSTART_MIT_WDR" hinaus. Nach 3 Tagen verzweifelter Suche habe ich mich für diesen Schritt entschlossen ob mir vielleicht sie oder einer der vielen Profis im Web mit einem Tip weiter helfen könntet. Derzeit stehe ich total an! Im voraus vielen Dank!
Habe vergessen: LCD ist das BlueLine Dotmatrix EA W164B-NLW
>Die Schaltung zeigt nach dem Einschalten keinerlei >Reaktionen...weder LED noch... Die LEDs am Master müssen nach einem Reset kurzzeitig leuchten. Die entspechenden PINS werden nach Programmstart auf Ausgang geschaltet und anschließend kurzzeitig gegen LOW. Bernhard
Danke für die rasche Antwort. Nein...LED leuchtet nicht auf...eventuell zu kurz. Werde mir das am Speicherscope ansehen! Ich melde mich später!
Hallo Bernhard! Also ich habe mir die LED-Pins am Speicherscope angeschaut ausser einem Mini-Einschaltpuls mit 400 mV ist da nichts! -Alle Verbindungen habe ich nochmals gemessen (auf sicheren Kontakt)...ok -Externe CLK an Xtal1 schwingt sauber mit 2,44Vss Hochohmig gemessen an den Pins: -alle auf 5,01V außer -Enable 4,12v -alle drei LED's 4,3V -Taster A,B,C,D 4,12V Pullup R an den Tasterleitungen sind wahrscheinlich nicht geplant oder erforderlich..?! Meine Schaltung sende ich zur Einsicht mit...Denkfehler, welche man selber immer wieder überliest sind immer möglich. Einzige Änderung zur gesendeten Schaltung ist die externe 16 MHz CLK. Ich finde einfach keinen Ansatzpunkt mehr für weitere Untersuchungen. Ich danke für ihre Mühe
C3 ist wohl ein Restbetsand von C1 und C2, hier aber völlig unsinnig. Ersetze ihn durch 47 µF parallel mit 100 nF. Vermutlich wird die Schaltung aber immer noch nicht funktionieren.
Danke, völlig richtig. Habe ich aber gelassen da C4 und C6 ohnedies unmittelbar parallel daneben angeordnet sind.
Hallo ! In der Sequenz in Modul "Master_LCD_INI.asm" Zeile 279 habe ich das, nach meiner Meinung fehlende "rcall LCD_COMMAND" eingefügt: vorher: ldi temp, 0b00000001 ; DISPLAY löschen rcall LCD_COMMAND ldi temp, 0b00001111 ; DISPLAY ein / CURSOR blinken ldi temp, 0b00001100 ; CURSOR aus rcall LCD_COMMAND ldi temp, 0b00000110 ; Cursor Auto-Increment rcall LCD_COMMAND jetzt: ldi temp, 0b00000001 ; DISPLAY löschen rcall LCD_COMMAND ldi temp, 0b00001111 ; DISPLAY ein / CURSOR blinken rcall LCD_COMMAND ldi temp, 0b00001100 ; CURSOR aus rcall LCD_COMMAND ldi temp, 0b00000110 ; Cursor Auto-Increment rcall LCD_COMMAND Leider hat das nichts geändert, Programm hängt nach wie vor.
Flash mal bitte die original "MASTER.hex" aus der "2014-09-01_ASSEMBLER_OK.zip". Ist der richtige µC in Deinem Programmer eingestellt?
Hallo Bernhard! Danke für den Tip! Das war's!!! Offensichtlich ist da was beim Unzip (RAR) passiert...keine Ahnung wie das Zustande gekommen ist...aber das hat mich nahezu eine Woche lang die Abende gekostet! Ich habe die Moduls jetzt einzeln verglichen, aber in der Geschwindigkeit habe ich den Kopier-Fehler noch nicht entdeckt. Die LED's und die Tasten tun jetzt was sie machen sollen. Mit dem LCD muss ich mich noch auseinandersetzen, denn da mangelt es noch an der Config....aber dafür reichen meine ASM-Kentnisse und das LCD-Manual schon aus. Nochmals vielen Dank für deine Mühe! Ich wünsche dir alles Gute! K.T.
Schnittstelle schrieb: > Ich habe die Moduls jetzt einzeln verglichen, aber in > der Geschwindigkeit habe ich den Kopier-Fehler noch nicht entdeckt. Dann probiere es doch mal mit WinMerge. Das findet den Unterschied zuverlässig und schnell. http://winmerge.org/
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.