Software SPI zur Chip Konfig

Gast #1023375
Hallo,

bin ein absoluter Neuling auf dem Gebiet der Mikrocontroller und möchte 
einen ISM Transceiver mittels einem ATmega 48 über SPI konfigurieren.
Leider werde ich die Hardwaremäßige SPI Schnittstelle des Controllers 
nicht benutzen, da dort der ISP angeschlossen ist.
Kann mir jemand weiterhelfen, bei der Programmierung der SPI 
Schnittstellen (Vielleicht mit einem Beispiel Code)?
Woltte PortC nehmen.
PC5 = MOSI
PC4 = MISO
PC3 = SCK
PC4 = CS
Bin über jede Hilfe dankbar.
Der Transceiver wird mit 2 1-byte Befehlen konfiguriet. z.B. A7D0
Gast #1023396
Wohl auch ein Neuling hier im Forum ;-)

Wie wäre es mit einem Schaltplan, einem Datenblatt der ISM Transceivers, 
etc.. ?

Das mit dem ISP und der SPI ist normalerweise kein Problem, wenn man 
weiß was man tut. Dafür gibt es z.B. einen Hinweis von Atmel mit 
Widerständen in den Datenleitungen.
Gast #1023401
Hi,

warum sollte die HW-SPI nicht gehen? Dein ISM Transceiver hat einen Chip 
select. Dieser bleibt ruhig während der AVR Programierung z.B über 
externen Pullup. Also bekommt er davon nichts mit. Während des normalen 
Betriebes ist entweder der ISP Stecker abgezogen oder der Programmer (je 
nach dem welcher das ist) sollte "unsichtbar" (Tristate) sein. Somit 
bekommt der Programmer davon nichts mit. Also kollidieren Program-Mode 
und Run-Mode nicht miteinander.

Gruß
RoK
Gast #1023496
Nimm die Hardware SPI.
Die ISP Schnittstelle und die SPI passen zusammen. Das Einzige, das man 
beachten muss, ist dass das SPI Geraet beim Programmiern keinen Scheiss 
macht. Der Programmiermodus hat uebrigend Reset=low.
#1023522
Das einzige was du machen musst: Dem nSEL Anschluss zusätzlich einen 
Pullup-Widerstand (z.B. 47K) spendieren, damit sich dieser Funkchip 
nicht versehentlich angesprochen fühlt. Dann lässt sich die 
SPI/ISP-Schnittstelle sowohl für ISP als auch für SPI verwenden, ohne 
das irgendwas umgesteckt werden muss.
Gast #1023577
gibt es denn bei hardwaremäßigem SPI irgendetwas zu beachten?
kann man da 1:1 die Quelltexte aus dem Datenblatt übernehmen??

Falls doch noch jemand etwas über den software SPI hat, bitte melden!!
Gast #1026186
so der SPI Bus sofwaremäßig läuft soweit. Ich habe jetzt nur noch ein 
Problem mit der _delay_ms Funktion. Nachdem ich zwei Pakete gesendet 
habe will ich eine Pause machen. und wiederum zwischen den beiden 
Paketen auch eine kleine Pause. Leider funktioniert das mit der obigen 
Funktion nicht.
ich hänge mal ein Bild an, wie es ungefähr aussehen soll.
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.