sooo hab jetzt das jetzt mal mitn reset so getestet. tut sich leider auch nix.
mein aktueller code schaut jetzt mal so aus.

Code:
#include<18F4680.h>
#use delay (clock=20000000)
#fuses HS, NOWDT, NOPROTECT, NOLVP
#include<stdlib.h>

void main (void) {
   //int i;
   setup_spi(spi_master|SPI_H_TO_L|SPI_CLK_DIV_4);   
  
   output_high(PIN_D3);  // Chip select
  
   //Display reset
   output_high(PIN_C4); // RES  
   delay_ms(5);
   output_low(PIN_C4); // RES  
   delay_ms(10);
   output_high(PIN_C4); // RES  
   
   output_low(PIN_D2);  // D/C -> Command mode
   spi_write(0x21);     // function set: extended instruction set
   spi_write(0xC8);     // mittlerer Kontrast
   spi_write(0x06);     // Temp. Ausgleich
   spi_write(0x13);     // bias 1:48
   spi_write(0x20);     // function set: normal instruction set
   spi_write(0x0C);     // display control set normal mode
   
   output_high(PIN_D2);  // D/C -> DIsplay mode
   
   spi_write(0xFF);
   spi_write(0x00);
   spi_write(0xFF);
   spi_write(0x00);
   spi_write(0xFF);
   spi_write(0x00);
    
   while(true) { 
   }
}
im datenblatt steht bei dem programming example das SCE (invertiert) auf LOW gehn soll. das heißt ich muss im Programm auf HIGH legen damit dann LOW am SCE anliegt oder steh ich jetzt komplett auf der Leitung??

mfg