Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

AYUDA MIKRO C PRO 2009

manimo

Bovino maduro
Desde
13 May 2009
Mensajes
116
TENGO UN PROGRAMA MIKRO C PRO 2009 QUE UTILIZA EL 16F887 CON LAS LIBRERIAS 12C Y USART PERO NO LOGRO HACERLAS FUNCIONAR A AMBAS NOSE QUE PASA SI ALGUIEN SABE COMO SE LO AGRADEZCO


#define ADXL345_W 0b00111010
#define ADXL345_R 0b00111011

int x1=0,y1=0,z1=0;

void inicializacion_adxl345(void);
void Espera_12c(void) ;
int lectura_adxl345(char reg_adr);

void main()
{


OSCCON.IRCF2=1; //Reloj 8 Mhz
OSCCON.IRCF1=1;
OSCCON.IRCF0=1;
OSCCON.SCS=1;

ANSEL = 0;
ANSELH = 0;
UART1_Init(9600);
Delay_ms(101);
I2C1_Init(100000);
inicializacion_adxl345();
Delay_ms(101);
while(1)
{
x1 = lectura_adxl345(0x32);
y1 = lectura_adxl345(0x34);
z1 = lectura_adxl345(0x36);
UART1_Write(0x1);

}


}


//-----------------------------------------------
void inicializacion_adxl345(void)
{
I2C1_Start();
Espera_12c();

I2C1_Wr(ADXL345_W);
Espera_12c();

I2C1_Wr(0x2D);
Espera_12c();

I2C1_Wr((1<<3));
Espera_12c();

I2C1_Stop();
}
//-----------------------------------------------
void Espera_12c(void)
{
while(!I2C1_Is_Idle());
}
//-----------------------------------------------
int lectura_adxl345(char reg_adr)
{
char lsb, msb;

I2C1_Start();
Espera_12c();

I2C1_Wr(ADXL345_W);
Espera_12c();

I2C1_Wr(reg_adr);
Espera_12c();

I2C1_Repeated_Start();

I2C1_Wr(ADXL345_R);
Espera_12c();

lsb = I2C1_Rd(0); //i2cReceiveByte(TRUE);
Espera_12c();

msb = I2C1_Rd(0); //i2cReceiveByte(FALSE);
Espera_12c();

I2C1_Stop();

return( (msb<<8) | lsb);
}
 
Puedes explicarme tu problema mas concretamente? Que es lo que no hace, no envia, no recibe? Ya lo tienes implementado?

Sonara tonto pero una vez a mi me paso que un codigo no me jalaba y lo reescribi muchisimas veces, me di cuenta que no habia seleccionado las librerias correctas...

No esoy en mi compu asi que no lo puedo compilar, mas al rato le echo una leida.

Saludos
 
LA LIBRERIA USART Y 12C NO FUNCIONAN SIMULTANEAMENTE NOSE POR QUE
 
Bueno es que hasta donde yo se sólo puedes usar uno a la vez, nunca he intentado los 2 en un mismo micro y mi mikroC me tira un error al compilar pero de mi procesador ¬¬ no se que demonios sea.
 
Ya que he leido creo yo suficiente veo que si deberia ser posible pues no tienes limitaciones de hardware para esto que necesitas, sin embargo a veces las librerias de mikroc no son muy buenas, has intentado otro compilador y aun mas importante de verdad es necesario que ocupes los 2 ?? Ya que creo que pudieras usar solo 1 para hacerlo mas sencillo.

Sin embargo si lo consideras extremadamente necesario, te dejo algo que me encontre que seguramente te servira, y con sus adjuntos, solo busca la I2C-RS232.
 
yo conozco a mirko cro cop de vale tudo pero este ni maiz
 
Volver
Arriba