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

Thema: RS Ports getrennt ansprechen???

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360

    RS Ports getrennt ansprechen???

    Anzeige

    Powerstation Test
    Code:
    $regfile = "m162def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    $crystal = 16000000
    $baud = 9600
    so definiert man ja die baudrate für einen RS Port, aber wie definiere ich:
    -Parität etc.
    -Den 2. RS Port


    Mfg
    Tobi

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Mit Config, so wie es auch in der Hilfe steht.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    Ich hab diesen Code:
    Code:
    $regfile = "m128def.dat"                                    'Define Chip ATmega128
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    $crystal = 16000000
    $baud = 9600
    $baud1 = 9600
    
    Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
    Config Com2 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
    
    Schleife:
    Open "Com2:" For Binary As #2
    'Printbin #2 , Var
    Close #2
    
    Open "Com1:" For Binary As #1
    'Printbin #1 , Var2
    Close #1
    
    Goto Schleife
    
    End
    (nicht getestet)

    Und wie kann ich RS232 empfangen also wenn ich was in den Chip reinsende???

    Mfg
    Tobi

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Also...

    Starte Bascom.
    Füpge den Code ein oder öffne die Datei.
    Setz den Cursor auf Config.
    Drücke F1.
    Dann kommt die Hilfe.
    Es erscheint eine Liste mit alle möglichen Config-Befehlen für deine Bascom-Version.
    In der Version .8.1 ist Config Com1 an achter Stelle von oben gezählt. Solltest du eine andere Version haben, wirst du den Befehl schon finden. PS: Sie sind alphabetisch sortiert, wird also nicht so das Problem.
    Die entsprechende Zeile anklicken, dann kommt die Hilfe speziell zu Config Com1. Alternativ kannst du auch Config Com2 wählen, aber da ändert sich nicht viel außer das Com2.
    Und da in der Hilfe steht wie man was empfängt!

    Ein paar weitere Tipps:
    1. Auf der HP vom MCS gibt es eine Anleitung zu Bascom. Ist zwar englisch, aber dennoch verständlich wenn man bedenkt, das die Befehle auch englisch sind und man mit ihnen auskommen muss.

    2. Zu jedem Befehl gibt es eine Hilfe, mit der man die ersten größeren Anlaufschwierigkeiten überwinden kann. Einfach den Cursor auf den Befehl setzen und F1 drücken.

    3. Zu vielen Befehlen gibt es im Bascom-Ordner auch Samples.

    4. Erstmal klein anfangen: http://www.rowalt.de/mc/index.htm

    5. Hier im Forum erstmal suchen, ob die Frage schon einmal gestellt wurde. https://www.roboternetz.de/phpBB2/search.php
    Wenn ja, dann dort lesen, was da steht. Sollte das nicht helfen, die neue Frage oder den Zusatz ggf. in diesem Beitrag stellen, sonst gibt es irgendwann zum jeweils gleichen Thema 30 Beiträge und diejenigen, die die Suche benutzen haben dann keine Lust mehr alles zu lesen und stellen ihre Frage neu und dan sind es bald 50 Beiträge usw...

    6. Auch mal was ausprobieren. Wie du schon geschrieben hast: Code nicht getestet. Warum nicht?

    7. Bei einfachen Fragen (ich behaupte mal RS232 ist einfach) auch zeigen, das man es versucht hat. Dann bekommt man auch eher Hilfe von anderen als wenn die Hilfegebenden den Eindruck haben das der Hilfesuchende keine Lust hat sich selbst zu bemühen.

    Amen!

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    zu 1:
    Action
    Configures the UART of AVR chips that have an extended UART like the M8.


    Syntax
    CONFIG COM1 = dummy , synchrone=0|1,parity=none|disabled|even|odd,stopbi ts=1|2,databits=4|6|7|8|9,clockpol=0|1


    Remarks

    synchrone 0 for synchrone operation (default) and 1 for asynchrone operation.
    Parity None, disabled, even or odd
    Stopbits The number of stopbits : 1 or 2
    Databits The number of databits : 4,5,7,8 or 9.
    Clockpol Clock polarity. 0 or 1.
    Note that not all AVR chips have the extended UART.

    daraus kann ich leider nicht lesen wie mn empfängt

    zu 5:
    Code:
    Do 
    If USR.RXC = 1 Then 'Wenn Byte empfangen... 
    i = UDR 'Byte aus UART auslesen 
    Select Case i 
    Case "H" 
    Print "Hallo AVR" 
    Case "h" 
    Print "hallo avr" 
    Case Else 
    Print "Unbekannter Befehl" 
    End Select 
    End If 
    Loop 
    End
    Das ist zum empfangen (gefunden) leider auch nur für com 1 oder wi kann man das auf Com 2 umschreiben???

    zu 6:
    mein chip ist noch nicht da

    zu 7:
    siehe oben die ganzen zusammen gekratzten codes


    (Bin leider nur ein armer kleiner Delphi Win 32 Programmierer der jetzt auch nen Atmel proggen muss)


    Mfg
    Tobi

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    (Bin leider nur ein armer kleiner Delphi Win 32 Programmierer der jetzt auch nen Atmel proggen muss)
    Aber du machst es ja auch nicht erst seit gestern.

    In der Hilfe zu Config Com1 steht auch was von Input. In der Hilfe zu Print steht auch das Gegenstück (Input) unter See also.

    Zu 7:
    Das hättest du in den Samples auch ausführlicher gefunden.

    Mit Input un Inkey wirst du schonmal weiter kommen. Wenn es unbedingt mit USR.RXC sein soll, musst du im Datenblatt zum Mega128 mal schauen, wie die Register dort für Com2 heissen. Das ist dann allerdings etwas aufwendiger als von Bascom zur Verfügung gestellte Befehle zu nehmen.

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    Sodele. Mein AVR ist da

    Leider bekomme ich bei folgender Kommunikation folgendes Zurück wenn ich "DELETE" in den Chip sende:
    Code:
     Input #1 , Buffer1                                         'Daten lesen
     Print #1 , Buffer1 ; "b"                                   ' Und wieder zurück
    das was zurück kommt ist:
    "D"
    "E"
    "L"
    "E"
    "T"
    "E"

    was mache ich falsch


    Mfg
    Tobi

    (Die AVR Geschichten mache ich halt auch nicht jeden Tag und Delphi is doch ein bissel anders...)

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    ich hab ein Problem mit dem input Befehl. Dieser hält mein Programm an bis Daten in den Port gesendet wurden.
    Kann man das irgentwie umgehen das er nur die Daten ausliest wenn auch welche vorhanden sind?

    Mfg
    Tobi

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.04.2004
    Ort
    Gronau
    Beiträge
    155
    Schau bitte mal in der Hilfe unter Inkey. Das ist wahrscheinlich eher das, was Du suchst.

    Edit:
    Und schau mal in dem Verzeichnis auf Deinem PC: C:\Programme\MCS Electronics\BASCOM-AVR\SAMPLES\serial
    Gruß: - Reinhard -

  10. #10
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Code:
    if ischarwaiting() then 
              input 
    end if
    oder
    if ischarwaiting(#channel) then 
              input 
    end if
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test