hola a todos!! pues vereis estoy intentando acer una fuente digital con lm317, para ello quiero utilizar un potenciometro digital que se comunica con el pic por isp, pero nunca he utilizado este tipo de comunicacion.lo primero que no me aclaro es con las conexiones, el potenciometro (mcp41010) lleva los pines SI, SCK y CS, Si lo conecto al pin RC7 que es SDO(serial data output), SCK lo conecto a RB1, pero CS no se donde conectarlo. . . puede ser que vaya a RB4 que es CSSPP??
el otro problem que tengo es el programa, lo estoy haciendo configurando registro a registro y este es el codigo que tengo:
y bueno eso es todo. . evidentemente no hace nada, alguien me puede decir que e slo que esta mal? gracias por adelantado.
Un saludo
el otro problem que tengo es el programa, lo estoy haciendo configurando registro a registro y este es el codigo que tengo:
Código:
/*
PROGRAMA PARA EL CONTROL DE UN POTENCIOMETRO
DIGITAL CONTROLADO MEDIANTE EL PUERTO SPI DEL MICROCONTROLADOR
18F4550 CON UNA FRECUENCIA DE OSCILACIÓN DE 8MHz
*/
#include <p18F4550.h>
// Bits de configuración
#pragma config WDT=OFF
#pragma config FOSC=HS
#pragma config DEBUG=ON
#pragma config LVP=OFF
#pragma config MCLRE = OFF
#pragma config ICPRT = OFF
void main (void)
{
TRISB=0;
TRISC=0;
SSPSTATbits.SMP=0; //LA MUESTRA SE TOMA EN MEDIO DE TIEMPO DE SALIDA
SSPSTATbits.CKE=1; //SE ENVIA EN LOS FLANCOS DE BAJADA DE LA SEÑAL DE RELOJ
SSPCON1bits.WCOL=0; // NO SE SOBREESCRIBE EL DATO DEL BUFFER
SSPCON1bits.SSPEN=1; // SE HABILITA EL PUERTO SPI Y SE CONFIGURAN LOS PUERTOS
SSPCON1bits.CKP=0; //EL ESTADO INACTIVO DE RELOJ ES EL ESTADO BAJO
SSPCON1=0X01; // SE CONFIGURA EL PIC COMO MAESTRO Y LA FRECUENCIA DEL RELOJ SE CONFIGURA A FOSC/16
SSPBUF=128; //SE ENVIA EL VALOR POR EL CANAL SPI
while (1){
}// Bucle sin fin
}
Un saludo