Banner publicitario de PCBWay

DSPIC 30F6013 Funciona por un corto tiempo

Bueno primero que nada me gustaria saludarlos...Mi problema es el siguiente Estoy trabajando en un proyecto de la uiniversidad donde estudio, con un Dspic30F6013, se trata de adecuar una placa que ya esta hecha para los propositos que yo quiero, la placa sirve para la recepcion y mostrar señales entregadas por sensores de 4 a 20mA ademas de sensores 0-10V(este ultimo no estoy seguro),para visualizar los valores entregados tengo varias opciones ya sea por el hiperterminal como por un pequeño lcd que tambien va mostrando los valores de los sensores.

Eso a modo de intro jeje...mi problema es que tengo el programa practicamente funcionando pero me ocurre cuando lo hago correr funciona bien durante un tiempo pero despues inevitablemente se pega y ocurre siempre en el mismo momento(cuando esta entregando la muestra numero 275 en el hiperterminal es necesario reiniciarlos puesto que empieza a entregar valores incoherentes, y luego de un momento simplemente se pega y no entrega ningun valor).

Utilice la herramienta Debugger del Mplab para ver en que linea quedaba pegado el programa, la cual es esta a continuacion:

/*********************************************************************
* Function: WriteI2C()
* Input: Byte to write.
* Output: None.
* Overview: Writes a byte out to the bus
* Note: None
********************************************************************/
unsigned int WriteI2C(unsigned char byte)
{
//This function transmits the byte passed to the function
//while (I2C1STATbits.TRSTAT); //Wait for bus to be idle
I2CTRN = byte; //Load byte to I2C1 Transmit buffer
while (I2CSTATbits.TBF); //wait for data transmission
}

La linea en negrita es donde se detiene el programa y por ende tambien detiene el debugger del mplab:

Cualquier duda sobre el restop del programa porfa haganmelo saber (soy bastante novato en el tema de programacion), cualquier informacion adicional que se necesite para ayudarme se las hare saber saludos a todos
 
Atrás
Arriba