ich habe ne ganz kurze Frage, die Pins für die I2C und SPI Schnittstelle überschneiden sich, ich habe gelesen, dass die Schnittstellen nicht gleichzeitig nutzbar sind, aber wäre es möglich sie nacheinander zu nutzen? also Modul a mit I2C ansprechen. Wenn das fertig ist Modul B mit SPI ansprechen.
Das wird nicht so einfach funktionieren, da I2C u. Umständen dann nur einmal bis zum ersten Mal funktioniert, und Du dann ohne Neustart / Reset nicht wieder auf das i2C-Modul / Baustein zugreifen. Aber eventuell kannst Du mit Softwire eine Software i2C schnitstelle auf 2 anderen Pins einrichten. Allerdings weiss ich im Moment nicht, ob es eine SoftWire Library gibt die einerseits auf den Attinys läuft und dir andererseits ausreichend Platz für deinen Restlich benötigten Code lässt. da ja der Attiny44 nur 4K Speicher hat. Ich habe noch keine SoftWire auf Attinys ausprobiert nur auf ATmegas. Da aber auch die Wire Library für die Attinys schon so angepasst werdn musste (TinyWire) damit di in die Tinys reinpasst, müsste sehrwahrscheinlich auch SoftWire in einer angepasstenn Form genutzt werden. Eventuell wäre, wenn Du wirklich SPI und I2C gleichzeitig brauchst die Wahl eine anderen Controllers in betracht ziehen wie z.B den Attiny 3216 oder ähnlich eine Idee.Allerdings hat dieser (und seine Familie) eine etwas andere Programierschnitstelle, für die ein angepasster Programmier-Adaprter benötigt wird. Eine andere Möglichkeit wäre der Attiny167 diser hat die SPI und die I2C Pins getrennt herausgesführt so dass beide Schnitstellen gleichzeitig genutzt werden können. Dieser kannst Du auch entweder über SPI oder nach aufspielen eines Bootloaders auch übr die RX/TX anschlüsse flashen.
ich denke es macht mehr Sinn die "Module" als SPI oder als I2C zu besorgen und nur eine Schnittstelle auf dem 44er zu nutzen. Speicher hast ja auch nicht endlos zur Verfügung.
Da beim ATtiny44
SCL und CLK
MOSI und SDA
auf den geliechen Pins sitzen kann es meiner Ansicht an zu Kurzschlüssen kommen.
Die Ausgänge des Slaves der SPI Schnittstelle werden über EN hochohmig geschaltet, jedoch nicht die der I2C Schnittstelle.
Ein I2C Device kann sowohl SDA wie auch SCL auf Masse ziehen. Wenn ein SPI Datenpacket vom I2C für sich interpretiert wird kann sowohl SDA als SCL auf Masse gezogen werden und somit ein HIGH Signal der SPI Komunikation kurzschließen. Zusätzliche Hardware um diesen Konflickt zu unterbinden ist nur eine Komplikation, die, wie bereits gesagt, durch Wahl eines der beiden Busse und entsprechender ICs ausgeschlossen werden kann.
Ein Beispiel war das Ethernetmodul mit W5100 (nicht das Shield) das seine MiSo nicht hochohmig geschalten hat und über >10 Jahre so weiter produziert wurde.
Im letzten Jahr sind hier im Forum auch mehrere andere Module mit diesem Fehler aufgetaucht, ich habe mir aber nicht gemerkt, welche.
Wenn nichts Anderes an diesem SPI Bus hängt, fällt es ja nicht auf.