Forum: Mikrocontroller und Digitale Elektronik Software Serout/I2C


von Danny (Gast)


Lesenswert?

Wie viel schneller ist eine Hardware serielle Uart
gegenüber der Software Lösung.
Z.B. Einen Block von 50 Byte Ausgeben?

Wie sieht dies bei I2C aus im Vergleich?

von Cyblord -. (cyblord)


Lesenswert?

Danny schrieb:
> Wie viel schneller ist eine Hardware serielle Uart
> gegenüber der Software Lösung.
> Z.B. Einen Block von 50 Byte Ausgeben?
>
> Wie sieht dies bei I2C aus im Vergleich?

Also Nachts ist es meist kälter als Draußen. So viel kann man zu deinem 
Problem sagen.

Pro-Tipp: Die Geschwindigkeit bei UART hängt von der gewählten Baudrate 
ab. Die max. Baudrate natürlich von der Controller Perfomance.
Die max. Geschwindigkeit von I2C hängt von der Taktrate ab. Die max. 
Taktrate hängt von der Controller-Perfomance ab.

Dafür brauchst du einen Thread? Ernsthaft?

von Danny (Gast)


Lesenswert?

Cyblord ---- schrieb:
> Dafür brauchst du einen Thread? Ernsthaft?

Was du schreibst ist nichts neues.


Das du die Frage nicht verstehst ist für mich nicht nachvollziehbar!
Wüsste auch nicht wie ich sie dir erläutern soll.
Aber für dich versuche ich es.
Ich gebe mit Nutzung der internen Uart Controller Hardware 50 Byte aus!

Jetzt Programmiere ich eine Software serielle mit gleichen Versuchs 
Ausgabewerten.
Gebe damit auch 50 Byte aus!

Was ist die schnellere Ausgaberoutine und um wievielt Prozent, z.B.

Das gleiche bei der I2C wo der Zeitunterschied größer sein dürfte.

Cyblord , auch für dich dürfte dies reichen!

von Karl M. (Gast)


Lesenswert?

Ne Danny,

das ist so nicht einfach in eine Formel zu packen, ich versuche es mal 
mathematisch:

UART * a = I2C * b ; mit a,b E |N

von Danny (Gast)


Lesenswert?

verarschen kann ich mich alleine!

von MarkAufDerSucheNachQuark (Gast)


Lesenswert?

Vermutlich gleich schnell, beim UART ist die Baudrate vom Empfänger 
vorgegeben und I²C geht bis max. 400kHz was sich in Software leicht 
erreichen lässt.

von Danny (Gast)


Lesenswert?

O.K.
Fragestellung war nicht von mir.;-)

ICH wollte nur wissen welche Max.Baudrate man mit der Software Lösung,
z.B. AVR/Pic  bei 16 MHz erreichen kann?
Wie viel Rechenleistung wird dann für die Software Lösung verbraucht.?

von holger (Gast)


Lesenswert?

>ICH wollte nur wissen welche Max.Baudrate man mit der Software Lösung,
>z.B. AVR/Pic  bei 16 MHz erreichen kann?

Wie schnell kannst du einen Pin toggeln? Senden ist einfach,
empfangen nicht mehr so einfach.

>Wie viel Rechenleistung wird dann für die Software Lösung verbraucht.?

Mehr als mit einer Hardwarelösung. Das kommt darauf an wie
gut du programmieren kannst.

von Oliver R. (orb)


Lesenswert?

MarkAufDerSucheNachQuark schrieb:
> I²C geht bis max. 400kHz

Du hast die Version 2.0 mit 3,4MBit/s, die 3.0 die 1Mbit/s ergänzt hat 
und die 4.0 die 5MBit/s brachte verpasst.

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.