Hallo, wie hoch darf die Ziffer sein, die ein Arduino noch versteht und damit rechnen kann? Ich wollte gerne 20 Schieberegister 74HC595 verwenden. Ein Schieberegister hat ja 256 digitale Möglichkeiten. Schließe ich einen zweiten an und kaskadiere ich den, so habe ich schon 65.536 (256*256) Möglichkeiten. Ein weiterer Schieberegister würde dann schon 16.777.216 (256*256*256) Möglichkeiten ergeben. Mein Problem ist, dass die Zahlen immer größer werden und ich den Überblick verliere. Gibt es da eine andere Möglichkeit, um für jeden Schieberegister nur Zahlen von 0 bis 255 verwenden zu können??? Vielen Dank im Vorraus
Array von Bytes und eins nach dem anderen raustickern? Wo ist das Problem?
Das Problem ist, dass ich nicht weiß wie ich das programmiere bzw. wie der Code aussieht, habe leider nix im Netz finden können. Auch Videos auf YouTube helfen mir nicht weiter.
Wenn du nicht mal weißt wie du ein Array anlegst, bzw. was es ist, dann solltest du erstmal Programmieren lernen, und dann den Arduino wieder auspacken.
Ich bin ja gerade dabei das Programmieren zu lernen, ich habe aber kein Mentor den ich fragen kann wenn ich etwas nicht verstehe, deshalb frage ich ja nach. Aber wenn das hier nur ein Forum für Fortgeschrittene ist dann ziehe ich natürlich meine Frage zurück und versuche es auf anderen Foren die mehr Verständnis zeigen. Ich bin halt noch ein blutiger Anfänger. Außerdem glaube ich nicht, dass diese Diskussion hier im Sinne des Forums ist.
André schrieb: > Das Problem ist, dass ich nicht weiß wie ich das programmiere bzw. wie > der Code aussieht Dann guck z.B. erstmal im C-Grundlagenbuch nach "Array" und "For-Schleife". > ... habe leider nix im Netz finden können Es wäre schon ein großer Zufall, wenn sich unter "20 Schieberegister 74HC595 verwenden" direkt irgendetwas finden ließe ;-)
Mache ein Array mit 20 Bytes:
1 | unsigned char arAusgabe[20]; |
nun kannst Du in jedes Array Element eine Zahl zwischen 0 und 255 rein schreiben:
1 | arAusgabe[0] = 1; |
2 | arAusgabe[1] = 2; |
3 | arAusgabe[2] = 5; |
4 | : : : |
5 | arAusgabe[18] = 255; |
6 | arAusgabe[19] = 190; |
Zu den Schieberegistern überträgst Du die Array-Elemente nacheinander:
1 | for (i = 0; i < 20; i++) |
2 | AusgabeByte(arAusgabe[i]); |
so ungefähr sollte das dann klappen. Wobei die Funktion "AusgabeByte()" musst Du auch schon haben oder noch programmieren. Ich habe kein Ahnung von Arduino. So und nun lerne C Grundlagen.
:
Bearbeitet durch User
Ich möchte hier mal auf die Netiquette verweisen... RTFM... Das Thema Schieberegister gibt's hier im Forum und im Netz zig mal... Wenn du nicht fähig bist Google zu bedienen, dann kauf dir halt ein Buch. Und bevor du das programmieren Lernen anfängst unbedingt ein Tutorium zu Web Recherche machen! Manchmal versteh ich die Diskussionen über Arduino und insbesondere seine Anwender...
André schrieb: > wie hoch darf die Ziffer sein, die ein Arduino noch versteht und damit > rechnen kann? Addieren? Nehme ich es mal als Stellvertreter. So hoch, bzw. so groß, wie der Speicher ist. Allerdings kannst du da deine C Umgebung so ziemlich vergessen, da beim addieren das Carryflag wichtig ist und du aus C da keinen Zugang findest. Ich würde mir eine kleine C Funktion basteln mit eingebettetem Assembler. Es gibt auch noch BCD Arithmetik. Aber das ist recht langsam und Ressourcen fressend. >Außerdem glaube ich nicht, dass diese Diskussion hier im Sinne des >Forums ist. Ein Forum ist zum Diskutieren da!
> Ein Forum ist zum Diskutieren da!
Ja das ist korrekt, aber man diskutiert hier nicht über Kartoffeln oder
Möhren sondern über Elektronik und wenn ich hier mich erst Erklären bzw.
verteidigen muss, dann bin ich hier falsch, wenn das auch schon unter
elektronische Diskussion fällt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.