loetstelle.net
Lötstelle Userforum
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Software UART -> Eingabe überwachen

 
Neues Thema eröffnen   Neue Antwort erstellen    loetstelle.net Foren-Übersicht -> BASCOM
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
pcprofi



Anmeldungsdatum: 17.02.2008
Beiträge: 1459
Wohnort: Düren

BeitragVerfasst am: So 22.März 2009 16:10:20    Titel: Software UART -> Eingabe überwachen Bauteile finden Antworten mit Zitat

Hallo Bascom-Profis,

hab da mal wieder ein Problem:

Ich muss leider eine Software-UART nutzen... Wie kann ich es hinbekommen, dass die Software ein Byte auffängt, und dieses irgendwo buffert, so dass ich es im Programmverlauf abfragen kann?

Oder muss ich tatsächlich hingehen, und muss dem 2. µC (der Hardware-UART nutzt) eine AbfrageMitteilung senden, ob er was parat hat, und dann auf die Antwort warten?

Gruß Rainer

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gerold



Anmeldungsdatum: 27.07.2007
Beiträge: 927
Wohnort: Oberhofen im Inntal (Tirol)

BeitragVerfasst am: So 22.März 2009 17:13:17    Titel: Re: Software UART -> Eingabe überwachen Bauteile finden Antworten mit Zitat

Hallo Rainer!

pcprofi hat folgendes geschrieben:
Ich muss leider eine Software-UART nutzen... Wie kann ich es hinbekommen, dass die Software ein Byte auffängt, und dieses irgendwo buffert, so dass ich es im Programmverlauf abfragen kann?

Ich nehme mal an, dass du damit meinst, dass der Empfang im Hintergrund abläuft und das Hauptprogramm ungestört weiterlaufen kann.

Bascom-Software-UART läuft so. Es wird in einer Schleife so lange der Status eines Pins abgefragt, bis ein Zeichen oder eine mit CarriageReturn abgeschlossene Zeichenfolge komplett empfangen wurde. Während dieser Zeit, wird die Hauptschleife blockiert.

Nur die Hardware-UART kann im Hintergrund arbeiten und die empfangenen Daten, unabhängig von der Hauptschleife, in eine Buffervariable speichern.

pcprofi hat folgendes geschrieben:
Oder muss ich tatsächlich hingehen, und muss dem 2. µC (der Hardware-UART nutzt) eine AbfrageMitteilung senden, ob er was parat hat, und dann auf die Antwort warten?

Das ist zumindest das Einfachste. Damit weißt du genau, wann du Daten empfängst und kannst das Warten auf Daten gezielt im Hauptprogramm unterbringen.

Andere Möglichkeit: Du sendest vom zweiten µC aus per SPI Daten an den ersten µC. Das würde im Hintergrund passieren. Nach jedem empfangenen Byte bekommst du einen Interrupt ausgelöst.

EDIT:

Noch eine andere Möglichkeit: Wenn du genug (3) Pins übrig hast, dann könntest du vom zweiten µC ein Signal an den ersten µC geben, dass Daten anliegen würden. In der Hauptschleife des ersten µC wird dann ein Signal an den zweiten µC gegeben, um diesem mitzuteilen, dass man jetzt Daten empfangen könne. Erst dann schickt der zweite µC die Daten an den ersten µC. So ähnlich, wie es RS-232 mit CTS und RTS macht (Hardware Handshake). Oder vielleicht doch zu kompliziert...

lg
Gerold
Smile

_________________
http://halvar.at | http://sw3.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
BellaD



Anmeldungsdatum: 03.12.2006
Beiträge: 1708
Wohnort: Klinik der misshandelten Kuscheltiere

BeitragVerfasst am: So 22.März 2009 19:05:32    Titel: Bauteile finden Antworten mit Zitat

Moin

Vielleicht ist es möglich ,bei Verwendung des Software Uart den RX zusätzlich noch auf einen Interrupt zu legen Wink

