www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI über USI am aTTiny2313, problem


Autor: Sanja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,

nachdem ich schonwieder einige Tage damit verbracht habe aus 
Datenblättern und Codebeispielen schlau zu werden, brauch ich dann doch 
leider euren Rat.

Ich möchte einen RTC DS1306 an meinen attiny2313 anschließen. Problem 
ist die Kommunikation. Das ganze soll über SPI laufen, also über die USI 
Schnittstelle des tiny.

Ich habe nun versucht zwei Methoden zu schreiben für das initialisieren 
und das Daten senden zum RTC. Allerdings zweifel ich daran ob das so 
funktionieren kann. Da ich es momentan noch nicht ausprobieren kann wäre 
ich euch sehr dankbar, wenn ihr einen kurzen Blick auf die paar Zeilen 
werfen könntet, um mir zu sagen ob das so alles richtig ist.

Gruß Sanja

#include <avr/io.h>
#include <inttypes.h>
#include <util/delay.h>

//#define CE    4
#define MOSI  5
//#define MISO  6
//#define SCLK  7




void SPI_init()
{
  DDRB=~(1<<MOSI); 

}

void rtc_sent(uint8_t w_adress, uint8_t data)
{
   //Daten für Adresse ins Senderegister
  USIDR = w_adress;      
    USISR = (1<<USIOIF);    //Zurücksetzen von Counterwert & Flag
  
    do
    {
      USICR =  (1<<USIWM0)|(1<<USICS1)|
               (1<<USICLK)|(1<<USITC);
    }
    while (!(USISR&(1<<USIOIF)));
  
    //Daten für RTCdaten ins Senderegister
    USIDR = data;
    USISR = (1<<USIOIF);    //Zurücksetzen von Counterwert & Flag
  
    do
    {
      USICR =  (1<<USIWM0)|(1<<USICS1)|
               (1<<USICLK)|(1<<USITC);
    }
    while (!(USISR&(1<<USIOIF)));
}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.