Forum: Mikrocontroller und Digitale Elektronik Basco AVR Interupt bei UART Empfang


von Christian (Gast)


Lesenswert?

Hallo,
ich benutze Bascom.
Sobald etwas über die UART Scnitstelle empfangen wird, soll ein 
Interrupt ausgelöst werden.
Ich möchte dies aber mit der Software-UART realisieren.
Mit der Hardware-UART habe ich es schon hinbekommen.
1
Dim Incoming_data As String * 15
2
Declare Sub Serial0charmatch()
3
Config Serialin = Buffered , Size = 200 , Bytematch = 13
4
5
Enable Interrupts
6
7
Sub Serial0charmatch()
8
9
    Incoming_data = ""
10
    Input Incoming_data Noecho
11
    'Daten empfangen
12
13
    Return
14
End Sub

Aber ist das auch mit der Software-UART möglich?
Wie stellt man das an?

von Udo (Gast)


Lesenswert?

Wird wahrschenlich nur über einen Pin-Change-Interrupt gehen um 
festzustellen ob am Pin etwas passiert ist (also Daten kommen), da du ja 
kein Empfangsregister hast.

von Weingut P. (weinbauer)


Lesenswert?

das geht nur, wenn man die Soft-UART auf einen externen Interrupteingang 
legt und den dann auf falling konfiguriert. In der ISR dann n GET, aber 
vorsicht, währen des Empfangs macht der Controller dann nix anderes mehr 
als auf die UART zu warten. Andere Interrupts sind dann blockiert.
Man kann da auch mit nem FLag arbeiten, dann muss man aber in der 
Mainloop sicherstellen, dass das Flag auch hurtig abgearbeitet wird, 
sonst passt das Timing nicht mehr.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.