TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Agustina en 09 de Septiembre de 2009, 02:45:47

Título: Duda con I2C
Publicado por: Agustina en 09 de Septiembre de 2009, 02:45:47
Buenas! he aqui una duda sobre I2c

Estoy utilizando una memoria I2c en un 18f252 a 20mhz, utilizo i2c por soft, es decir, no utilizo los pines de SCL y SDA ya que no estan disponibles para este fin.

La duda es que cuando mido con un frecuencimetro en la patita de CLock, leo unos 10khz aproximadamente... porque tan bajo? no es posible operar a 100khz por lo menos?

en cuanto tiempo leeria un byte en 10khz?

esta es la configuracion que utilizo:
#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL, slow= 100000)


alguna sugerencia?
Título: Re: Duda con I2C
Publicado por: fabianjsm en 09 de Septiembre de 2009, 08:19:33
Estas trabajando en modo SLOW, este es el modo de baja velocidad. Rapido es FAST.
#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL, fast)
Título: Re: Duda con I2C
Publicado por: Agustina en 09 de Septiembre de 2009, 11:37:00
ya se que slow es lento.... pero la duda es porque a 10khz....

supuestamente slow es 100khz


Título: Re: Duda con I2C
Publicado por: gera en 09 de Septiembre de 2009, 12:22:24
Hola agustina! Podrias subir el codigo completo? Quizas esta mal la configuracion de los fuses o del clock.
saludos!

EDIT:
por lo q estuve leyendo, para q trabaje en modo fast, tenes q usar el bus por hardware. Creo q ahi esta tu problema. Y podes setear la velocidad de la siguiente forma:
#use i2c(Master, SDA=PIN_C4, SCL=PIN_C3, FORCE_HW, FAST=100000) //100khz
Título: Re: Duda con I2C
Publicado por: Agustina en 14 de Septiembre de 2009, 01:11:50
Pero por sofware no hay forma de hacer que trabaje mas rapido que 10khz?

gracias!!  :g)
Título: Re: Duda con I2C
Publicado por: gera en 14 de Septiembre de 2009, 01:46:58
No te sabria dar una respuesta con certeza, pero por lo q lei en los foros de CCS parece q no se puede
saludos!!