Autor Tema: Ayuda con DMA y SPI en dsPIC33FJ128GP802  (Leído 7492 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Ayuda con DMA y SPI en dsPIC33FJ128GP802
« Respuesta #15 en: 21 de Julio de 2011, 01:52:52 »
Podrías probar a comprobar SPITBF antes de enviar, porque tal y como escribiste la función estás dando por hecho que el bus está libre y directamente escribes el dato sin comprobarlo.

void EnviaSD (char data) //Función para enviar los datos a la SD
{
   char buffer;
   while (SPITBF);
   SPI1BUF = data;
   buffer = SPI1BUF;//para que no quede ativada la bandera de buffer de recepcion full

}

Desconectado sal0m0n

  • PIC12
  • **
  • Mensajes: 54
    • Sobre Mí
Re: Ayuda con DMA y SPI en dsPIC33FJ128GP802
« Respuesta #16 en: 21 de Julio de 2011, 10:05:46 »
Podrías probar a comprobar SPITBF antes de enviar, porque tal y como escribiste la función estás dando por hecho que el bus está libre y directamente escribes el dato sin comprobarlo.

void EnviaSD (char data) //Función para enviar los datos a la SD
{
   char buffer;
   while (SPITBF);
   SPI1BUF = data;
   buffer = SPI1BUF;//para que no quede ativada la bandera de buffer de recepcion full

}

de hecho ya había comentado que lo había intentado y el comportamiento era MUCHO PEOR

yo intente esperando a que el Hardware pusiera a cero el bit de "buffer de transmision lleno" (SPITBF), en SPI1STAT si mal no recuerdo (bit 1), pero el comportamiento de la transmision era peor .... 


Pero OJO eso sólo ocurrió así cuando el CLOCK del SPI estaba a 625khz...., cuanto lo coloqué a 10Mhz, si podía usar esa funcion que mencionas amigo nocturno (Esperar a que SPITBF == 0).

Ups! Disculpa, nunca imagine que usaran CCS para dsPIC, perdón!  :oops:

Bueno yo usaba CCS para PIC18 y me acostumbré, así que decidí intentar CCS para dsPIC (por poco y me doy, toda la documentación y ejemplos estan para C30), gracias a Dios cuento con el PicKit3 y mi queridisimo analizador lógico!


saludos
Mis herramientas!
PicKit 3, MPLAB REAL ICE, OWON SDS6062, Zeroplus LAP-C 16128, Weller WES51, Probotix Fireball Meteor,  Altium Designer y otras mas!