Kostenlose technische Bibliothek ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK So verbinden Sie einen Mikrocontroller und einen Computer über RS-232. Enzyklopädie der Funkelektronik und Elektrotechnik Lexikon der Funkelektronik und Elektrotechnik / Mikrocontroller Dieser Artikel wurde als Beispiel für die Umsetzung der Entwicklung eines Mikrocontroller-Geräts konzipiert, das von einem Personalcomputer über einen seriellen Kanal gesteuert wird. Es richtet sich an diejenigen, die noch keine Erfahrung mit solchen Entwicklungen haben. Sobald Sie verstanden haben, wie der PC den Mikrocontroller steuert, die von ihm empfangenen Informationen anzeigt, verarbeitet und speichert, können Sie dieses Wissen auf Ihre eigenen Entwicklungen anwenden. Darüber hinaus hat das beschriebene Gerät auch einen eigenständigen Wert: Es handelt sich um ein gesteuertes Digitalvoltmeter, dessen Messergebnisse vor der Anzeige von einem Computer nach einem vorgegebenen Algorithmus verarbeitet und auch in einer Datei auf der Festplatte Ihres PCs gespeichert werden können fahren, ansehen und ausdrucken. All dies macht das beschriebene Gerät zur Grundlage für ein einfaches System zum Sammeln, Verarbeiten und Dokumentieren von Daten, das für Elektronikingenieure nützlich ist, die nicht über ausreichende Kenntnisse der Mikrocontroller-Technologie für eine unabhängige Entwicklung verfügen. Einführung Ziel dieser Arbeit war die Entwicklung und Herstellung des einfachsten Messgeräts auf Basis des heute noch am weitesten verbreiteten Mikrocontrollers der x51-Familie, das Informationen mit einem Personal Computer austauschen kann. Es sollte einen Spannungsmesser im Gerät implementieren, der später durch verschiedene Vorsätze ergänzt werden konnte, die andere direkt gemessene physikalische Größen in Spannung umwandeln. Mit einem solchen Gerät wäre es einfach, computergesteuert eine Reihe von Messungen durchzuführen, die Ergebnisse zu akkumulieren und computergesteuert zu verarbeiten. Mit geringfügigen Änderungen könnte daraus leicht ein System zur Fernüberwachung und -steuerung von Geräten oder anderen Instrumenten und Geräten werden. Allgemeine Beschreibung des Geräts. Elektrischer Teil des Geräts Das Gerät (Abb. 1) ist tatsächlich ein digitales Voltmeter. Am Eingang des Voltmeters befindet sich ein Operationsverstärker (DA1), der eine hohe Eingangsimpedanz aufweist. Dem Operationsverstärker folgt ein ADC (DD2), der es uns ermöglicht, die für uns interessante Spannung für die anschließende Übertragung an den Mikrocontroller zu digitalisieren. Der DD3-Mikrocontroller ist das Hauptsteuerelement des Geräts, da er Informationen vom ADC liest und über einen seriellen Kanal mit einem Personalcomputer kommuniziert. Das Gerät enthält außerdem Leistungswandler zur Erzeugung von +5 V für den digitalen Teil und zur Erzeugung von +/-10 V für den Operationsverstärker sowie einen Pegelumwandlungschip (logisch <0> und <1> bis -15: +15). V und umgekehrt) für den Informationsaustausch über einen seriellen Kanal wie RS232.
Der an den Computer gesendete Wert liegt im Bereich 0...4095 (was der ADC-Bittiefe entspricht), 0 entspricht dem Eingangspegel 0V, 4095 - dem Pegel 5V, die Abhängigkeit ist linear. Die Informationsaustauschrate kann auf weniger als 9600 Baud und höher – bis zu 115 Baud – eingestellt werden. Auf relativ alten Computern wie 200 und früher liegt die Obergrenze viel niedriger – 386 Baud. Dies liegt daran, dass die in diesen Computern installierten Chips für die serielle Schnittstelle nicht für höhere Geschwindigkeiten ausgelegt sind. Beschreibung der Chips MAX680 Netzteilkonverter Operationsverstärker erfordern normalerweise eine bipolare Stromversorgung (z. B. +10 V und -10 V gegen Masse). Funkamateure, die mit der modernen Elementbasis wenig vertraut sind, verwenden normalerweise einen Transformator mit zwei Sekundärwicklungen (oder mit einer, aber mit einem Abgriff in der Mitte), zwei Filterkondensatoren, zwei Stabilisatoren usw., um eine solche Spannung zu erhalten. Allerdings Wenn Ihnen eine stabilisierte Spannung von 5 V zur Verfügung steht und der verwendete Operationsverstärker, der eine bipolare Versorgung benötigt, mit nur +7:10 V auskommt und dabei 1:2 mA verbraucht, dann sind die beiden Wicklungen und zwei Stabilisatoren erwähnt nicht benötigt. Es reicht aus, den MAX680-Chip von Maxim zu verwenden (beachten Sie, dass solche Chips von Linear Technology und einer Reihe anderer namhafter Unternehmen hergestellt werden). Am Eingang der Mikroschaltung wird eine Spannung Uin im Bereich von 3:5 bis 6:10 V (je nach Typ) angelegt, an ihren Ausgängen entstehen Spannungen von etwa + 2Uin. Bemerkenswert ist, dass erstens zusätzlich zum 8-Pin MAX680 bzw. LT1026 nur 4 kleine Elektrolytkondensatoren zur Bildung dieser Spannungen benötigt werden (siehe Abb. 1) und zweitens sich bei einer Änderung der Eingangsspannung die verdoppelte Ausgangsspannung ändert in Phase, was das Ausgangssignal des Operationsverstärkers praktisch nicht beeinflusst. Für eine detailliertere Kenntnis solcher Mikroschaltungen empfiehlt der Autor, auf die entsprechenden Firmenbeschreibungen zu verweisen. ADC MAX1241 In der Mikrocontroller-Technologie wurden in den letzten Jahren in großem Umfang Mikroschaltungen entwickelt, die über einen seriellen Kanal gesteuert werden. Einer dieser Mikroschaltkreise ist der 12-Bit-ADC MAX1241. Wie im Fall von MAX680 gibt es auch für MAX1241 eine ganze Reihe genauer und ungefährer Analoga (MAX187 von Maxim, LTC1286, LTC1298 von Linear Technology, AD7894 von Analog Devices und eine Reihe anderer). MAX1241 ist in einem 8-Pin-Gehäuse untergebracht, wird mit einer Spannung von 2,7 bis 5 V betrieben und verbraucht einen Strom von etwa 5 mA. Es erfordert die Verwendung einer externen Referenzspannungsquelle (in diesem Fall wird eine Präzisions-Zenerdiode KR142EN19 verwendet, die eine Spannung von 2,50 V erzeugt) und verwendet nur 3 Leitungen für die Kommunikation mit dem Mikrocontroller. Der Betrieb von MAX1241 wird durch die Zeitdiagramme in Abb. veranschaulicht. 2. Vor der Konvertierung und dem Austausch muss der CS# MAX1241-Eingang vom Mikrocontroller in einem einzigen Zustand gehalten werden. Um die Konvertierung zu starten, muss an diesen Eingang ein logischer Nullpegel angelegt werden. Der Konvertierungsvorgang im MAX1241 dauert knapp 8 µs. Während der gesamten Konvertierungszeit behält MAX1241 an seinem DOUT-Ausgang den logischen Pegel 0. Nach Abschluss der Konvertierung setzt MAX1241 den DOUT-Ausgang in einen einzelnen Zustand.
Bevor mit der Konvertierung begonnen wird, muss der Mikrocontroller am SCLK MAX1241-Eingang den Null-Logikpegel einstellen. Wenn der Umwandlungsprozess im ADC abgeschlossen ist, muss der Mikrocontroller eine Folge von mindestens 12 positiven Impulsen am SCLK-Eingang erzeugen (Abb. 2). Die steigende Flanke des ersten Impulses bereitet den MAX1241 auf die Datenübertragung vor. Beim Abfallen des Impulses an DOUT erscheint das höchstwertige 12. Bit als logische Null oder Eins. Der Mikrocontroller liest dieses Bit, erzeugt die Vorderseite des zweiten Impulses auf SCLK und nach einer Weile seinen Rückgang. Mit dem Abfall des zweiten Impulses erscheint das 11. Bit, das dann vom Mikrocontroller gelesen wird, auf DOUT usw. Beim Abfall des 12. Impulses wird das niedrigstwertige 1. Bit am DOUT-Ausgang gesetzt. Der Abfall des 13. Impulses versetzt DOUT in den Nullzustand, in dem es sich befindet, bevor der CS#-Eingang auf 1 gesetzt wird. Durch die Übertragung von CS# in einen einzelnen Zustand informiert der Mikrocontroller MAX1241 über den Abschluss des Lesevorgangs des Konvertierungsergebnisses. Die nächste MAX1241-Konvertierung kann etwa 1 µs dauern, nachdem CS# auf 1 gesetzt wurde. Die Betriebsalgorithmen von LTC1286, LTC1298 von Linear Technology und AD7894 von Analog Devices unterscheiden sich geringfügig von den für MAX1241 beschriebenen. Nähere Einzelheiten entnehmen Sie bitte den jeweiligen Firmenbeschreibungen. Pegelwandler MAX202E Es ist für niemanden ein Geheimnis, dass in der Standardlogik Eins durch einen Spannungspegel von 2,4 bis 5 V und Null durch einen Spannungspegel von 0 bis 0,8 V dargestellt wird. Anfänger wissen jedoch möglicherweise nicht, dass Null und Eins über RS- übertragen werden. 232 Kanäle. werden mit dem gleichen Wert (von 5 bis 12 V), aber unterschiedlichen Vorzeichensignalen codiert. Im Rahmen dieses Artikels soll nicht erklärt werden, warum dies üblich ist und nicht anders – wir beschränken uns auf die Feststellung dieser Tatsache. Da für die Übertragung über RS-232 Standard-Logiksignale in Signale eines anderen Pegels umgewandelt werden müssen, ist es notwendig, entsprechende Mittel zur Umwandlung in der Schaltung vorzusehen. Vor etwa 10 Jahren wurden zu diesem Zweck speziell entwickelte Kaskaden aus drei oder vier Transistoren, einem Diodenpaar und fast einem Dutzend Widerständen verwendet. Jetzt hat sich die Situation deutlich geändert: Die führenden Hersteller von Mikroschaltungen produzieren komplett fertige Konverter, die ein Minimum an zusätzlichen Elementen erfordern. Dazu gehören MAXIMs MAX202E und der AD232 von Analog Devices, der bis auf die Pinbelegung völlig identisch mit ihm ist. Im Inneren enthalten beide Mikroschaltungen einen Spannungswandler von +5 V auf +10 V, der mit dem oben beschriebenen MAX680 identisch ist, sowie Kaskaden, die Logiksignale auf Standardebene in Signale auf RS-232-Ebene umwandeln. Jeder dieser Mikroschaltkreise enthält Logikpegelwandler für zwei Empfänger und zwei Sender. Wir werden nur einen Transceiver-Kanal verwenden. Funktionsweise des MK mit einem seriellen Kanal Wie Sie wissen (siehe zum Beispiel die Ausgaben 10 und 11 des Radio-Magazins von 1994), verfügen Mikrocontroller der x51-Familie über vier Transceiver-Betriebsmodi. Uns interessiert Modus 1 als der einfachste und akzeptabelste. Modus 1 ist durch folgende Parameter gekennzeichnet:
Dies ist ein praktischer Programmiermodus: Für die Einrichtung und den Betrieb des Transceivers ist nur sehr wenig Programmiercode erforderlich. Wenn Sie möchten, können Sie jedoch auch andere Betriebsarten verwenden. Der Zweck dieses Artikels besteht darin, ein Gerät zu beschreiben, das mit einem PC kommunizieren kann. Auf die genaue Funktionsweise des Transceivers wird hier nicht näher eingegangen. Diese Informationen können den genannten Zeitschriften „Radio“ oder anderer Literatur entnommen werden. Grundlegende Routinen für MK Die Hauptroutinen für den Mikrocontroller sind: Daten vom ADC lesen, UART initialisieren, ein Byte empfangen und ein Byte senden. Lesen von Daten von ADC Einrichten eines PCs zum Austausch von Informationen über eine serielle Verbindung. Um einen PC für den Informationsaustausch über einen seriellen Kanal einzurichten, müssen Sie Folgendes tun:
Ein Beispiel für einen Code, der für einen Wechselkurs von 9600 bps für einen Quarzresonator mit einer Resonanzfrequenz von 11,059 MHz ausgelegt ist:
GET_VOLT: SETB DOUT ; ERLAUBT DATENEINGABE VON ADC SETB CS ; ANFANGSZUSTAND SETZEN ADC CLR SCLK ; SETZE ANFANGSZUSTAND ADC CLR CS ; GEMELDET, MUL AB-DATEN ZU LESEN; 4 MKS BEI 12 MHZ \ MUL AB ; 4 ISS | MUL AB ; 4 ISS} WARTE AUF DAS ENDE; | ZIFFERN MUL AB ; 4 MKS / MOV R0,#12 ; LESE 12 BIT GET_VC: SETB SCLK ; \ NOP ; | NOP ; | CLR SCLK ; } HABE EINEN IMPULS ZUM LESEN VON BIT NOP ERZEUGT; | NOP ; / BEWEGUNG C, DOUT ; BIT LESEN MOV A, R2 ; \ RLC A ; | MOV R2,A ; | MOV A, R3 ; } PUSH BIT IN WORD ; |ERGEBNIS – R3R2 RLC A ; | MOV R3,A ; / DJNZ R0,GET_VC ; LOOP ANL A,#0FH MOV R3,A ; GELÖSCHTE HIGH-BITS R3R2 SETB CS ; NICHT VORLESEN WOLLEN ; (RESTLICHE BIT = 0) MUL AB ; 4 MKS BEI 12 MHZ \ MUL AB ; 4 ISS | MULAB ; 4 ISS | MULAB ; 4 µs }MIN VERZÖGERUNG ; | VOR DEM NÄCHSTEN MULAB ; 4 ISS | MULAB ; 4 ISS / RET Dieses Unterprogramm wird im Hauptprogramm des Mikrocomputers als das allererste bezeichnet. Im Prinzip kann es nicht einmal als Unterprogramm konzipiert werden. Empfangen und Senden eines Bytes Die Routinen zum Empfangen und Senden eines Bytes über eine serielle Verbindung sind sehr einfach.
SERINIT: MOV IE, #0 ; Alle Interrupts deaktivieren MOV TMOD, #20H ; Modus 2 für Timer 1 einstellen MOV TH1, #REL96 ; Wert für das automatische Nachladen des Zählers MOV TL1, #REL96 ; Anfangszählerwert für 9600 bps ; mit SMOD = 0 ANL PCON, #7FH ; Gelöscht SMOD MOV SCON, #50H ; Modus für 8 Bit Daten und Baudrate, ; zeitabhängig SETB TR1 ; Starte Timer/Setter 1 RET, wobei REL96 eine Konstante gleich 0FDh ist Ein Byte kann nur dann vom SBUF-E/A-Port gelesen werden, wenn das RI-Bit im SCON-Steuer-/Statusregister gesetzt ist, was das Vorhandensein eines Bytes im Empfangspuffer anzeigt. Nach dem Lesen dieses Bytes muss das RI-Bit zurückgesetzt werden. Nachdem Sie ein Byte in den E/A-Port geschrieben haben, müssen Sie warten, bis das TI-Bit gesetzt wird, das das Ende des Sendens des Bytes an die Leitung signalisiert. Dann muss auch das TI-Bit zurückgesetzt werden. Unterprogramm zum Empfangen eines Bytes in den Akkumulator:
GETCH: JNB RI, GETCH MOV A, SBUF CLR RI RET Unterprogramm zum Senden eines Bytes aus dem Akkumulator:
PUTCH: MOV SBUF, A SEND: JNB TI, SEND CLR TI RET Es ist auch zu beachten, dass der Mikrocomputer über keine Mittel zur Erkennung von E/A-Fehlern verfügt. Um die Prüfung hardware-softwaremäßig zu organisieren, ist es möglich, die Anzahl der Ein-/Ausgangsleitungen zu erweitern, über die zusätzliche Signale übertragen werden, und es wird möglich sein, die Zustände zu ermitteln, in denen sich die Dialogteilnehmer befinden lokalisieren und Fehler erkennen. Es ist möglich, die Zuverlässigkeit des Empfangens/Sendens von Informationen auf andere Weise zu erhöhen: durch die Übertragung eines weiteren Bits mit acht Datenbits – dem Paritätsbit, das ähnlich wie das Paritätsflag im Programmstatuswort (Bit 0 PSW) berechnet wird. Es sollte nur für das gesendete oder empfangene Byte berechnet werden. Nachdem Sie das Byte und das Paritätsbit empfangen haben, müssen Sie sie vergleichen, damit sie miteinander übereinstimmen. Wenn sie nicht übereinstimmen, ist ein E/A-Fehler aufgetreten. Um ein zusätzliches 9. Informationsbit zu übertragen, müssen Sie Modus 2 oder 3 des Timers/Zählers verwenden. Allgemeines Programm für MK. Gerätezustandsdiagramm Das allgemeine Mikrocomputerprogramm basiert auf dem unten beschriebenen Algorithmus. Der Algorithmus ist ziemlich kompliziert, weil Dennoch müssen Sie irgendwie, zumindest programmgesteuert, Eingabe-/Ausgabefehler erkennen und auf deren Auftreten reagieren. Zur besseren Übersichtlichkeit wird dem in einfachen Worten beschriebenen Algorithmus eine Abbildung beigefügt – das sogenannte Gerätezustandsdiagramm (Abb. 3), das die vier Hauptzustände des Geräts im Hinblick auf den Informationsaustausch mit einem Computer zeigt.
Lassen Sie uns im Voraus festlegen, dass unser Mikrocomputer ein Sklave ist und ein Personalcomputer führend im Datenaustausch ist. Mit anderen Worten: Das Gerät selbst sollte ohne Befehl vom PC nichts tun. Es ist vollständig dem Steuerrechner untergeordnet. Der Personalcomputer wird aus dem einfachen Grund als Spitzenreiter ausgewählt, weil er über mehr Leistung verfügt und das Gerät ohne besondere Probleme steuern kann. Darüber hinaus können dem Benutzer weitere Servicefunktionen zur Verfügung gestellt werden. Geben Sie eins an - Warten Sie In diesem Zustand befindet sich das Gerät unmittelbar nach dem Einschalten der Versorgungsspannung. Hier wartet es auf eine Initialisierungsanforderung des Rechners, die sich darin äußert, dass der Rechner das NUL-Zeichen sendet. Das Gerät wiederum muss als Reaktion auf die empfangene Anfrage ggf. zusätzliche Module und Ressourcen aktivieren und konfigurieren und dann, wenn alles gut gelaufen ist, ein ACK-Symbol an den Computer senden. Im Fehlerfall sollte ein NAK gesendet werden. Somit findet die erste „Kommunikation“ zweier „Gesprächspartner“ statt. Wenn Sie möchten, können Sie „Grüße austauschen“ oder „die Hände schütteln“. Wenn das Gerät erfolgreich initialisiert wird und dann ein ACK-Zeichen sendet, wechselt es automatisch in den nächsten Status. Dieser Übergang ist im Diagramm durch Pfeil 1 gekennzeichnet. Bereitschaftszustand In diesem Zustand wartet unser Mikrocomputer auf eine PC-Anfrage, um den vom ADC gelesenen Messwert zu senden. Die Anfrage ist ein XON-Zeichen. Bei Annahme dieses Symbols geht das Gerät in einen neuen Zustand über – Senden. Pfeil 2 entspricht dem Übergang. Status senden Auf dem Weg dorthin liest der Mikrocontroller mit der zuvor angegebenen Methode eine binäre Zwölf-Bit-Zahl vom ADC und sendet sie in Teilen an den Computer. Diese Implementierung wandelt die Binärzahl in ihr dreistelliges Hexadezimaläquivalent um, z. B. <1FF> für die Dezimalzahl 511. Senden Sie dann zuerst <1> Nach Abschluss der Übertragung des Werts an den Computer geht der Mikrocomputer in den nächsten Zustand gemäß Pfeil 4 über. Gesendeter Zustand Dieser Zustand ist der letzte und schließt sozusagen den Kreis eines einzelnen Kommunikationsakts zwischen Gerät und Computer. Dabei wird vom Computer erwartet, dass er bestätigt, dass er den an ihn adressierten Wert korrekt empfangen hat. Es gibt mehrere Möglichkeiten, dass der PC auf die gesendete Nummer antwortet: Er kann mit dem XOFF-Symbol über den erfolgreichen Empfang antworten, was bedeutet, dass noch keine weiteren Werte erforderlich sind, oder er kann mit dem XON-Symbol antworten bedeutet, dass ein weiterer Wert benötigt wird. Wenn XOFF empfangen wird, kehrt das Gerät in den Zustand „Ready“ zurück (Übergang 7 im Diagramm). Wird das XON-Symbol empfangen, befindet sich das Gerät wieder im Sendezustand (Übergang 5) und wiederholt das Auslesen vom ADC mit anschließender Übertragung der Nummer auf die Leitung. Der einzige Fall, der nicht berücksichtigt wurde, war, dass dem PC nicht gefiel, was er erhielt: zum Beispiel anstelle von Zeichen im Bereich <0>...<9>, ... Die durch die Pfeile 3 und 8 des Diagramms gekennzeichneten Übergänge blieben unbeschrieben. Wenn der Computer einen schwerwiegenden E/A-Fehler erkennt oder die Kommunikation mit dem Gerät beenden muss, sendet er einfach eine Initialisierungs-NUL, die das Gerät initialisiert und in den Status „Bereit“ versetzt. Diese. Unabhängig davon, in welchem Zustand sich unser Gerät befindet, muss es auf die Initialisierungsanfrage genauso reagieren wie bei der Erstinitialisierung (siehe Punkt Wartestatus). Wenn der Mikrocomputer ein unerwartetes oder falsches Zeichen oder eine unerwartete oder falsche Anfrage empfängt, sollte er darauf immer mit dem NAK-Zeichen antworten. Такая стратегия является выигрышной, так как при подобная организация программы для устройства облегчает выполнение сразу нескольких задач: микро-ЭВМ и ПК не будут играть в испорченный телефон, во-первых, а, во-вторых, они смогут просто и эффективно "общаться" друг mit dem Freund. Kommen wir zum PC. Allgemeines Programm für PC. PC-Zustandsdiagramm Grundsätzlich unterscheidet sich ein gängiges Programm für einen Computer in keiner Weise von dem, das in einem Mikrocontroller verwendet wird. Der Algorithmus wird ähnlich sein und das Zustandsdiagramm wird ähnlich sein. Initialisierung des ersten Zustands Der Computer gelangt hierher, wenn der Benutzer eine Taste auf seiner Tastatur drückt, die der Annahme eines einzelnen Werts entspricht. In diesem Zustand sendet der Computer ein NUL-Initialisierungszeichen an das Gerät und wartet auf eine ACK- oder NAK-Antwort. Wenn ein ACK empfangen wurde, ist die Initialisierung erfolgreich verlaufen und Sie können weiterarbeiten – gehen Sie zum nächsten Status gemäß Pfeil 2 im Diagramm. Wenn der NAK empfangen wird, sollte der Vorgang gestoppt werden und der Computer sollte in den Endzustand „Fertig“ gemäß Pfeil 1 wechseln. Bereitschaftszustand In diesem Zustand bereitet sich der Computer auf den Empfang der Zeichen vor, aus denen der vom Mikrocomputer angeforderte Wert besteht. Es gibt zwei Anfragen zum Senden eines Werts. Die erste ist eine Normalwertanforderung und wird durch das XON-Zeichen abgeglichen. Die zweite Anfrage ist eine Anfrage zum erneuten Senden des letzten Werts. Dies ist erforderlich, wenn der Wert über einen objektiven Zeitraum nicht vollständig übernommen wurde oder falsche Zeichen empfangen wurden, die nicht in die Bereiche von <0> bis <9> und von bis fallen Nachdem wir uns auf den Empfang der Wertzeichen vorbereitet haben, erfolgt als Nächstes eine der beiden oben genannten Anforderungen an unser Gerät. Anschließend wechselt der Computer entlang des Pfeils 4 in den Zustand des Wertempfangs. Empfangszustand Dabei liest der PC lediglich drei Zeichen des vom ADC gemessenen und umgewandelten Wertes. Wie bereits erwähnt, verfügt der Computer über eine gewisse objektive Zeit, um auf einen Charakter zu warten. Wenn das Zeichen in dieser Zeit nicht gelesen wurde, wird diese Situation als fehlerhaft interpretiert, d. h. Es ist ein E/A-Fehler aufgetreten. Übrigens kommt es bei relativ hohen Informationsaustauschraten (mehr als 19200 bps) oder beim Arbeiten im MS-Windows-Betriebssystem (beliebige Version) oft vor, dass ein Computer nur zwei der drei an ihn gesendeten Zeichen empfängt, und manchmal noch weniger - eins. Um zu verhindern, dass der Computer „hängt“ – also unendlich lange auf ein fehlendes oder fehlendes Zeichen wartet – wird eine gewisse Zeit eingeführt, um diese Erwartung einzuschränken. Leider werden diese Auslassungen von der Hardware-Methode nicht erkannt. Diese Implementierung definiert zwei Arten von Zeitüberschreitungen, die vom Benutzer über die Tastatur festgelegt werden können. Der erste Typ ist das Timeout für 1 von 3 Zeichen. Dadurch kann das Gerät die benötigte Zahl ruhig und ohne Eile messen, digitalisieren und in ein symbolisches Äquivalent umwandeln. Und der zweite Typ ist das Zeitlimit für das Senden des zweiten und dritten Zeichens. Kommen wir nun zu möglichen Übergängen vom Empfangszustand in andere Zustände. Wenn nicht alle 3 Zeichen des Werts innerhalb der vorgegebenen Zeit empfangen wurden, muss der Computer unser Gerät auffordern, ihm den Wert erneut zu senden. Diese Situation entspricht dem Übergang entlang des Pfeils 5, d. h. Der Computer stellt eine Anfrage mit einem NAK-Zeichen und wechselt zurück in den Bereitschaftszustand. Wenn beim Empfang durch den Computer ein I/O-Fehler festgestellt wurde (und der PC ausreichend Gelegenheit hat, das Statusregister der seriellen Schnittstelle zu analysieren), ist es besser, sowohl den Computer als auch den Mikrocomputer in den ursprünglichen Zustand zurückzusetzen , d.h. Wiederholen Sie die Initialisierung. Daher ist im Diagramm auch Pfeil 3 vorhanden. Und schließlich, wenn der Computer alle drei Zeichen vom Gerät empfangen hat, geht er in den Analysezustand des empfangenen Werts über – in den Empfangszustand entlang des Pfeils 8. Veröffentlichung: cxem.net Siehe andere Artikel Abschnitt Mikrocontroller. Lesen und Schreiben nützlich Kommentare zu diesem Artikel. Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik: Eine neue Möglichkeit, optische Signale zu steuern und zu manipulieren
05.05.2024 Primium Seneca-Tastatur
05.05.2024 Das höchste astronomische Observatorium der Welt wurde eröffnet
04.05.2024
Weitere interessante Neuigkeiten: ▪ Indikator für verdorbene Lebensmittel ▪ Videospiele auf der realen Weltkarte ▪ Intelligente Hochspannungs-Leistungsmodule mit erhöhter Strombelastbarkeit ▪ Wasserstoffbatterie von Apple ▪ Ein leuchtender Verband warnt vor der Entzündung der Verbrennung News-Feed von Wissenschaft und Technologie, neue Elektronik
Interessante Materialien der Freien Technischen Bibliothek: ▪ Site-Abschnitt Modellierung. Artikelauswahl ▪ Artikel Wie man ins Wasser schaut. Populärer Ausdruck ▪ Artikel Was ist Gas? Ausführliche Antwort ▪ Hydrastis-Artikel. Legenden, Kultivierung, Anwendungsmethoden
Hinterlasse deinen Kommentar zu diesem Artikel: Alle Sprachen dieser Seite Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen www.diagramm.com.ua |