www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik spi_write problem


Autor: oirad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen, kann mir mal jemand helfen?

Ich habe eben begonnen PIC (PIC16F877A) mit C zu programmieren und 
möchte jetzt LED's mit spi ansteuern.
Ich habe einen Seriell-Parallel-Wandler mit dem MC33298, doch irgendwie 
bring ich es nicht fertig..

Wollte für den beginn nur mal 8 Led's zum leuchten bringen und habe mal 
folgenden kleinen code:


#include "H:\Data\Software\SPI\main.h



void main()
{
   //configuration 
PIC-----------------------------------------------------
   setup_adc_ports(NO_ANALOGS);     //Analog Porte ausschalten
   setup_adc(ADC_OFF);     //Analaog / Digital Converter ausschalten
   setup_spi(SPI_MASTER|SPI_L_TO_H|SPI_CLK_DIV_64);   //SPI 
Konfiguration
   setup_spi2(SPI_MASTER|SPI_L_TO_H|SPI_CLK_DIV_64);  //SPI2 
Konfiguration
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);  //Timer0 Einstellungen
   setup_timer_1(T1_DISABLED);      //Timer1 ausschalten
   setup_timer_2(T2_DISABLED,0,1);     //Timer2 ausschalten

   // Setup 
IOs------------------------------------------------------------
   set_tris_a (0x00); // Port A als Ausgang definieren
   set_tris_b (0x00); // Port B als Ausgang definieren
   set_tris_c (0x20); // Port C als Ausgang definieren ausser C5 = Input


   output_high (CS_1);

   while(TRUE)
   {
   output_low (CS_1);
   spi_write (0x66);
   output_high (CS_1);
   delay_ms (200);
   }
}


kann mir jemand weiterhelfen warum dies bei mir nicht funktioniert?


Gruss oirad

Autor: Michael L. (-mic-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo oirad.

ich geh mal davon aus, daß deine SPI-funktionen korrekt sind. im 
restlichen code ist folgendes:

RC5 darf kein input, sondern muß output sein (sdO).
RC4 darf kein output, sondern muß input sein (sdI).
siehe datenblatt kapitel 9.3.3!

wenn's dann noch net geht, kontrolliere mal deine verdrahtung.

gruß

michael

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.