Autor Tema: el SPI me tiene loco!  (Leído 1505 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado devaronaomar

  • PIC10
  • *
  • Mensajes: 27
el SPI me tiene loco!
« en: 02 de Marzo de 2010, 13:36:49 »
Por más que lo intento no me funcinoa el SPI. Programo en ccs y uso un 18f2550
he intentaod el #use spi y el setup_spi() y nada.. Programo para que haga un write_spi(0x400) (por ejemplo) pero miro con el osciloscope y sólo tengo un nivel alto a la salida del SO, además  creo que debería tener un reloj de salida y no lo tengo en ninguna parte!
Alguien me puede explicar, como si yo fuese un niño de 6 años, qué debo hacer?
Uso un xtal como reloj que me da 12Mhz, por lo que hago div3 en winpic, pero no me deja hacer SPI_CLK_DIV_3 en el setup_spi así qeu lo dejo en SPI_CLK_DIV_4. Para comprobar si el programa "corre" he puesto unos leds en un while... algo así:

void main()
{
   setup_spi(SPI_MASTER | SPI_H_TO_L | SPI_CLK_DIV_4);     //PREPARA PUERTO SPI
   while(true){   
      output_low(TEST);          //led off
      delay_ms(500);           
      output_high(TEST);        //led on
      delay_ms(500);       
      spi_write(0x400);
      delay_ms(300);
      spi_write(0x232);
      delay_ms(300);
}
}

agradezco cualquier ayuda

gracias.

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: el SPI me tiene loco!
« Respuesta #1 en: 02 de Marzo de 2010, 13:53:58 »
Los datos que le tienes que ingresar a la función SPI_WRITE tienen que ser de 8 bits

El pin del clock es el RB1/AN10/INT1/SCK/

Debes configurar los pines SDO y SCK como salidas


 

anything