Hallo, ich möchte mit dem Attiny84/Alternativ Attiny841 einen DS3231 über I2C auslesen. Leider haben beide keine I2C Master Schnittstelle :( http://www.atmel.com/Images/doc8478.pdf http://www.atmel.com/Images/doc2564.pdf Die konnten mir auch nicht weiterhelfen. Finde zu Software TWI/I2C ebenfalls nicht das passende. Das ganze möchte ich an Anlehnung dieser Lib später realisieren. https://github.com/akafugu/ds_rtc_lib/blob/master/library-gcc/rtc.c Danke für eure Hilfe
dann nimm einen der Hardware tWI drin hat. ansonsten überschüttet dich Google mit Hilfe
>Überschüttet werde ich da nur mit Arduino Lösungen :( Der Rest rar.
google
twi usi
Führt dich direkt zu Atmel.
AVRs sind mitunter schlecht mit Peripherie ausgestattet. Ein gleich großer PIC24F08KL200 hat einen richtigen Hardware-UART und eine richtige MSSP, die alle erdenklichen SPI und I2C-Modi kann. "Tellerrand" sag ich da nur. Dass er nebenbei doppelt so schnell ist und 16 statt 8 Bits hat, ist ein angenehmer Nebeneffekt. Oder Du nimmst statt dem DS3231 einen DS3234. Der hat SPI statt I2C. fchk
Die anderen Attinys die ich habe, haben ebenfalls 2 Hardware USART schnittstellen (841). Mit PIC noch nie gearbeitet. Ist zwar direkt teurer als meine Attinys, hält sich aber in grenzen. Da ist der DS3234 leider ganz anders, mal schnell Preise geprüpft. Bei ebay nicht bezahlbar und für 2-3 Stk lohnt sich nicht bei Mouser zu bestellen. Mal schaun ob man bei Maxim noch Samples bekommen. Sind mit ausnahme des größeren Packages (mehr Pins) soweit noch vertretbar.
Das hab ich mit usi twi nur gefunden. http://www.jtronics.de/avr-projekte/library-i2c-twi-slave-usi.html Das werde ich mir mal näher anschauen. Von den Atmel Seiten habe ich ein paar bereits vorher gesehen, die reden dort aber fast durchgehend nur über den Slave. Und Slave bringt mir nichts, da ich ja die Verbindung zum DS aufbauen muss.
>Das hab ich mit usi twi nur gefunden. google Platz vier: http://www.atmel.com/images/atmel-2561-using-the-usi-module-as-a-i2c-master_ap-note_avr310.pdf
http://www.mikrocontroller.net/attachment/226063/USI_TWI_Master.c Ist dass die C-Datei dazu? Bei Atmel war kein Code als solches nicht als Beispiel hinterlegt.
Beitrag "Attiny85 I2C DS3231" Hatte das auch mal versucht. Die Infos, die dann ausgegeben werden, sind sehr sperrlich. Google findet auch nach langem Suchen nichts. Habe das Projekt nicht weiter verfolgt. Es gibt viele Sachen, die bei µC sehr gut erklärt sind. Aber gerade der TWI Teil kommt da einfac zu kurz. http://www.mikrocontroller.net/attachment/226063/USI_TWI_Master.c Das dürfte die Headerdatei dazu sein http://www.cs.cmu.edu/~dst/ARTSI/Create/PC%20Comm/USI_TWI_Master.h Ging bei mir nicht. Zum einen war der Attiny85 dort nicht mitgelistet und es wurde mit den Datenblatt keine passenden Register gefunden. Wäre schön gewesen, wenn man mal irgendwo ein komplettes Beispiel für Attiny44/84/45/85 irgendwo finden könnte. Aber derzeit fehlanzeige.
Merri schrieb: > http://www.mikrocontroller.net/attachment/226063/U... > > Ist dass die C-Datei dazu? Nein: http://www.atmel.com/images/Atmel-2561-Using-the-USI-Module-as-a-I2C-Master_AP-Note_AVR310.zip > Bei Atmel war kein Code als solches nicht als Beispiel hinterlegt. Einfach mal bei Atmel die Seite vom Tiny85 aufmachen und die Dukumente ansehen: http://www.atmel.com/devices/attiny84a.aspx?tab=documents Alles da.
Hilft nicht wirklich weiter, es wird nicht darauf eingegangen,welche Register ich für den Attiny841 dort suchen muss. Es gibt keinerlei Hinweise, wie die Register dort heißen. Keines der TWI Register passt zu den Punkten
1 | USIDR = 0xFF; // Preload dataregister with "released level" data. |
2 | USICR = (0<<USISIE)|(0<<USIOIE)| // Disable Interrupts. |
3 | (1<<USIWM1)|(0<<USIWM0)| // Set USI in Two-wire mode. |
4 | (1<<USICS1)|(0<<USICS0)|(1<<USICLK)| // Software stobe as counter clock source |
5 | (0<<USITC); |
6 | USISR = (1<<USISIF)|(1<<USIOIF)|(1<<USIPF)|(1<<USIDC)| // Clear flags, |
7 | (0x0<<USICNT0); // and reset counter. |
In solchen Fällen hilft ein Blick ins Datenblatt. In diesem Fall hättest Du sehen können, daß der 841 nur Register für TWI-Slaves zu finden sind und nirgends erwähnt ist, daß er Master spielen kann. Bei Deinem ersten Kandidaten, dem Tiny84 findest Du alle nötigen Register unter genau den Bezeinungen.
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.