Bascom ATMega32 mit 74HC595 Bascom HW SPI

ckerndl

Neues Mitglied
15. Apr. 2011
1
0
0
Sprachen
Hi,

ich muss dazu sagen ich bin neuling im Bereich Bascom und Microcontroller.
Ich habe es nun geschafft mir eine Platine mit 4 74HC595 und der HW Spi zu bauen und es funktioniert auch soweit. Ich versuche damit eine 12x12 Matrix anzusteuern.
Einzeln definiert geht das auch alles. Nur wie kann ich nun die Werte von z.B. Daten_zu_latch(1) ändern ?

Auszug aus meinem Programm mit dem Frageblock:


Code:
Config Spi = Hard , Master = Yes , Clockrate = 4 , Noss = 0    'HW SPI Definieren
Spiinit							       ' SPI Init


Dim Daten_zu_latch(3) As Byte					' Dim
Dim Test1latch(8) = As Byte 

Test1latch(1) = 0
Test1latch(2) = 1
Test1latch(3) = 1
Test1latch(4) = 1
Test1latch(5) = 1
Test1latch(6) = 1
Test1latch(7) = 1
Test1latch(8) = 1

Daten_zu_latch(3) = &B00011000%
Daten_zu_latch(2) = &B00011000%
Daten_zu_latch(1) = &B00000011%

Do

''''''''''''''''''''''''''''''???????????????????????????????
Wie sage ich hier z.B. 
Daten_zu_latch(3) = Test1latch(1) Test1latch(2) Test1latch(3) Test1latch(4) Test1latch(5) Test1latch(6) Test1latch(7) Test1latch(8)
Damit in dem Beispiel "&B01111111" rauskommt?
''''''''''''''''''''''''''''''???????????????????????????????

Spiout Daten_zu_latch(1) , 3

Loop
 
Hallo Ckerndl!

Willkommen im AVR-PRAXiS Forum.

Ich programmiere selber nicht in BascomAVR, es ist möglich, dass es eine einfachere Lösung gibt.

Ich würde hier entweder die Variablen Testlatch, die ja sowieso als Byte vorhanden sind gleich richtig mit den Werten belegen, zum Beispiel so:
Code:
Testlatch(1) = &B00000000
Testlatch(2) = &B01000000
Testlatch(2) = &B00100000
...
Testlatch(8) = &B00000001
und dann im Hauptprogramm addieren oder besser "verodern".

Oder du lässt die Werte so und nutzt jeweils den Shift Befehl
Code:
Shift Testlatch(1), LEFT, 7
Shift Testlatch(2), LEFT, 6
...
und danach addieren.

Aber wie gesagt, vielleicht gibt es noch eine elegantere Lösung.

Grüße,
Dirk
 
Hallo ckerndl!

Willkommen im AVR-Praxis Forum! :ciao:


Ich habe mir den Ausschnitt von deinem Programmcode mal angesehen weiß aber nicht, was du genau machten möchtest. :hmmmm:
Wozu soll das "Test1latch-Array" mit 8 Byte denn gut sein?
Du sendest doch später nur das "Daten_zu_latch-Array" mit 3 Bytes zu den 74*595ern.

Hilf uns doch noch mal etwas auf die Sprünge. :wink:
Vielleicht hilft dir ja auch DIESER BEITRAG schon weiter.
Ob du selber nun mit SHIFTOUT, oder SPIOUT arbeitest ist dabei nicht so relevant.

Grüße,
Cassio
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)