Saludos a todos
Tengo un problema al realizar la rutina de inicialización del modulo hx711.
En el código, la condición DOUT == 1 del segundo ciclo while no se cumple en ningún momento y para obtener datos tengo que forzarlo colocando la condición en uno para probar si funciona el codigo y solo así si obtengo datos, pero no se en que estoy errando para que la condición no se cumpla sin forzarlo, cabe mencionar que soy principiante.
De antemano Gracias por sus respuestas
#include <16f877A.h>
#fuses XT, NOWDT
#use delay(clock=4000000)
//#define use_portb_lcd TRUE
#Include <lcd.c>
#BYTE TRISC = 0x87
#BYTE PORTC = 0x07
#BIT DOUT = 0x07.4
#BIT PD_SCK = 0x07.3
void main() {
bit_set(TRISC,4);
bit_clear(TRISC,3);
lcd_init();
while(1){
int i;
unsigned int32 datosdeentrada=0;
PD_SCK=0;
while(DOUT ==1){
printf(lcd_putc,"\f%Ld", datosdeentrada);
for(i=0; i<24; i++){
PD_SCK=1;
datosdeentrada=datosdeentrada<<1;
delay_us(1);//T3 mostrado en el esquema y tabla del datasheet del hx711
PD_SCK=0;
delay_us(1);
if(DOUT==1)
{
datosdeentrada++;
}
}
PD_SCK=1;
datosdeentrada ^ 0x800000;
delay_us(1);
PD_SCK=0;
}
}
}