Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   ASM y Microcontroladores (https://www.clubdelphi.com/foros/forumdisplay.php?f=44)
-   -   como usar un pic y una memoria 24c02 si los pines scl y sda ya los estoy usando ? (https://www.clubdelphi.com/foros/showthread.php?t=81932)

Mikro-77 06-01-2013 15:20:11

como usar un pic y una memoria 24c02 si los pines scl y sda ya los estoy usando ?
 
Hola buen dia tengo un problema que es el de querer usar un pic y una memoria eeprom , mi problema es que ya estoy usando los pines scl y sda del pic para leer el estado de un sht75 de sensirion (sensor de temperatura y humedad) entonces que tendria que hacer ? conecto en paralelo la memoria o tengo que usar otra forma de conección y usar otro codigo ? buscando en internet encontre esto
Código Delphi [-]
program I2C_Simple;  
begin  
  ANSEL := 0; ANSELH := 0; PORTB := 0; TRISB := 0;   
  I2C1_init(100000); 
  I2C1_Start(); 
  I2C1_Wr(0xA2); 
  I2C1_Wr(2); 
  I2C1_Wr(0xAA);  
  I2C1_Stop(); 
  Delay_100ms();   
  I2C1_Start(); 
  I2C1_Wr(0xA2); 
  I2C1_Wr(2); 
  I2C1_Repeated_Start(); 
  I2C1_Wr(0xA3); 
  PORTB := I2C1_Rd(0); 
  I2C1_Stop();  
end.
el caso es que quiero guardar mi configuracion , no la lectura del sensor !

Gracias de antemano !!.

Mikro-77 06-01-2013 15:21:07

Perdón por el codigo pero en la vista previa me lo mostro bien !

Casimiro Notevi 06-01-2013 17:39:47

Cita:

Empezado por Mikro-77 (Mensaje 452967)
Perdón por el codigo pero en la vista previa me lo mostro bien !

La vista previa, algunas veces, no va bien.

Mikro-77 06-01-2013 18:00:56

Gracias casimiro por arreglar el codigo !

Mikro-77 14-01-2013 03:12:56

Código Delphi [-]
program pascalI2c;

 var EE_adr, EE_data : byte; jj : word;

 begin 
  I2C_init(100000); // initialize full master mode 
  TRISD := 0; //  designate portd as output 
  PORTD := $ff; // initialize portd 
  I2C_Start;  // issue I2C start signal 
  I2C_Wr($a2); // send byte via I2C(command to  24cO2) 
  EE_adr := 2; 
  I2C_Wr(EE_adr); // send byte(address for EEPROM) 
  EE_data := $aa; 
  I2C_Wr(EE_data); // send data to be written 
  I2C_Stop; //  issue I2C stop signal 
  for jj:=0 to 65500 do nop; // pause while EEPROM  writes data 
  I2C_Start; // issue I2C start signal 
  I2C_Wr($a2); // send  byte via I2C 
  EE_adr := 2; I2C_Wr(EE_adr); // send byte(address for  EEPROM) 
  I2C_Repeated_Start; // issue I2Csignal repeated start  
  I2C_Wr($a3); // send byte(request data from EEPROM) 
  k := I2C_rd(1); //  read the data 
  I2C_Stop; // issue I2C_stop signal 
  PORTD := k; // show  data on PORTD
 
   while true do // endless loop 
    nop; 
end.

fenixariel 16-03-2013 23:41:19

Practicamente cualquier compilador incorpora librerias I2C tanto por Hardware como por Software.



Saludos.


La franja horaria es GMT +2. Ahora son las 12:56:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi