TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: kruskal en 12 de Mayo de 2004, 16:34:00
-
Estoy usando la memoria 24LC256 que utiliza el protocolo I2C
El PIC16F877A que tb estoy utilizando tiene por harware este protocolo y utiliza los pines 19 (RC3/SCK/SCL) y 23 (RC4/SDI/SDA).
Para poder usar el harware se necesita:
#use I2C(FORCE_HW)
Cuando utilizo la libreria 24LC256.c no funciona porque tiene asignado el PIN_B0 y PIN_B1 para la señal clock y data cambio estos pines a los correspondiente pero igual no funciona.
Ademas la frecucnia que soporta esta memoria es maximo 400Khz
pero en ninguna parte puedo configurar este valor.
Alguien podria indicarme como utilzar el harware I2C del 16F877 y como configuro la frecuencia de trabajo apropiada?.
Si tuvieran un ejemplo para guiarme seria ideal.
Salud2
kruskal@hotmail.com
-
Hayyyyy! De vez en cuando es bueno mirar en la ayuda del soft, que por cierto es buena porque va al grano y además suele poner un ejemplo. Es fácil. Te pones encima del comando que quieres, botón derecho y pulsas donde pones ayuda "if" por ejemplo. Vamos, eso pero en inglés...
Bueno, al lío. Puedes poner por ejemplo:
#use i2c(Master,sda=PIN_C4,scl=PIN_C3,force_hw)
que era como yo lo puse para un 877 antes de quedarme sin memoria y cambiar al 18F452. Puedes también incluir ahí la velocidad del bus, 100khz o 400khz. Eso dejo que lo averigues tú... jejeje
Saludos!
-
Más fácil entoavía, coge por ejemplo el fichero 2465.c y "crakealo" para una 24256.
Solo tendrás que cambiar EEPROM_SIZE por 32768.
Un saludo
-
El manual de CCS es muy ambiguo en muchas cosas la especificacion a que e refieres debe ser FAST y SLOW.
Hare las correcciones necesarias y seguire decifrando el manual. Gracias.
Saludos
-
No te rompas la cabeza, ves a lo fácil ...