Hola
Estoy tratatando de hacer funcionar el sensor ultrasonico srf02 con el microcontrolador PIC16F877A transmitiendo los datos del sensor al micro mediante el puerto serial. Según lo que leí el sensor solamente necesita que le envíen la dirección del sensor (0) pordefault y la instrucción que se desea que realice, en este caso 0x54 para que el sensor mida y envíe el dato al micro en cm. El siguiente es el código que hice, esta en microC, pero no hago que funciona.
Alguien me podría ayudar por favor para que mi código funcione, porque en la salida del micro no envía nada.
Saludos.
// Constantes - Definición de constantes
#define BIT_RATE 9600 // Velocidad del puerto serial
// Variables - Definición de variables
unsigned short serial = 0; // Variable temporal (1 byte) para
// recibir datos del puerto serial
// Función principal
void main() {
// Inicializar puertos
TRISB = 0; // Todo PORTB como salidas
TRISC = 255; // Todo PORTC como entradas
PORTB = 0; // Limpiar PORTB
// Inicializar el módulo USART
// 8 bits, sin bit de paridad, velocidad definida en la constante BIT_RATE
// 1 bit de paro, sin control de flujo
Usart_Init(BIT_RATE);
while (1) { // Ciclo infinito
Usart_Write(0x00); // Enviar direccion del sensor
Usart_Write(0x54); // Pedir medida y que reciba en cuanto este listo
Delay_ms(90);
if (Usart_Data_Ready()) { // ¿Se recibió un byte por serial?
serial = Usart_Read(); // Almacenar el byte recibido
PORTB = serial;
Delay_ms(50);
}
} // Cierre del if (Usart_Data_Ready())
} // Cierre del while (1)
}