Hi, ich habe folgendes Ic als Schieberegister : http://www.conrad.de/ce/de/product/155762/LOGIK-IC-M74HC595B1R-STM Damit wollte ich das Programm aus dem AVR-Tutorial zum Thema Scheiberegister ausprobieren: http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Ansteuerung_per_SPI-Modul Ich hab das Programm in dem µC geschrieben und die Schaltung so aufgebaut. Trotzdem sind, unabhängig vom einprogrammierten Wert, alle Outputpins des Schiebregisters auf Low geschaltet. Ich hab schon bestimmt hundert mal die Schaltung kontrolliert und kann mir nicht erklären warum es nicht funktioniert.
Assault schrieb: > http://www.mikrocontroller.net/articles/AVR-Tutori... > Ich hab das Programm in dem µC geschrieben und die Schaltung so > aufgebaut. Die Versorgungsspannung für den HC595 fehlt im Schaltbild. Pin20 +5 und Pin10 GND (glaub).
Jürgen schrieb: > Assault schrieb: >> http://www.mikrocontroller.net/articles/AVR-Tutori... >> Ich hab das Programm in dem µC geschrieben und die Schaltung so >> aufgebaut. > > Die Versorgungsspannung für den HC595 fehlt im Schaltbild. Pin20 +5 und > Pin10 GND (glaub). Das hatte ich berücksichtigt. Pin8 an GND und Pin16 an Vcc.
Assault schrieb: > http://www.conrad.de/ce/de/product/155762/LOGIK-IC... Ach du Sch... Jürgen schrieb: > Die Versorgungsspannung für den HC595 fehlt im Schaltbild. Pin20 +5 und > Pin10 GND (glaub). Der hat nur 16 Pins. Also 8(GND) und 16(Vcc). mfg. @Jürgen Nächstes Mal bin ich schneller.
HolladiePolla schrieb: > Schaltung ? > oder Glaskugel Oder Brille ? Assault schrieb: > Damit wollte ich das Programm aus dem AVR-Tutorial zum Thema > Scheiberegister ausprobieren: > http://www.mikrocontroller.net/articles/AVR-Tutori... Hast du schon die Softwareversion ausprobiert ?
Ja Hab ich nun auf der Nase :-) Aber ich habe mich auch mit dem Schieberegister rumgequält
Jürgen schrieb: > HolladiePolla schrieb: >> Schaltung ? >> oder Glaskugel > Oder Brille ? > > Assault schrieb: >> Damit wollte ich das Programm aus dem AVR-Tutorial zum Thema >> Scheiberegister ausprobieren: >> http://www.mikrocontroller.net/articles/AVR-Tutori... > > > Hast du schon die Softwareversion ausprobiert ? Seltsam, die funktioniert absolut problemlos??
Wodrann kann denn das liegen? Ist vielleicht ein Fehler im Programm oder in der Schaltung?
Assault schrieb: > Wodrann kann denn das liegen? Ist vielleicht ein Fehler im Programm oder > in der Schaltung? Kaum. Eher falsch abgetippt. Oder Copy-and-Paste-Fehler. Ist damit nicht schonmal einer auf die Schnauze geflogen? Nimm' dir das Datenblatt und programmier das. Das ist in C ein Dreizeiler. mfg.
Hi Ich benutze die Funktion von hier http://www.rn-wissen.de/index.php/Portexpander_am_AVR ohne SPI Hardware. Aber gebe meinem Vorschreiber recht mit "Nimm' dir das Datenblatt und programmier das. Das ist in C ein Dreizeiler." Grüße
Es bleiben auch noch die Grundsatzfragen: - läuft der µC? d.h.: - Fuses? - Takt? - Versorgungsspannung? - mit einfachem Programm eine LED toggeln? Gruß Dietrich
Hallo,
1 | AVR-Assembler-Code |
2 | SchiebeOut: |
3 | sbis SPSR, SPIF ; prüfe ob eine alte Übertragung beendet ist |
4 | rjmp SchiebeOut |
5 | sbi SCHIEBE_PORT, RCK |
6 | cbi SCHIEBE_PORT, RCK |
7 | |
8 | > sbi SCHIEBE_PORT, RCK |
9 | |
10 | |
11 | ret |
Füge mal zum Test eine steigende Flanke hinzu.
Jupp, müsste ein Bug sein. laut Warheitstabelle im Datenblatt übernehmen die Latches mit einer steigenden Flanke das Schieberegister.
Der µC funktioniert (die Software-Lösung klappt ja problemlos). Die beiden vorgeschlagenen Änderungen im Programm bringen allerdings keine Lösung. Die Pins sind immernoch alle auf Low. Ist vlt die Beschaltung falsch? http://www.mikrocontroller.net/articles/Datei:Mega8-595-SPI.png
Alsoooo: Ich habe den Fehler gefunden, er liegt nicht im Programm, das funktioniert auch ohne die Änderungen. Der Fehler liegt in der Beschaltung, die Pins am AVR sind falsch (Angegeben ist zb Pin17 als SCK; SCK ist aber Pin19). http://www.mikrocontroller.net/wikifiles/a/a6/Mega8-595-SPI.png Man sollte das wohl im Artikel ändern, besser wäre wohl folgende Beschaltung : http://www.rn-wissen.de/index.php/Portexpander_am_AVR#Schaltplan
Assault schrieb: > er liegt nicht im Programm, das > funktioniert auch ohne die Änderungen. Sicher ? Schau mal ins Datenblatt Seite 2 http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=A240%252F74HC595%2523STM.pdf;SID=13T4mJP38AAAIAADjDbEo7869f99281d344f4705b035534e8139f Hier steht... RCK steigende Flanke: S.R. DATA IS STORED INTO STORAGE REGISTER RCK fallende Flanke: STORAGE REGISTER STATE IS NOT CHANGED Also muss erst "cbi SCHIEBE_PORT, RCK" und dann "sbi SCHIEBE_PORT, RCK" ins Programm. Da das Programm nur einen konstanten Wert übermittelt, klappt das trotzdem, aber erst nach dem 2. flashen des M8. Resette mal den hc595 und dann den Mega8 und schau was am Ausgang des 595 ankommt.
Assault schrieb: > Der Fehler liegt in der > Beschaltung, die Pins am AVR sind falsch (Angegeben ist zb Pin17 als > SCK; SCK ist aber Pin19). Da hat jemand DIL mit SMD verwechselt.
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.