-
-
Neuer Benutzer
Öfters hier
Ja der TWI läuft bei mir. Ich spreche ein EEPROM über den Hardware TWI an (im Polling Modus) und eine RTC per Software TWI.
Ich seh bei dir keine Grundeinstellungen, also fangen wir mal an mit :
.equ EEPROM = 160 ; 1010 für EEPROM, 000x für individuelle Geräteadresse, dh Pins auf GND, x (R/W)wird softwareseitig verwaltet
Dann mache ich es so das ich die Register gerne mit ihrer Bezeichnung anspreche sofern es geht, das vereinfacht den Abgleich mit dem Datenblatt, und geht schneller, ggf müssen die Werte aber vorher vereinbart werden...
cbi TWSR, TWPS1 ; (0) Prescaler Value =1
cbi TWSR, TWPS0 ; (0)
ldi r16,0x0C ; = 12
out twbr,r16
Das nehme ich für 4MHz ! Das TWBR ist variabel, 10 - 15 sollte alles gehen.... Ob deine Werte ok sind kann ich nicht sagen da ich die Clock Frequenz deines MC nicht kenne. Kannst ja aber mit den Werten kontrollrechnen.
Sie erst mal zu das du nicht schon in der ersten START übertragung steckenbleibst ( ich bau immer kleine "rcall light" - LED Blitze ein um zu sehen ob bestimmte Stellen auch durchlaufen werden oder ob er steckenbleibt.
Da du bereits so früh hängst würde ich den Fehler
A.) irgendwo im Vereinbarungsteil von Konstanten,Variablen, usw oder
b) in der Hardware suchen.
Ich nehm nicht an das du zufälligerweise ein Speicheroszi zur Verfügung hast? Hilft ungemein.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen