Hallo, ich versuche zur Zeit gerad eine I2C Lib für den Hardware I2C des MSP430F16x zu schreiben, weil ich nix im Nezt gefunden habe. Nun eine Frage zum Datenblatt. Ich habe eine 8MHz Quarz am XT2 und ich möchte eine I2C-Frequenz von 100kHz wie muss ich dann genau die 3 Register einstellen? I2CPSC = ? I2CSCLH = ? I2CSCLL = ? Besten Dank im Voraus mfg mathias
So ich glaube ich habe es jetzt kapiert. Stimmt das so wenn ich einen 8MHz Quarz habe und eine I2C Clock von 100kHz möchte. I2CPSC = 0x02; // I2C clock = clock source/I2CPSC // für 8MHz Quarz / (3+1) ==> 2MHz I2CSCLH = 0x08; // SCL high period = (8+2)*I2C clock // 1/2MHz ==> 0.5µSec * 10 => 5µSec I2CSCLL = 0x08; // SCL low period => wie I2CSLH // SCL Low, 5µSec + SCL High, 5µSec = 10µSec // ==> 1/10µSec = 100kHz I2C Clock Besten Dank mfg mathias
sorry, mit dem µC hab ich noch nicht gearbeitet. musst nur aufpassen. bei den meisten ist es so, dass du vor ändern bestimmter register, unter anderem auch dieser, die für die clock zuständig sind, wiederum andere setzen musst, damit du überhaupt schreibend auf diese zugreifen kannst. am besten schaust du mit nem Oszi nach, ob du die gewünschte busrate hast.
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.