Ich möchte einen Nummernblock (10 Taster) mit einem XC9536 CPLD abfragen und die gedrückte Zahl binär ausgeben. Dabei soll bei jedem Tastendruck ein Interrupt erzeugt werden. Das funktioniert. Jetzt habe ich noch 4 weitere Taster (zum Einstellen von Dingen) die ebenfalls den Interrupt erzeugen sollen. Signallaufzeiten sind mir nicht wichtig und eine CLOCK soll möglichst nicht verwendet werden. Wenn ich den Source so wie er im Anhang steht synthetisiere funktioniert der Teil mit dem Nummernblock und Interrupt. Wenn ich den auskommentierten Block für die Einstelltaster dazunehme wird kein Interrupt mehr generiert. Bin selbst mit so einfachen Dingen überfordert. Warum geht das nicht ?
Probiere mal eine defaultzuweisung "when others" wie unten angegeben. Dann sollte es funktionieren. Ansonsten kann ich absolut keine Fehler finden. EINSTINT <= '0' when EINSTELL = "0000" else '1' when EINSTELL = "0001" else '1' when EINSTELL = "0010" else '1' when EINSTELL = "0100" else '1' when EINSTELL = "1000" else '0' when others ;
Habe das versucht (siehe Anhang). Das others Schlüsselwort benötigt allerdings die with select Anweisung. Funktioniert auch nicht, d.h. die Einstelltasten lösen jetzt einen Interrupt aus, aber die Nummernblocktasten nicht.
*** FEHLER GEFUNDEN ! *** Hatte einen Portpin vom uC am Eingang des CPLD als Ausgang definiert, damit wurden ständig Interrupts ausgelöst. War also ein Fehler im Programm des uC und nicht im CPLD ! Danke für die Hilfe !
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.