-
-
Ich hab mir nun einen "Treiber" geschrieben mit dem ich beliebige Daten via RS232->I2C Adapter auf den Bus schicken kann. Funktioniert soweit auch prima, aber die Sache hat ein Hacken...
Ich benutzte dabei immer die Befehle set / clear RTS bzw set / clear DTR. Das hat zwei Nachteile:
1. Ich muss neben der Start / Stopp Bedingung viermal auf die Serielle Schnittstelle zugreifen um eine einzige(!) null (eins) zu versenden. Macht bei einem 3 Byte Befehl etwa 1600 Zugriffe auf die Schnittstellle
-> Die ganze Sache wird extrem langsam ...
2. Es ist halt bissel unübersichtlich und hässlich
Wenn ich nun zB 40 Befehle direkt hintereinander an RN_MotCntrl via I2C Bus schicke, dann benötige ich dafür etwa 6 Sek.
Bei der Benutzung der Seriellen Schnittstelle von RN_MotCntrl benötige ich für die 40 Befehle etwa 0,5 Sekunden(!)
Ich weiß nicht genau warum der Unterschied so heftig ist, aber ich vermute es liegt daran, dass ich bei der seriellen Übertragung die Bits nicht einzeln auf die Leitungen schalten muss, sondern immer direkt ein Byte Array schicken kann. ( normaler "print" Befehl )
Ich hab es mehrfach probiert, ob ich nicht die Start Stopp Bedingung beim I2C Bus mit setzen der RTS / DTR Leitung generieren kann und dann die daten als Byte Array drüber jage. Das will bei mir aber nicht .. Hat da jemand schon mit Erfahrungen gemacht?
Lange rede kurzer Sinn: Der I2C Bus ist ja recht beliebt, würde mich freuen, wenn Ihr mir kuez erklärt, mit welchen Befehlen ( egal welche Sprache, PC oder µC ) Ihr Eure Daten auf den Bus jagt.
Vielen Dank im voraus
Thorsten
PS: Ich hoffe es ist nicht zulang geworden
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen