-
        

Ergebnis 1 bis 10 von 10

Thema: Dipschalter abfragen/Gaaaanz viele Ifschleifen umgehen

  1. #1
    1hdsquad
    Gast

    Dipschalter abfragen/Gaaaanz viele Ifschleifen umgehen

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallihallo,
    ich bin mal wieder nicht schlau genug um meinen Mega16 zu programmieren:

    1.) Ich möchte Dipschalter abfragen. Da gibt es eine Anweisung in der Hilfe, mit der man den Status eines Pins prüfen kann, aber auch im Memory des Controller Sachen lesen kann. Im Beispiel ist aber nur das Auslesen des Memorys, und ich kriegs mit dem Pin nicht hin. Erbitte Beispielpost...

    2.) Ich lese von einem Midiport bestimmte Daten aus und habe letztendlich als max. dreistellige Zahlen vorliegen. Des Weiteren habe ich 30 LEDs, ich lege ein Startzahl manuell beim Starten des Programms fest, bei der die unterste LED leuchtet.
    Wie kann ich jetzt die Variablen aus den anderen Variablennamen generieren?

    MFG und nicht vergessen: Bald ist

  2. #2
    1hdsquad
    Gast
    Okay, mit den Pips hat sich schon erledigt. Aber wie mache ich das mit den Variablen???

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    *klingeling*

    Ich bin etwas daneben. Du kriegst von MIDI eine Byte-Zahl 0-127, das ist die "NOTE". gut.
    Jetzt hast du wahrscheinlich irgendwo 4 Bytes, wo jedes Bit eine LED kontrolliert. Ist das so ? (ho, ho, ho)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    1hdsquad
    Gast
    Hä?
    Ich hab 30 LEDs, wenn z.B. der Befehl "Note-On" mit der Tastennummer 56 kommt, soll LED 23 leuchten. Wie sage ich ihm das, ohne 30 If-Schleifen aufzubauen (If X = 49 then led19 = 1, If X = 50 then led20 = 1, ...).
    Kann ich aus dem Inhalt eines Strings einen neuen Variablennamen generieren (X = 47, Y = LED, neue Variable = LED47(X+Y))?
    MFG

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Uiui. So geht das nicht
    Normalerweise mach man das mit array

    DIM led (30) as Byte
    dim led_nummer as byte

    IF midi_note > 29 then
    led_nummer = midi_note - 29
    led(led_nummer) = midi_lautstarke
    end if
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    1hdsquad
    Gast
    Ok, probier ich mal aus. Danke schön!
    Ach ja: Bei MAXScript konnte man einen String ausführen, den man sich ja erst beliebig zusammenbasteln konnte. Herrlich! \/ Das geht hier nicht?
    MFG

  7. #7
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Das ist der Unterschied Compiler <> Interpreter.
    Bei einem Interpreter geht sowas.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #8
    Kann man anstatt der If..then schleifen nicht auch die Select Case anweisung nehmen?

    "Select Case x

    Case x = 1
    [Anweisung]

    case x = 2

    [anweisung]

    Case else

    Print "Fehler" [z.B.]


    End Select

  9. #9
    Kann man anstatt der If..then schleifen nicht auch die Select Case anweisung nehmen?

    "Select Case x

    Case x = 1
    [Anweisung]

    case x = 2

    [anweisung]

    Case else

    Print "Fehler" [z.B.]


    End Select

  10. #10
    1hdsquad
    Gast
    Weiß ich nicht, kann ich auch mal schauen...
    Mit dem Array hab ich nicht verstanden, kannst du es mal erläutern`?
    MFG

Berechtigungen

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