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