- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Serieller Empfänger mit AVR + BASCOM

  1. #11
    Gast

    Re: hmmm..

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Zitat Zitat von Majuz
    Hallo
    ich habe jetzt mal ein programm geschrieben das eine Zahl über RS232 empfangen soll und dann auf einem LCD anzeigen.
    es funktioniert soweit auch, nur zeigt er eine andere zahl an als ich übergebe.
    wenn ich "1" übergebe zeigt er z.b. 192 an. eigentlich zeigt er bei allen zahlen etwas zwischen 192 und 196 an.

    hier mal mein BASCOM-Code:

    Code:
    --------------------------------------------------------------------------------

    $regfile = "m8515.dat" 'Mega8515-Deklarationen
    $crystal = 4000000
    $baud = 1200 'Baudrate der UART: 9600 Baud
    Config Lcd = 16 * 4
    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portc.6 , E = Portc.2 , Rs = Portc.0

    Enable URXC 'Interrupt URXC einschalten
    Enable Interrupts 'Interrupts global zulassen 'Interrupt-Routine setzen
    On Urxc Schreiben
    Dim I As Byte
    Cls
    Schreiben:
    Cls
    I = Udr
    Lcd I
    Return

    End 'end program



    --------------------------------------------------------------------------------



    Und hier mein Visual-Basic-Programm mit dem ich die Daten übermittle.

    Code:
    --------------------------------------------------------------------------------

    Dim a As Byte

    Private Sub Command_send_Click()
    a = Text1.Text
    Call senden(a, 50) 'aufruf der unterfunktion zum senden
    End Sub

    Private Sub Form_Load()
    MSComm1.InputMode = Binary 'Binaere Datenuebertragung
    MSComm1.Settings = "1200, n, 8, 1" '1200Baud, no Parity, 8 Bits Data length, 1 Stop Bit
    MSComm1.CommPort = 1 'COM1
    MSComm1.PortOpen = True 'oeffnen des Ports
    End Sub

    Private Function senden(zahl, pause) 'unterfunktion zum senden der bytes
    Dim out(2) As Byte '"as byte" muss dastehen weil sonst en fehler kommt
    out(0) = 0 'erste zu übergebende zahl
    out(1) = zahl 'zweite zu übergebende zahl
    MSComm1.Output = out 'ausgabe der zahlen
    Sleep (pause) 'pause
    End Function



    --------------------------------------------------------------------------------



    Ich ich verwende das MSComm - Objekt um die daten zu senden. ich weiß nicht ob der fehler am VB-programm oder am BASCOM-Programm liegt. ich hoffe ihr könnt mir helfen.
    ich habe es auch schon ohne interrupts probiert (wie auf seite 1 geschrieben). kommt genau das gleiche raus.
    muss ich dem µC noch sagen dass es keine parity, 8 databits und 1 stopbit sind?
    einen normalen text habe ich auf dem LCD schon angezeigt und das hat einwandfrei funktioniert.

    bitte helft mir!!!

    Majuz

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.05.2006
    Ort
    Baden
    Alter
    41
    Beiträge
    102
    Hallo Zusammen

    Tut mir leid, dass ich den alten Threat nochmal aufwärme, aber ich hab immernoch das gleiche Problem In den letzten 2 Jahren hatte ich viel mit meinem Studium zu tun, und deshalb blieb der Plotter etwas links liegen, aber jetzt mach ich mal wieder weiter

    Ich hab das "UBRR = 25" eingefügt, aber es hat nichts gebracht. Ich hab auch nach der Formel im Datenblatt gerechnet und diese Zahl eingefügt, aber trotzdem Zeigt er nichts richtiges an....

    Ich hoffe, ihr könnt mir helfen!!

    Majuz

  3. #13
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    stimmt auch der crystal wert? also die Taktfrequez des 8515 = 4MHz ?
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.05.2006
    Ort
    Baden
    Alter
    41
    Beiträge
    102
    Hi

    Ja, der Wert stimmt.
    Mein größtes Problem ist, dass ich nicht weiß, wo das Problem liegt. Beim VB-Programm oder im µ-Controller.

    Majuz

  5. #15
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    Bascom hat doch auch ein Terminalprogramm eingebaut,
    das kannste auch auf deine Porteinstellungen konfigurieren
    und ebenfalls per Tastendruck Zeichen senden.
    Die sollten dann wie aus Deinem VB-Programm raus auf dem
    Display erscheinen.

    Du hast auch keine Main-Loop drinne, schon erkannt?

    Lösung:


    Enable URXC 'Interrupt URXC einschalten
    Enable Interrupts 'Interrupts global zulassen 'Interrupt-Routine setzen
    On Urxc Schreiben
    Dim I As Byte
    Cls

    ' Mainloop
    do
    loop
    end

    ' Leseroutine
    Schreiben:
    Cls
    I = inkey()
    Lcd I
    print I ' <- Es wird ein Echo an den Sender zurückgesendet ... erleichtert das debuggen
    Return
    end
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.05.2006
    Ort
    Baden
    Alter
    41
    Beiträge
    102
    Hallo zusammen

    ich habe das nun probiert, aber es funktioniert nicht

    Wenn ich z.B. die 1 auf der Tastatur drücke Zeit mir das LCD "255" an, und im Terminalprogramm kommt etwas in dieser Richtung "€€€x€x€xþ€xð". Es ist egal, welche Taste ich drücke, es kommt immer genau das gleiche.
    Es funktionieren von den Zahlentasten oberhalb des Buchstabenfeldes der Tastatur nur die Zahlen 1,4,5,8,9,0. Bei allen anderen macht er überhaupt nichts. Auch bei den Buchstaben ist es genau das gleiche.

    Was könnte das sein? Hat irgendwer eine Idee??

    Majuz

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.04.2004
    Ort
    Gronau
    Beiträge
    155
    @Majuz,

    ich denke, Du hast 2 Probleme:

    Zum Senden im VB-Programm siehe mal hier: http://www.mikrocontroller.net/forum/read-8-315366.html

    Im Bascom-Programm solltest Du noch die Schnittstelle konfigurieren.
    Siehe im Handbuch unter "Config Com?".
    Gruß: - Reinhard -

Seite 2 von 2 ErsteErste 12

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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

LiFePO4 Speicher Test