- LiTime Speicher und Akkus         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: rnmega2560 mit visual basic ansprechen

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127

    rnmega2560 mit visual basic ansprechen

    Anzeige

    LiFePo4 Akku selber bauen - Video
    hallo.

    ich habe ein rnmega2560 und wuerde dieses gerne ueber ein visual basic programm ansprechen...

    bis jetzt kann ich es ueber die Bascom console ueber das USB kabel ansprechen... so wies im datenblatt steht:
    Code:
    Config Com4 =9600 , Synchrone =0 , Parity = None , Stopbits =1 , Databits =8 , Clockpol =0
    Open "com4:" For Binary As #4                               'USB Buchse
    ......
     B = Waitkey(#4)
    .......
    z.b. wenn ich in der console verschidene buchstaben druecke werden bestimte funktionen ausgelöst...
    wei kann ich das gleiche von einem visual basic programm aus steuern ,
    muss ja nicht sien das tasten gesendet werden, sondern einfach iregdnwie ??

    danke schon mal..

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    noch ne info aus m datenblatt falls das was bringt... der USB lauft ueber TTL UARTS (RX/TX) (was auch immer das ist )
    weis denn keiner was ??

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.09.2006
    Alter
    34
    Beiträge
    841
    Blog-Einträge
    1
    ich mache grade sowas ähnliches für die facharbeit....wie man tasten abfängt kann ich grad net sagen aber du wirst sicher was finden ...auch sollte dieses tut helfen: http://www.activevb.de/tutorials/tut_com/com.html wenn du fragen hast schreib sie her ich versuch zu helfen...

    edit: eventuell mal durchlesen...http://www.wer-weiss-was.de/theme161...le2512915.html

    edit2: achso usb? ich weiß nicht aber du sprichst ja den COM4 an da dürfte das doch gehen oder? musste mal probieren...ich machs über RS232

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    52
    Beiträge
    765
    Ich habe Dir im Forum von vb-paradise.de geantwortet.

    edit: Welchen USB Chip nutzt Du? Ich nutze den FTDI, Suche aber nach einem gleichwertigen, bloss in einem größeren Gehäuse, damit er in die normalen Sockel passt.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    @ dremler
    geht ueber n USB kabel.. aber is ein virtueller com port....
    @ peterfido
    hehe... bist auch in beiden foren...
    hm USB chip hab ich keine ahnng.. is n rnmega 2560 da is schon irgendeiner drauf..

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.09.2006
    Alter
    34
    Beiträge
    841
    Blog-Einträge
    1
    dann müsste es doch gehen ? oder ? die daten werden doch automatisch USB gerecht umgewandelt?

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    37
    Beiträge
    4.255
    Der USB-Chip auf dem 2560er-Modul meldet sich (wie du schon sagtest) unter Windows als virtueller COM-Port an. Du brauchts daher ne lib/Treiber/wasauchimmer, um mit VB auf nen COM-Port zu schreiben. Sollte sich finden lassen...

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    ja ich kann dann das ganze als blackbox betrachten ,einfach nur den comport ansprechen und die tatsächliche funktionsweise des ganzen ignorieren..

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    44
    Beiträge
    237
    ich habe das ganze im Excel umgesetzt mit dem MsCOMM Controll ist zwar VBA aber immerhin ist man im Excel hoch flexibel wenn man die Daten verwalten möchte. Als µC habe ich auch den ATMEGA2560 verwendet mit der USB Anbindung. Dazu reicht es den Simulierten CommPort einfach dem MSComm Controll mitzuteilen.

    Ich lese 16 Analoge und ca. 30 Digitale Ports in das Excel ein und erstelle mir daraus meine Messwerttabelle.


    Im Visual Basic 2005 Express habe ich irgendwo noch ein Beispiel aber da steht nur drinn wie man empfängt und nicht sendet.

    Wer also brauchbaren Code für das VB 2005 hat .. ich bin interressiert. Ein eigenes kleines Windows Programm wäre wirklich zu geil.

    Gruß
    Steffen

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    @ steffen44

    mit vb 2005 ist es ganz einfach:
    einfach in der toolbox -> komponenten -> serail port auf die form ziehen...
    dann rechts unten bei den eigenschften die baudrate usw einstellen...
    und dann noch den code hier:

    Code:
            SerialPort.Open()   'port oeffnen
            SerialPort.Write("blablubb, wasauchimmer")  ' senden an uC
            SerialPort.Close()     ' hinterher port schiessen
    fertig....

    in vb 6.0: (anleitung von peterfideo)

    Du erstellst ein Projekt. Gehst dann auf Komponeneten. Dort das Microsoft Comm Control anhaken. Dieses dann auf die Form ziehen. Jetzt kannst du den Comport parametrieren. z.B. Port 3 mit 19200 Baud:

    Code:
    Private Sub Form_Load()
    
    With MSComm1
        .CommPort = 3
        .Settings = "19200,n,8,1"
        .DTREnable = False
        .RTSEnable = False
        .PortOpen = True
        .InBufferSize = 50 
    End With
    
    End Sub
    Daten senden:
    Code:
    MSComm1.Output = "Nachricht an uC"
    Daten Empfangen:
    Code:
    Private Sub MSComm1_OnComm()
          lblOverrun.Visible = False
          lblRXOver.Visible = False
      Dim s As String
      Dim i As Integer
      Select Case MSComm1.CommEvent
        Case comEvReceive
          Text2.Text = Text2.Text & MSComm1.Input
    
    
      End Select
    End Sub
    Wobei das Event erst bei vollem Datenpuffer(mscomm1.InBufferSize) ausgelöst wird.

    Alternative wäre per Timer ständig gucken, ob was im Puffer ist und dann auslesen.

    Wichtig: Port bei Programmende schließen.
    Code:
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    MSComm1.PortOpen = False
    End Sub

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiTime Speicher und Akkus