Mal dat Datenblatt konsultieren .

Welcher MC ?

_________________
Eine Weiterverbreitung ohne ausdrückliche Genehmigung ist untersagt. Für Schäden, lehnen wir jegliche Haftung ab.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
pcprofi



Anmeldungsdatum: 17.02.2008
Beiträge: 1459
Wohnort: Düren

BeitragVerfasst am: So 22.März 2009 19:48:54    Titel: Bauteile finden Antworten mit Zitat

ATMega 8.

Im Datenblatt habe ich dazu nix gefunden - sonst wäre mir die Problematig ja schon eher aufgefallen...

Ich habe vorhin noch ein bisschen gebastelt und habe es tatsächlich auf die zweite von mir beschriebene Art umgesetzt - es funktioniert jetzt, allerdings muss ich an der Abfragehäufigkeit arbeiten... Die Main-Loop ist definitiv zu schnell - dann läuft mir im zweiten Controller der Stack über (er rechnet zu langsam), Timer0 belegt vom Multiplex, Timer1 von einer Uhr (Softclock mit 32,768kHz) ging mangels Bauteilen nicht, und jetzt lässt die Platine es nicht mehr zu, Timer2 belegt von PWM...

Irgendjemand eine fette Idee?

Gruß Rainer

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
pcprofi



Anmeldungsdatum: 17.02.2008
Beiträge: 1459
Wohnort: Düren

BeitragVerfasst am: So 03.Mai 2009 09:51:35    Titel: Bauteile finden Antworten mit Zitat

Egal...

Ich hab die PWM-Steuerung rausgemacht und stattdessen den IR-Empfänger mitsamt Timer drangeprügelt. Das ist jetzt draus geworden...

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheBug



Anmeldungsdatum: 20.07.2007
Beiträge: 1484

BeitragVerfasst am: So 03.Mai 2009 10:57:23    Titel: Bauteile finden Antworten mit Zitat

Hm, wo ist denn da der Kerko an der Stromversorgung des Microcontrollers?
_________________
Wenn Sie nichts zu tun haben, tun Sie es bitte nicht hier...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
pcprofi



Anmeldungsdatum: 17.02.2008
Beiträge: 1459
Wohnort: Düren

BeitragVerfasst am: So 03.Mai 2009 12:46:45    Titel: Bauteile finden Antworten mit Zitat

Ich wusste, dass es irgendeiner merkt...

Ich hab ihn vergessen Wink

Der 7805 hat aber welche, und so lang sind die Leiterbahnen ja auch nicht - jedenfalls funktioniert es trotzdem sehr zuverlässig und genau. Auch der /RESET hat keinen externen Pullup-R - hat auch noch kein Problem gemacht...

Und beim Quarz scheint der CKOPT auch auszureichen... Läuft jedenfalls sehr sauber die ganze Geschichte...

Gruß Rainer

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheBug



Anmeldungsdatum: 20.07.2007
Beiträge: 1484

BeitragVerfasst am: So 03.Mai 2009 22:18:33    Titel: Bauteile finden Antworten mit Zitat

Ist wie aus einem Hochhaus zu springen: Die ersten Stockwerke gibt es noch kein Problem...

Das hat nichts mit sauber funktionieren zu tun, sondern mit bisher Glück gehabt. Direkt ran an die Pins von Chip 100nF Kerko nachlöten, sonst kommen irgendwann böse Überraschungen.

_________________
Wenn Sie nichts zu tun haben, tun Sie es bitte nicht hier...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Anzeige






Verfasst am: Heute 08:48:43    Titel: Bauteile finden

Nach oben
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    loetstelle.net Foren-Übersicht -> BASCOM Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen


Powered by phpBB 2.x © 2001, 2002 phpBB Group

Sie sind Besucher Nr. 1200402
©opyright by Markus Vohburger 2005 All Rights reserved