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
Lesezeichen