- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: myAVR Board 2 PLUS USB mit Visual Basic 2005 visualisieren

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    09.08.2008
    Beiträge
    22

    myAVR Board 2 PLUS USB mit Visual Basic 2005 visualisieren

    Anzeige

    E-Bike
    Hallo,
    ich versuche schon seid geraumer Zeit VB mit dem uC kommunizieren zu lassen, nur es funktioniert einfach nicht. Bin echt schon etwas am verzweifeln.

    Als Hardware benutze ich
    http://www.myavr.de/shop/article.php?artDataID=41

    zum Proggen Bascom
    zum visualisieren Visual Basic 2005 pro

    Habe den aktuellsten Usb-treiber drauf, welcher einen virtuellen com 4 Port eingerrichtet hat.

    Würde mich echt freuen, wenn jmd schon mal auf diesem Wege einen Erfolg verzeichnen konnte und vielleicht mal ein einfaches kommentiertes Beispiel Veröffentlichen könnte was auch auf anhieb funktioniert.

    Als "einfaches" Beispiel stelle ich mit eine Windowsanwendung mit Button und Textbox vor. Mit dem Button kann man eine Led anschalten und über die Textbox wird ein Analogwert eingelesen und angezeigt.

    gruß Cali

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    24.05.2007
    Ort
    Im hohen Norden
    Beiträge
    227
    Guten morgen Cali,
    zeig hier doch mal bitte Deinen Code. Vor allem das Öffnen Deiner COMM4 und das CommEvent.

    Peter

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    09.08.2008
    Beiträge
    22
    Guten morgen holzi,

    Der Bascom Code zum obrigen Beispiel sieht so aus.
    Code:
    $regfile = "m8def.dat"
    $crystal = 1000000
    $hwstack = 40
    $swstack = 30
    $framesize = 60
    
    Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , _
       Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
    Config Lcd = 16 * 2
    Cursor Off
    Cls
    
    Ddrb = &B00000001                                           'Led Ausgang
    
    Dim Messvolt As Word
    Dim Volt As Single
    Dim Volt_a As String * 10                                   'Dieser wert soll in VB angezeigt werden
    
    Const Faktor = 0.0048828125
    
    Do
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    
    Messvolt = Getadc(0)
    
    Volt = Messvolt * Faktor
    
    Volt_a = Fusing(volt , "#.#")
    If Len(volt_a) = 3 Then
    Volt_a = " " + Volt_a + "V"
    Else
    Volt_a = Volt_a + "V"
    End If
    
    Locate 1 , 1
    Lcd Volt_a
    
    Waitms 250
    
    Loop
    
    End
    Mit VB habe ich zwar schon einmal visualisiert, das war aber zum einen eine SPS welche ich über ein Steuerelement eines OPC-Servers agesprochen habe. Deshalb habe ich auch kein schimmer wie das in VB Funktionieren könnte.

    gruß Cali

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    24.05.2007
    Ort
    Im hohen Norden
    Beiträge
    227
    Hi Caligula,
    schau Dir mal das Tutorial von der folgenden Seite an.

    http://www.activevb.de/tutorials/tut_com/com.html

    Das ist zwar für VB6, aber es kann einfach umgesetzt werden.

    Peter

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    09.08.2008
    Beiträge
    22
    huhu holzi,

    danke für den Tip aber diese Seite hatte ich auch schon ergoogelt, gelesen und getestet. Leider ohne Erfolg.

    Glaube ohne ein richtiges beispiel bekomme ich das nie hin

    gruß Cali

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    24.05.2007
    Ort
    Im hohen Norden
    Beiträge
    227
    Guten morgen,
    ich weiss wirklich nicht, wo Dein Problem ist. Nach dem folgenden Prinzip musst Du vorgehen:

    Schnittstelle öffnen: SerialPort1.Open()

    Daten senden: SerialPort1.Write("Hallo")

    Daten lesen: Wert = SerialPort1.ReadLine (Dim Wert As String)

    Hier ein Link zu diesem Thema, denn da hatte auch jemand das Problem mit der seriellen Schnittstelle unter VB 2005.

    https://www.mikrocontroller.net/topic/49847

    Ich hoffe, Du kommst nun weiter.

    mfg Peter

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    09.08.2008
    Beiträge
    22
    Huhu,

    Habe mir das ganze mal angeschaut jetzt kommt wieder was neues hinzu das "SerialPort"-Element.

    Dieses Element lässt sich über die Eigenschaften konfigurieren.

    Jetzt bleibt nur noch die Frage offen, wie ich den Port öffne und und sinnvoll mit dem MC rede. Glaube das der MC mit einem "Hallo" garnix anfangen kann.

    -> wo und was muss ich jetzt in diesen Code tippen, damit der "volt_a"-String aus dem MC ausgelesen wird und in der Textbox angezeigt wird.

    Code:
    Public Class Form1
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
        End Sub
    
        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    
        End Sub
    End Class
    gruß cali

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Das DataArrived (oder Received(weiß grad nicht genau)) Ereignis wird bei mir nur ausgelöst, wenn der Empfangspuffer voll ist. Ich frage bei sowas per Timer regelmäßig den Füllstand des Puffers ab und wenn der >0 ist, dann lese ich ihn aus. Allerdings progge ich in VB6. VB2005 nehme ich nur notgedrungen, wenn ich was fürs Handy progge...
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    44
    Beiträge
    1.273
    Öhm, wieso probierst du nicht einfach mein Beispielprogramm im Wiki...?
    https://www.roboternetz.de/wissen/in...rn_des_AVR%27s
    Viele Grüße, William
    -> http://william.thielicke.org/

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    09.08.2008
    Beiträge
    22
    Huhu Willa,
    hab das Programm mal angetestet, bin wie folgt vorgegeangen.

    Code:
    $regfile = "m8def.dat"
    $crystal = 1000000
    
    
    Dim A As Byte
    
    Do
    A = Inkey()
    If A > 0 Then
        Select Case A
          Case 49                                               'Das ist der ASCII Code für Taste "1"
             Sound Portd.7 , 400 , 450
             Print "Taste 1 wurde gedrückt!"
          Case 50                                               'Das ist der ASCII Code für Taste "2"
             Sound Portd.7 , 400 , 550
             Print "Taste 2 wurde gedrückt!"
          Case 51                                               'Das ist der ASCII Code für Taste "3"
             Sound Portd.7 , 400 , 650
             Print "Taste 3 wurde gedrückt!"
          Case 114                                              'Das ist der ASCII Code für Taste "r"
             Print "Reset..."
             Goto 0
       End Select
    End If
    Loop
    mit Bascom in den MC geschrieben und Bacom geschlossen.
    Portd.7 mit einem summer verbunden.
    Dein Beispielprogramm gestartet und "com4" gewählt und "port öffnen" Taste gedrückt.

    Wenn ich jetzt die 4 "Bedientaster" betätige passiert garnix.
    Es scheint aber ein Signal Auf der MySmartUsb-Platine anzukommen. (Kurzes aufleuchten der roten Led bei Tasterdruck)

    gruß Cali

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests