Spielt die Baudeinstellung des System-COM-Ports eine Rolle für Arduino?

Ich habe ein benutzerdefiniertes Arduino-Board, das im Grunde wie jedes ATMega328P-basierte Setup ist. Ich verwende den FTDI-Freund von Adafruit, um damit zu kommunizieren, und wenn die Treiber dafür installiert sind, können Sie im Geräte-Manager (Windows 7 SP1) sehen, dass die Baudrate auf 9600 eingestellt ist.

In meiner Arduino-Skizze habe ich jedoch die Baudrate auf 115200 eingestellt und kann mit dieser Geschwindigkeit von einem Python-Skript aus kommunizieren.

Ist die Einstellung in den Treibereigenschaften also tatsächlich von Bedeutung?

Der Hauptgrund, warum ich versuche, das herauszufinden, ist, dass dies für ein Kit ist, das verkauft wird, und ich möchte ein Setup, das für jeden mit der Standardtreiberinstallation funktioniert. Ich bin ziemlich glücklich, wenn es nur mit dem funktioniert, was Sie in der Software eingestellt haben, wollte aber nur sicher sein, dass dies der Fall ist.

Antworten (1)

Ich habe keine gute Referenz dafür, aber wenn Sie eine serielle Schnittstelle in Windows mit der Win32- SetCommStateAPI einrichten (die unter anderem die Baudrate festlegt), wird die aktuell ausgewählte Baudrate im Geräte-Manager nicht angezeigt. Das ist ein Low-Level-Win32-Aufruf, den Python, .NET und andere Plattformen weiterhin für die serielle Kommunikation verwenden werden.

Ich glaube, der traditionelle Grund dafür, die Baud-Einstellung im Gerätetreiber zu haben, war nur eine Standardeinstellung für Anwendungen, die sie nicht angegeben haben. Ein Beispiel, das mir in den Sinn kommt, ist, als serielle Drucker üblicher waren, als es nützlich war, Daten aus einer Datei oder einer Befehlszeilenanwendung an einen COM-Port zu leiten.

Während es vermutlich immer noch so funktioniert, was Sie durch Eingabe eines Befehls bestätigen könnten, z. B. copy test.txt com1:nach dem Ändern der Einstellungen des Gerätemanagers, neigen alle modernen Anwendungen, die ich seit geraumer Zeit sehe, dazu, die Baudrate und andere Einstellungen explizit festzulegen. Zusammenfassend glaube ich nicht, dass Sie sich Sorgen machen müssen, 9600 scheint die Standardeinstellung für die meisten seriellen Gerätetreiber zu sein, aber die meisten Anwendungen überschreiben sie trotzdem, wenn sie den Port öffnen.

Klingt für mich vernünftig genug :)