Gast
#2969643
Hallo, ich soll mal 2 funktionen entwerfen die halt lesen und schreiben vom I2C Bus bzw. von z.B. einen RTC-Baustein etc., aber jetzt gehts nur ums lesen und schreiben. Das Ganze muss ich in C programmieren, hier mal meine Ansätze: http://pastebin.com/xmg9B2nt Also beim Schreiben ist es ja so das bei SCL=0, SDA ändern darf, also wenn SCL=0, soll man Daten auf SDA-Leitung übertragen. start condition brauch ich ja hier nicht, weil ich das ja dann außerhalb später vom unterprogramm machen, also bevor ich das aufrufe, die 2 Unterprogramme sollen nur readByte und WriteByte können. Wenn jetzt das Ack kommt vom Empfänger, wie soll ich da mit dem Takt weiter machen? Muss da SCL auch 0 sein, wenn das ACK kommt? Oder wie ist das? Jetzt zum Lesen: Naja wie ist es hier mit dem SCL? Muss ich da SCL auch 0 sein, wenn ich einen Zustand/Bit von SDA lesen will? Und hier bekomm ich ja ein Acknowledge, was soll ich mit dem anfangen? Wenn ACK=1, dann nix mehr senden und wenn ACK=0, dann weitere Daten senden richtig? Aber wie hängt das alles zusammen, ich weiß nicht was ich mit dem ACK bei der write und read funktion machen soll. Könnt ihr mir bitte helfen? Und überbrüft eventuell auch den Code, also ob das stimmt wie ich das rausschreiben bzw. lese dann. Danke! mfg guest123