@BlueNature
Was meinst du denn mit Reset? Die Schieberegsiter haben doch garkein Reset.
Mich wurmt es das so eine eigentlich simple Sache nicht klappt, wie soll ich denn dann jemals zu einer aufwendigen Schaltung kommen. Daher wäre es nett wenn ihr mir auf die Sprünge helft.
Folgendermassen sieht nun meine Gesamtschaltung aus. Ich kann dort keinen Fehler erkennen.
Den Pic habe ich mit folgendem TestCode bespielt:
Der Code soll einfach nur per SPI wechselnde Signale liefern, sodass die LEDs abwechselnd blinken. Es tut sich aber garnix.Code:#include <16F876.h> #USE DELAY (CLOCK=20000000) #FUSES HS,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOLVP unsigned int token; void main() { token = 0; setup_adc(ADC_OFF); set_tris_a(0b00000000); set_tris_b(0b00000000); set_tris_c(0b00000000); output_a(0x00); output_b(0x00); output_c(0x00); // Setup SPI setup_spi(spi_master | spi_l_to_h | spi_clk_div_64); while(TRUE) // Programmschleife { // write to SPI if(token == 0) { spi_write(0x10101010b); token = 1; delay_ms(10); output_high(PIN_C6); delay_ms(10); output_low(PIN_C6); delay_ms(900); } else { spi_write(0x01010101b); token = 0; delay_ms(10); output_high(PIN_C6); delay_ms(10); output_low(PIN_C6); delay_ms(900); } } }
Die LEDs leuchten beim starten willkürlich auf und verharren so, ohne dass der PIC irgend einen Einfluss hat.
Wo zum Teufel liegt denn nun mein Fehler?







Zitieren

Lesezeichen