- LiFePO4 Speicher Test         
Seite 7 von 7 ErsteErste ... 567
Ergebnis 61 bis 63 von 63

Thema: RS232 daten empfangen, senden und auswerten

  1. #61
    Benutzer Stammmitglied
    Registriert seit
    25.02.2009
    Beiträge
    51
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo

    Ich hab jetzt mal eine vorabversion, ist noch nicht ganz Stabil und noch nicht vollsändig.

    Das Tool Steuert mit dem RN-Control v1.4 übers I2C Kabel ein RN-Schrittmotorsteuerungsboard an, das RN-Controlboard wird über den RS232-port am Com-port1 des Pcs angeschlossen (Port auswahl gibt es bisher noch keine)

    Bild
    Bild hier  

    Tool
    RN-SchrittmotorSteuerung.zip

    AVR Code (RN-Control v1.4)
    Code:
    '===CHIP SETTINGS===
    Declare Sub Abfrage() As Byte
    
    $regfile = "m32def.dat"
    $framesize = 64
    $swstack = 64
    $hwstack = 64
    
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 38400
    
    Config Scl = Portc.0                                        'Ports fuer IIC-Bus
    Config Sda = Portc.1
    
    '===CHIP SETTINGS END===
    
    
    Config Serialin = Buffered , Size = 20
    Enable Interrupts
    
    Dim Inputstring1 As Byte
    Dim Inputstring2 As Byte
    Dim Inputstring3 As Byte
    Dim Inputstring4 As Byte
    Const Inputstring5 = 0
    
    
    Const I2crnmotorslaveadr = &H58                             'I2C SlaveAdresse von RN-Schrittmotor Erweiterung
    Const I2crnmotorsreadlaveadr = &H59                         'I2C SlaveAdresse von RN-Schrittmotor Erweiterung
    
    
    Dim I2cdaten(7) As Byte
    
    Dim Schritte As Long
    Dim Temp As Byte
    Dim Ltemp As Long
    Dim Umdrehungen As Single
    Dim Fahrstrecke As Word
    
    
    Dim Data_available As Byte
    Dim Endschalter As Byte
    Dim Motorstatus As Byte
    
    
    
     Do
    
      Data_available = Ischarwaiting()
      If Data_available = 1 Then
    
      Input "" , Inputstring1 , Inputstring2 , Inputstring3 , Inputstring4       ', Inputstring5
      I2cdaten(1) = Inputstring1
      I2cdaten(2) = Inputstring2
      I2cdaten(3) = Inputstring3
      I2cdaten(4) = Inputstring4
      I2cdaten(5) = Inputstring5
      I2csend I2crnmotorslaveadr , I2cdaten(1) , 7
    
      If Inputstring1 = 101 Then
          If Inputstring2 = 1 Then
             I2cstart
             I2cwbyte I2crnmotorsreadlaveadr
             I2crbyte Motorstatus , Nack
             I2cstop
             Print "Motorstatus_Motor1" ; Motorstatus
          Else
             I2cstart
             I2cwbyte I2crnmotorsreadlaveadr
             I2crbyte Motorstatus , Nack
             I2cstop
             Print "Motorstatus_Motor2" ; Motorstatus
          End If
      End If
    End If
       I2cdaten(1) = 102
       I2cdaten(2) = 1
       I2csend I2crnmotorslaveadr , I2cdaten(1) , 7
    
       I2cstart
                 I2cwbyte I2crnmotorsreadlaveadr
                 I2crbyte Temp , Ack
                 Schritte = Temp
                 I2crbyte Temp , Ack
                 Ltemp = Temp * 256
                 Schritte = Schritte + Ltemp
                 I2crbyte Temp , Ack
                 Ltemp = Temp * 65536
                 Schritte = Schritte + Ltemp
                 I2crbyte Temp , Nack
                 Ltemp = Temp * 16777216
                 Schritte = Schritte + Ltemp
                 I2cstop
       Print "A" ; Schritte                                     ' Motor 1
       Waitms 10
    
       I2cdaten(1) = 102
       I2cdaten(2) = 2
       I2csend I2crnmotorslaveadr , I2cdaten(1) , 7
    
       I2cstart
                 I2cwbyte I2crnmotorsreadlaveadr
                 I2crbyte Temp , Ack
                 Schritte = Temp
                 I2crbyte Temp , Ack
                 Ltemp = Temp * 256
                 Schritte = Schritte + Ltemp
                 I2crbyte Temp , Ack
                 Ltemp = Temp * 65536
                 Schritte = Schritte + Ltemp
                 I2crbyte Temp , Nack
                 Ltemp = Temp * 16777216
                 Schritte = Schritte + Ltemp
                 I2cstop
       Print "B" ; Schritte                                     ' Motor 2
    
    
          Waitms 10
    Loop
    End
    Tipps:
    Bewegt die Regler nicht so schnell.
    Sollte das Tool oder das Controlboard nicht reagieren Resetet beide Boards Manuell über den Tasten auf den Boards

  2. #62
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    45
    Beiträge
    642
    Danke für den Bascom Code,
    wenn du jetzt noch die Sharp Dateien zur Verfügung stellen könntest,
    würdest du mich so was von glücklich machen.........
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  3. #63
    Benutzer Stammmitglied
    Registriert seit
    25.02.2009
    Beiträge
    51
    Hallo

    hab da noch ein anliegen ich hab da leider nix mit google gefunden

    Also ich kann mit 'Printbin' in Bascom arrays verschicken aber wie kann ich die in SharpDevelop empfangen und leserlich machen und wieder in ein array speichern?

    mfg

Seite 7 von 7 ErsteErste ... 567

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress