-
        

Ergebnis 1 bis 4 von 4

Thema: array+config

  1. #1

    array+config

    Anzeige

    Hallo Community,
    mal ne Frage. Also wenn ich ein Array erstelle und möchte eine Konfiguration vornehmen mit for-Schleife... besser ich schreibe mal einfach auf was ich meine:

    Dim ebene(4) As Integer, Dim I as Integer
    ebene(1) = Portc.3
    ebene(2) = Portc.2
    ebene(3) = Portc.1
    ebene(4) = Portc.0

    For I=1 to 4
    Config ebene(i) = Output
    next I

    Als Fehler Wird die Config-Zeile angezeigt. Mein Ansatz stammt aus dem Arduino Sketch wo man C basiert programmiert und Konfigurationen im void setup() mit For etc schleifen schnell vornehmen kann. Geht so etwas überhaupt auch in Bascom. Wenn ja welche Befehlskombination muss ich nehmen wenn nicht dann wohl immer einzeln als z.b. output definieren. Ja?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Wie oft möchtest Du im Programm die Richtung für wie viele Pins ändern?

    Ich schreibe meist die DDRs auf. Für Dein Beispiel wäre das

    Code:
    ddrc = &b00001111
    Im Betrieb schalte ich normal nur einzelne Pins um, z.B. wenn ich eine Matrixtastatur einlese. Dabei ist zu beachten, dass es von Vorteil sein kann, da ein paar NOPs einzubauen.

    Ein Port ist normal ein Byte breit. Ein Integer ist breiter. Du sagst also sozusagen nimm Integer namens ebene(1) und weise ihr den Wert des Bit Portc.3 zu. Also wird der Integer entweder 0 oder 1.

    In der Schleife wird dann bei config wieder ein Integer übergeben. Das kann ja so nicht klappen.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Was man in Bascom manchmal sieht (und was so ähnlich aussieht wie Dein Code-Versuch), ist die Alias-Funktion:
    Code:
    LED alias PORTC.0
    SUMMER alias PORTC.1
    RELAIS alias PORTC.2
    ...
    ...
    
    RELAIS = 0
    LED = 1
    SUMMER = ...
    Dabei sind die Alias-Parameter aber keine dimensionierten Variablen, sondern einfach nur frei wählbare Namen, damit man im Code den Überblick besser behalten kann, was welchem Port (oder Pin, wenn man Eingänge abfragt) denn zugeordnet ist.

    Die einfachste Lösung wäre in der Tat (wie schon von Peterfido vorgeschlagen), das DDR-Register zu setzen. Ein Befehl - fertig.

    Wenn Du aber tatsächlich im Code eine Reihe von I/O-Ports nacheinander als Ausgang konfigurieren möchtest, gäbe es eine Lösung, wenn die entsprechenden Ports aufeinander folgen, also wie bei Dir z.B. PORTC.0, C1, C2 und C3:

    Code:
    Dim I as Byte
    
    For I = 0 to 3
    DDRC.I = 1
    Next I

  4. #4
    vielen vielen Dank für eure Tipps

Ähnliche Themen

  1. config ADC
    Von feitzi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 18.03.2008, 16:40
  2. Array auf zweidimensionale Array
    Von semicolon im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 25.05.2007, 13:48
  3. Nur Nummern in Array / nur Variablentyp byte als Array?
    Von Crashmichl im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 28.04.2006, 00:15
  4. config clock?
    Von dreadbrain im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 19.04.2006, 12:02
  5. config lcdmode = bus
    Von edgar im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 15.12.2004, 19:03

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •