Nur einzelne Bytes/Ports ansprechen?

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
Spektakulum
Posts: 7
Joined: Sat Jul 30, 2005 7:33 pm

Nur einzelne Bytes/Ports ansprechen?

Post by Spektakulum »

Hallo,

ich hab hier so ein seltsames Problem mit meinen 7-Segment Treibern M74HC4511 - vermutlich liegt es daran, daß ich ja zumindest mit dem einfachen VB6-Beispiel immer alle 4 Ports bzw. Bytes beschreiben muß.

Ich suche jetzt eine Lösung, daß ich nur bestimmte Bits im zweiten Port setzen kann, also die Ausgängen 1.0 bis 1.7, ohne 0.0-0.7 zu verändern.

Geht das irgendwie?

Elektronischer Hintergrund ist, daß ich die vier BCD-Datenleitungen alle parallel auf 0.x liegen habe, und die STORE-Leitungen der einzelnen Segmenttreiber auf 1.x liegen.
supachris
Posts: 124
Joined: Tue Mar 16, 2004 12:30 am
Location: Dresden

Post by supachris »

Es gehen immer nur alle Ports gleichzeitig zu beschreiben. Du musst die jeweils anderen dann zurück lesen und mit den zu schreibenden logisch verknüpfen.
Gruß SupaChris
Spektakulum
Posts: 7
Joined: Sat Jul 30, 2005 7:33 pm

Post by Spektakulum »

Danke, ich löte erstmal die STORE-Leitungen um, daß die zuerst geschrieben werden (->0.x)
Vielleicht reagieren diese Bausteine tatsächlich so schnell, ansonsten programmiere ich das wie vorgeschlagen! :)
supachris
Posts: 124
Joined: Tue Mar 16, 2004 12:30 am
Location: Dresden

Post by supachris »

Wo steht denn, dass der Port 0 als erstes geschrieben wird? Klar wird da nen minimaler Zeitversatz drin sein, aber ich nehme ma an der Core des CY da arbeitet mit 24MHz, und so nen Ausgabebefehl wird nich allzu lange dauern....
Außerdem weiß wohl nur Code Mercs, in welcher Reihenfolge die Ports beschrieben werden.

Und eine saubere Programmierung wäre sowas ja auch nich ;)
Gruß SupaChris
Spektakulum
Posts: 7
Joined: Sat Jul 30, 2005 7:33 pm

Post by Spektakulum »

Also die Reihenfolge, in der die Ports geschrieben wird, steht tatsächlich im Datenblatt, ca. 5 µs!

Hab eine programmtechnische Lösung gefunden, setze jetzt als Zwischenschritt immer die Ports für die STORE-Leitungen meiner BCD-Treiber-ICs auf High und geb erst im nächsten Schritt die betroffene STORE-Leitung frei. Funktioniert super, und ich brauch auch nicht vorher den aktuellen Status auslesen!

Das muß man jetzt aber nur verstehen, wenn man sich mit solchen ICs beschäftigt. :lol:

Mal schauen, ob ich das Abfragen der Tastaturmatrix dann selbst hinkriege, sonst bin ich bald wieder hier! :shock:
Guido Körber
Site Admin
Posts: 2857
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Das ist auch die richtige Vorgehensweise, sich einfach darauf zu verlassen, dass alles ganeu so bleibt wie es beim aktuellen Chip ist wäre nicht so schlau.

Die Logikbausteine reagieren übrigens im Bereich von einigen Nanosekunden, also Faktor 1000 vom Timing des IO-Warrior entfernt.
Post Reply