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.
Gast
#3977957
nimm UTART
Gast
#3978016
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.
Gast
#3978021
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
Gast
#3978047
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?
Gast
#3978054
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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.