-         

+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: 2ten Rs232 am Atmega32?

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

    2ten Rs232 am Atmega32?

    Anzeige

    Hi,

    Ich versuche seid ein paar Tagen eine 2te RS232 Schnittstelle an meinem atmega32 anzubringen, aber ich bekomme das nicht hin.
    Hab mit Google gesucht und was von UART gelesen aber versteh das nicht so ganz.

    Könnt ihr mir bitte was dazu sagen, ob das machbar ist?

    Mein vorhaben:
    Ich hab vor eine Gps-Maus an den atmega anzuschliesen mit diversen Sensoren und dies dann mit einem xbee an mein Laptop zusenden

    vllt seht ihr ein besseren weg als ein 2ten RS232 am atmega, dann wäre ich dankbar wenn ihr mit ihn mitteilen könntet

    P.s. Ich arbeite mit Bascom und würde auch gerne dabei bleiben


    Mfg Crischan

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    34
    Beiträge
    1.986
    Naja, wenn du von der GPS-Maus nur Daten kriegst (nichts senden) und an den Laptop nur sendest (also vom Laptop nix kommt), dann reicht ja eine.
    Rx von GPS, Tx an Laptop.
    Die Baudrate muss dann natürlich bei allen Geräten die gleiche sein.

    Was Bascom selbst angeht: Bascom kann (relativ einfach) Software-UART mit fast jedem Pin.
    #ifndef MfG
    #define MfG

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    25.02.2009
    Beiträge
    51
    Hi,

    danke für die fixe antwort
    Das mit dem senden ist genau das problem, ich will auch daten zum atmega senden.

    könntest du mir erklären wie ich das mit dem UART mache?

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    34
    Beiträge
    1.986
    Bascom ist bei mir schon ewig her; habs auch nicht mehr aufm PC.
    Das ging irgendwie mit dem Open "COM....-Befehl; Dort gibt man die Parameter sowie den jeweiligen Pin an. Wie genau müsste eigentlich in der Hilfe stehen.
    #ifndef MfG
    #define MfG

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    25.02.2009
    Beiträge
    51
    Supi, ich danke dir, habs

    mit
    Code:
    Open comd.24800,8,n,1 For Input As #2
    geht es

    Hatte es sonst immer mit
    Code:
    Config Com2 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
    versucht

    danke dir

    mfg Crischan

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    25.02.2009
    Beiträge
    51
    Hi,

    Hab da noch ein problem mit der ausgabe

    Ich hab es soweit hinbekommen das die daten aufn Laptop lesbar sind, allerdings hab ich noch probleme mit den ersten zeilen die kommen nicht richtig rüber

    Hier mal meine ausgabe
    ’š‚bšÊb‚ªb‚ºb’ʲb‚‚b‚ºb¢šbŠ²ºb‚‚Rº²j¤Dé
    ÕÔ*iI)S)Ó)'%¦)ISISiS)Ó’b‚ªºb¢ŠbŠ²bŠªb‚ªŠ
    $GPRMC,191459,V,5219.6233,N,00851.1113,E,000.0,303 .6,271209,,,N*65
    $GPGGA,191500,5219.6233,N,00851.1113,E,0,00,,00054 .5,M,046.5,M,,*57
    $GPGSA,A,1,,,,,,,,,,,,,,,*1E

    die ersten zeichen sind totaler Müll.

    habt ihr eine idee woher das kommt oder wie man das abstellen kann?

    Hier mal der bascom-code vllt. mach ich auch nur was falsch
    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 4800
    $hwstack = 32                                              
    $swstack = 10                                              
    $framesize = 40
    
    
    
    Open "comd.6:4800,8,n,1" For Input As #2
      Config Serialin = Buffered , Size = 200
    
    Dim Inputstring1 As String * 99
    Dim Inputstring2 As String * 99
    Dim Inputstring3 As String * 99
    Dim Inputstring4 As String * 99
    Dim Inputstring5 As String * 99
    
    Do
    
      Input #2 Inputstring1 , Inputstring2 , Inputstring3 , Inputstring4 , Inputstring5
    
     Print Inputstring1 ; Inputstring2 ; Inputstring3 ; Inputstring4 ; Inputstring5
    Loop
    
     Close #2
    Im moment will ich einfach nur die Daten von der Maus übern atmega zum Laptop senden.

    Vllt seht ihr ja was, wäre euch aufjedenfall dankbar

    mfg Crischan

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    34
    Beiträge
    1.986
    Läufts dann dauerhaft fehlerfrei oder kommen die Fehler irgendwann wieder?

    Ich würd da jetzt mal versuchen, ob das Verhalten gleich bleibt, wenn die Baudrate zwischen AVR und PC erhöht wird (z.B. 9600), so dass der AVR seine Daten also schneller loswerden kann, als er sie von der GPS-Maus kriegt.

    Reicht da auch nicht nur ein Inputstring? Die einzelnen GPS-Datensätze werden eigentlich meistens nur so 70-80 Zeichen lang.
    #ifndef MfG
    #define MfG

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    25.02.2009
    Beiträge
    51


    Hätte ich auch sebst draufkommen können, das mit der baudrate zu erhöhen hat schon ausgereicht.

    danke dir, aber was meinst du mit nur ein Inputstring?
    Etwar?
    Code:
     
    Inputstring1 , Inputstring2 , Inputstring3 , Inputstring4 , Inputstring5
    Ne hatte ich auch erst gedacht aber bei nur einem bekomm ich nix rein

    Aber gibt es noch einen anderen weg die daten auf sicherem weg reinzubekommen und weiter zureichen?

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    25.02.2009
    Beiträge
    51
    Hm, das mit der Baudrate war nur ein zufalls effekt, der fehler ist wieder da :heul:

    Gibt es noch eine andere möglichkeit? weiss da wer was?

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    42
    Beiträge
    2.238
    kann an den 16MHz hängen, mit Baudratenquarz kann ggf.
    Abhilfe geschaffen werden.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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