-         

Ergebnis 1 bis 2 von 2

Thema: Programierhilfe gesucht

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    14.09.2007
    Beiträge
    28

    Programierhilfe gesucht

    Anzeige

    Hallo,

    hier erstmal den Code, den ich bisher habe:
    Code:
    '  -------------- RN-Control übliche _____________________
    Declare Function Tastenabfrage() As Byte
    
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 64
    
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    Config Scl = Portc.0                                        'Ports fuer IIC-Bus
    Config Sda = Portc.1
    
    Config Adc = Single , Prescaler = Auto                      'Für Tastenabfrage und Spannungsmessung
    Config Pina.7 = Input                                       'Für Tastenabfrage
    Porta.7 = 1                                                 'Pullup Widerstand ein
    Dim Taste As Byte
    Dim Ton As Integer
    
    I2cinit
    Start Adc
    
    '  -------------- Ende RN-Control übliche _____________________
    
    
    Config Pina.0 = Output
    Stepper_enable Alias Porta.0
    
    Config Pina.1 = Output
    Stepper_richtung Alias Porta.1
    
    Config Pina.2 = Output
    Stepper_takt Alias Porta.2
    
    Dim I As Integer
    
    
    Stepper_enable = 1
    
    
    Do
       Taste = Tastenabfrage()
       If Taste <> 0 Then
    
          Select Case Taste
    
             Case 1                                             'Schaltet Motorstrom ein
               Stepper_enable = 1
    
             Case 2
             Toggle Stepper_richtung
               For I = 1 To 400
                   Stepper_takt = 0 : Waitus 1 : Stepper_takt = 1       'Bewegt Motor genau 400 Halbschritte (1 Umdrehung bei den meisten Motoren)
                   Waitms 30
               Next
    
    
             Case 3
               For I = 1 To 400
                   Stepper_takt = 0 : Waitus 1 : Stepper_takt = 1
                   Waitms 5
               Next
    
    
             Case 4
               Toggle Stepper_richtung
    
             Case 5                                             'Schaltet Motor aus
               Stepper_enable = 0
    
    
          End Select
          Sound Portd.7 , 400 , 500                             'BEEP
       End If
    
       Waitms 100
    Loop
    
    End
    
    
    
    
    ' Diese Unterfunktion fragt die Tastatur am analogen Port ab
    ' Sollte beim betätigen einer Taste kein Quittungston kommen, dann
    ' muss die die Tastenabfrage (Select Case Anweisung in Funktion )
    ' an ihr Board angepaßt werden. Widerstandstoleranzen sorgen in
    ' Einzelfällen manchmal dafür das die Werte etwas anders ausfallen
    ' Am besten dann den WS wert mit Print für jede Taste ausgeben lassen
    
    Function Tastenabfrage() As Byte
    Local Ws As Word
    
       Tastenabfrage = 0
       Ton = 600
       Ws = Getadc(7)
    '   Print "ws= " ; Ws
       If Ws < 1010 Then
          Select Case Ws
             Case 400 To 455
                Tastenabfrage = 1
                Ton = 550
             Case 335 To 380
                Tastenabfrage = 2
                Ton = 500
             Case 250 To 305
                Tastenabfrage = 3
                Ton = 450
             Case 180 To 220
                Tastenabfrage = 4
                Ton = 400
             Case 100 To 130
                Tastenabfrage = 5
                Ton = 350
          End Select
          Sound Portd.7 , 400 , Ton                             'BEEP
       End If
    
    End Function
    Ist eigentlich der Beispielcode nur ein wenig verändert.

    Was ich nun erreichen will:
    1. Die Tastenabfrage soll durch anlegen an Masse an z.B. PortA.3 - PortA.7 geschehen. Pullup ist zwar für die Taster schon eigeschaltet aber ich brächte den ja für die Ports zum abgefragt oder?
    2. Würde gerne, dass sie der Motor durch einen Taster in eine fest definierte Richtung dreht. Also z.b. PortA.3=0 soll sich der Motor linksrum drehen und PortA.4=0 rechtsrum. Mit "Toggle Stepper_richtung" komme ich nicht weiter.
    3. Solange sich z.b. PortA.4 im Zustand 0 befindet soll sich der Motor drehen. Wäre wichtig, um den Motor manuell noch ein wenig mit einer voreingestellten Geschwindikkeit bewegen zu können.
    4. Wie verbinde ich, dass z.b. bei Signal der Motor dreht und dabei aber eine Led leuchtet? Quasi mehrere Aktionen miteinander verbinden.

    Vielen Dank schonmal!

    Edit: ganz Vergessen: Betrieben wird das ganze im RN-Control in verbindung mit RN-Stepp297

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    14.09.2007
    Beiträge
    28
    Also Punkt 1 habe ich hinbekommen.

Berechtigungen

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