TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: ferorts en 23 de Mayo de 2011, 10:25:55

Título: Velocidad I2c en PIC16f886
Publicado por: ferorts en 23 de Mayo de 2011, 10:25:55
Hola a todos, estoy trabajando con CCS C. con un PIC 16f886  y necesito saber cual es la velocidad del bus con el cual me comunico con un dispositivo, he estado mirando por el foro y he visto que el bus I2C utilizando CCS puede trabajar en modo SLOW y FAST, tambien he visto que el I2C trabaja o a 100kHz o a 400KHz, pero yo en mi programa implemento la comunicacion I2C mediante una funcion de esta manera:

#use i2c(Master,Fast,sda=PIN_C4,scl=PIN_C3) //Configuracion I2c

Por lo tanto se supone que esta trabajando a 400 kHz ??. En el PIC utilizo una frecuencia de reloj de 2 Mhz.He mirado el datasheet del pic y no encuentro nada que me diga a que velocidad trabaja el I2C.

Gracias.
Título: Re: Velocidad I2c en PIC16f886
Publicado por: Suky en 23 de Mayo de 2011, 10:37:47
En el datasheet del microcontrolador, debes buscar en la sección MASTER SYNCHRONOUS SERIAL PORT (MSSP) MODULE, allí se explican los registros y modo de configuración del módulo.

Ahora en CCS si no colocas force_hw no utiliza el modulo, así que hay que agregarlo, además puedes colocar fast=xxx con la velocidad en Hz.


Saludos!