Mit Config, so wie es auch in der Hilfe steht.
so definiert man ja die baudrate für einen RS Port, aber wie definiere ich:Code:$regfile = "m162def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 16000000 $baud = 9600
-Parität etc.
-Den 2. RS Port
Mfg
Tobi
Mit Config, so wie es auch in der Hilfe steht.
Ich hab diesen Code:
(nicht getestet)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
Und wie kann ich RS232 empfangen also wenn ich was in den Chip reinsende???
Mfg
Tobi
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!
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:
Das ist zum empfangen (gefunden) leider auch nur für com 1 oder wi kann man das auf Com 2 umschreiben???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
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
Aber du machst es ja auch nicht erst seit gestern.(Bin leider nur ein armer kleiner Delphi Win 32 Programmierer der jetzt auch nen Atmel proggen muss)
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.
Sodele. Mein AVR ist da
Leider bekomme ich bei folgender Kommunikation folgendes Zurück wenn ich "DELETE" in den Chip sende:
das was zurück kommt ist:Code:Input #1 , Buffer1 'Daten lesen Print #1 , Buffer1 ; "b" ' Und wieder zurück
"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...)
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
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 -
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.
Lesezeichen