Hallo allerseits!
Ich versuche im zu zeit ein ein digitales Poti(MCP41100) mittels eines p18f87j11 über SPI anzusteuern jedoch bisher erfolglos.
Hier mein Code( Compiler: CC18 ):
Code:
#include <p18f87j11.h>
#pragma config XINST = OFF
void main (void)
{
TRISC = 0b00000000;
TRISB = 0b00000000;
TRISG = 0b00000000;
SSPCON1 = 0b00110001;
SSPCON2 = 0x00;
SSPSTAT = 0b00000000;
SSPADD = 0x00;
PIR1bits.SSP1IF = 0; //Reset flag
PORTBbits.RB1=1; //set port CS high
SSP1BUF = 0b00010000; //send commandbits
while(!PIR1bits.SSP1IF ==1); //wait for trans
PIR1bits.SSP1IF = 0; //Reset flag
SSP1BUF = 0b11111111; //send value
while(!PIR1bits.SSP1IF ==1); //wait for trans
PIR1bits.SSP1IF = 0; //Reset flag
PORTBbits.RB1=0; //set port CS low
//Signal-LED for Code-end
while(1)
{
delay();
PORTGbits.RG1=1; // light on
delay();
PORTGbits.RG1=0; // light off
}
}
Der Code läuft bis zum ende durch(bleibt nicht an den "while(!PIR1bits.SSP1IF ==1);" hängen) jedoch tut sich an den Ausgängen des Potis nichts.
Hat jemand eine Idee woran es liegen könnte?
Lesezeichen