Forum: Mikrocontroller und Digitale Elektronik spi_write problem


von oirad (Gast)


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

von Michael L. (-mic-)


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

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
Noch kein Account? Hier anmelden.