Guten Tag, ich möchte ein 2-dimensionales Array (info_array[256][3]) von meinen Attiny85 zum RaspberryPi übertragen (Programm in C soll die Werte empfangen). Die Werte können/sollen jede Minute von Raspberry aktualisiert werden. Welche Möglichkeit schlagt ihr vor? Seriell, I2C, UTART oder doch SPI? Viele Grüße, Daniel
Gegenfrage: Bei welcher Variante hast du denn das Gefühl, dass sie in deiner Reichweite des Könnens liegt? Denn: machbar ist es mit allem. Bei 'Minutentakt' ist das auch kein Zeitproblem und über technische Eleganz lässt sich streiten. Bleibt nur noch die Frage, über welche Programmierfähigkeiten du verfügst. Denn die Methode ist ja nur Transportmedium. Darum, dass am Pi alles genau so ankommt, wie du es auf dem Tiny hast, musst du dich in allen Fällen selbst kümmern.
:
Bearbeitet durch User
Daniel Gronewold schrieb: > Seriell, I2C, UTART oder doch SPI? Das RaspberryPi hat Hardware I2C das ist somit relativ einfach. Am besten ist das RaspberryPi Master und holt über Timer die Daten vom uC als Slave ab.
Der ATTiny85 hat keinen UART. Ich würde also auch i2c nehmen. UART mit USI ist nicht sooo toll (AVR307).
Hallo, ich habe auch gedacht i2c zu nehmen, war mir aber nicht sicher, ob das günstig ist. Ich danke für eure Antworten! Gruß, Daniel
Daniel Gronewold schrieb: > ich möchte ein 2-dimensionales Array (info_array[256][3]) von meinen > Attiny85 zum RaspberryPi übertragen Dir ist bewusst, dass der Attiny85 nur 512 Byte SRAM hat?
Daniel Gronewold schrieb: > ich möchte ein 2-dimensionales Array (info_array[256][3]) von meinen > Attiny85 zum RaspberryPi übertragen Vielleicht noch was grundsätzliches: alles was der Attiny kann (Sensoren, I/O, PWM) könnte man auch direkt am RaspberryPi anschliessen. Nur kann man dann nicht Linux nehmen sondern ein RTOS. Das hier ist z.B. minimal und umsonst und I2C kann man sogar wie BASCOM in BASIC machen (Latenz im us Bereich), hier mal ein LM75 Temperatursensor an Adresse 48H: https://www.riscosopen.org/content/sales/risc-os-pico DIM BUF% 2 ?BUF% = &00 SYS "IIC_Control", &48*2, BUF%, 1 REPEAT SYS "IIC_Control", &48*2+1, BUF%, 2 PRINT ?BUF% + (?(BUF%+1))/256 UNTIL FALSE
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.