Arduino-Binär-zu-dezimal-Konvertierung
Ich bin mit Arduino zu Lesen, dass ein 80-bit serial-sync-Binär-code, mit einer digitalen Ablage für eingehende Daten und eine für die timing-als Riegel, wenn zum Lesen eines digitalen Daten-pin. Ich habe konvertiert den input-Daten zu TTL und gespeichert in eine Feste Länge (100) - array . Ich habe analysiert, diese noch weiter in 5 verschiedenen arrays mit jeweils festen binäre Länge. array ist 17 Poller, zwei 20 drei 14 -, vier 18-und fünf 11. Meine Frage ist, wie zu konvertieren jedes dieser 5 arrays in dezimale Werte werden dann an eine Anzeige?
- Wollen Sie einen Algorithmus zum konvertieren sagen 1011 11? Verstehe ich das richtig?
- Ich verstehe nicht alles! Was ist der Sinn des arrays, die eine unterschiedliche Länge, was ist die info-TTL-hier bedeuten? Wenn Sie nur wollen, zu konvertieren von Binär-nach-ascii verwenden Sie bitte die Funktionen aus der lib. Warum müssen wir wissen, dass die Daten von der seriellen io?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bemerken: wir arbeiten mit bytes(als Blöcke), wenn wir schreiben oder Lesen form serielle Schnittstellen.
Und ich werde ein array in meiner Antwort.
Für Ihre erste array mit 17 bit:
array1[17]: es ist Ihre erste array.
num: hat den Dezimalwert der binären array; num = 2^i * array1[i] + num
Während ich bezieht sich auf Indizes.
Ich verwendet tempNUM Zwischenspeicher jede Ziffer von num Wert und drucken Sie es als einzelnes byte in dezimal.
Z.B.:
Wenn num = 13 dann ->
tempNUM = 13 - (10 * int(1.3)) - 0 = 13 - (10 * 1) = 3
Print (3/1) = 3 als Ziffer und dann
tempNUM = 13 - (100 * int(0.13)) - 3 = 13 - (100 * 0) - 3 = 10
Print (10/10) = 1 und so weiter ...