spi_write problem

Gast #1144681
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
#1145838
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren