Archiv verlassen und diese Seite im Standarddesign anzeigen : BASCOM 2te UART oder software UART
Hallo
so wie ich das laut der Suchfunktion in den Beiträgen gelesen habe kann Bascom keine 2te UART ansprechen (zb beim ATMega 162)
Oder geht das jetzt doch mit neueren Versionen?
Was ich brauche ist folgendes. 2 serielle Schnittstellen. Beide Endgeräte senden und empfangen mit 9600 Baud.
Allerdings haben die Daten die hin und hergeschickt werden einen overhead den ich jeweils abschneiden muss oder hinzugefuegt werden muss. Mehr soll der Atmel nicht machen.
Im Endeffekt heisst das ein par Zeichen vor dem senden hinzufuegen und ein par Zeichen vor dem Empfang "abbeissen"
Wie kann ich das am besten machen?
Ich hab bei Bascom noch die 1.11.9.1; und da kann ich von nem ATMega2560 eigentlich alle 4 UARTs verwenden.
Zum Empfangenen Text lässt sich mit Bascom mit + ein Text anfügen, zum Abschneiden von Textteilen gibts LEFT, MID, RIGHT, TRIM.
Hallo
danke fuer die antwort. ich haette mein problem besser formolieren muessen.
soweit ich weiss kann ich in BASCOM nur eine UART mittels interupt abfragen. die zweite,dritte,vierte muss ich mit open befehl oeffnen und in den stream lesen und schreiben.
dann besteht aber die gefahr bytes zu verlieren bzw ist "unschoen" zu programieren.
es waere schoener wenn ich beide schnittstellen per interupt programieren koennte.
wenn ich das richtig nachgelesen habe geht das nicht.
stimmt das oder liege ich falsch?
das reine zerstuecklen eines strings ist mir klar wie das geht.
Die Hardware UARTs kannst du mit dem Bytematch usw abfragen. Von denen hat dein 162er doch 2, also kein Problem.
Gruß
Rolf
Ich habe mir die neue Testversion von bascom runtergeladen.
dort gibt es eine anweisung das auch der 2te uart ueber einen interupt ausgeloesst wird. siehe mein beispielcode.
allerdings habe ich nichts gefunden wie ich in den 2ten port etwas schreiben kann (analog zu dem befehl print) und wie ich ein zeichen von der zweiten schnittstelle einlesen kann (anlog zu udr)
ueberlese ich da etwas oder gibt es da tatsaechlich keine befehle?
wenn nein warum gibt es dann ueberhaupt die moeglichkeit den uart 2 ueber interupt abzufragen?
$regfile = "m162def.dat"
$crystal = 3684000
$hwstack = 42
$swstack = 40
$framesize = 40
$baud = 9600
$baud1 = 9600
On Urxc Onrxd
On Urxc1 Onrxd1
Enable Urxc
Enable Urxc1
Enable Interrupts
Do
Loop
End
Onrxd:
Print "1"
Return
Onrxd1:
Print "2"
Return
Ab und zu kommt man auch weiter, wenn man mal in der Hilfe nachsieht.
Du hast doch schon $baud1 gefunden. Wenn du genau dazu die Hilfe öffnest, siehst du, wie es geht.
Gruß
Rolf
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.