ATtiny2313 mit ATmega8 verbinden

Gast #2229691
Lesenswert?
• ▲
▼
Hey

Wie im Betreff schon erwähnt möchte ich gerne einen ATtiny2313 mit einem 
ATmega8 kommunizieren lassen. UART geht leider nicht, da am Tiny schon 
für die Kommunikation mitm PC genutzt. Was gibts noch für Möglichkeiten?
Achso... PortB fällt auch komplett weg. Hier hängen Relais dran. Bleiben 
also nur PD2 bis PD6.

Am ATmega ist aber alles frei :)
Gast #2229758
Lesenswert?
• ▲
▼
Kannst Du nicht einige der Relais umhängen (PB5..PB7)? Dann könntest Du 
auch die SPI Hardware im ATtiny nutzen.

Julian R. schrieb:
> Ich hab mal mikrocontroller.net durchsucht leider nichts in C gefunden.

Das kann ich nicht so richtig glauben:
http://www.mikrocontroller.net/search?query=Soft+SPI&forums[]=1&forums[]=19&forums[]=9&forums[]=10&forums[]=2&forums[]=4&forums[]=3&forums[]=6&forums[]=17&forums[]=11&forums[]=8&forums[]=14&forums[]=12&forums[]=7&forums[]=5&forums[]=18&forums[]=15&forums[]=13&forums[]=16&max_age=-&sort_by_date=0
Da findet sich doch einiges.

Alternative wäre noch Soft UART, da findet sich hier auch einiges
#2229773
Lesenswert?
• ▲
▼
@...:Ich hab die Suche auf der Startseite genutzt und es ist mir auf die 
schnelle keine passende LIB ins Auge gesprungen

Ich finde aber dass gerade in C die Ansteuerung des UART schwehrer ist, 
da keine Clock Leitung vorhanden ist und man somit mehr auf das Timing 
achten muss.
Bei SPI kannst du im Gegensatz die externen Interupts am 2313 nutzen um 
deine Clock leitung anzuschließen, dann hätte man das SPI-Programm mehr 
oder weniger auf Interupts ausgelagert und könnte somit mehr in der 
Hauptroutiene erledigen.

julian
#2229776
Lesenswert?
• ▲
▼
Maxel1985 schrieb:
> Wie im Betreff schon erwähnt möchte ich gerne einen ATtiny2313 mit einem
> ATmega8 kommunizieren lassen.

> Bleiben also nur PD2 bis PD6.

Was meinst Du mit kommunizieren? Wenn es nur darum geht Werte von einem 
zum anderen zu schieben, kannst Du auch ohne UART bzw. SPI auskommen. Du 
benutzt eine der fünf Leitungen als Takt/Synchronisation und überträgst 
auf den anderen vier jeweils ein halbes Byte.
Gast #2229822
Lesenswert?
• ▲
▼
Julian R. schrieb:
> Ich finde aber dass gerade in C die Ansteuerung des UART schwehrer ist,
> da keine Clock Leitung vorhanden ist und man somit mehr auf das Timing
> achten muss.
Dafür gibts ja Timer. Und auch genug vorhandenen Code, hier mal ein 
Bsp.:
http://www.siwawi.arubi.uni-kl.de/avr_projects/#softuart

> Bei SPI kannst du im Gegensatz die externen Interupts am 2313 nutzen um
> deine Clock leitung anzuschließen, dann hätte man das SPI-Programm mehr
> oder weniger auf Interupts ausgelagert und könnte somit mehr in der
> Hauptroutiene erledigen.

Soft SPI ist sicher einfacher, da hast Du absolut Recht. Insbesondere 
als Master (wobei einem die externen Interrupts dann eher wenig nutzen). 
Kommt halt darauf an, ob man mit dem Master-Slave Konzept leben kann 
oder nicht. Multimaster ist dann schon wieder aufwändiger.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.