TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: facosta.ie en 29 de Noviembre de 2016, 14:37:51
-
Que tal, estoy utilizando el compilador CCS 5.061 y estoy en un proyecto en el que un PIC18F25K80 debe funcionar
como Master y como Slave en momentos determinados. Es posible hacer este cambio en tiempo de ejecución?
Hasta el momento el PIC funciona bien tanto en modo Master como en modo Slave de manera individual pero no consigo
cambiarlo mientras esta corriendo el programa, espero sus comentarios, gracias.
-
Si, imagino que podrias hacerlo. El tema esta en que tenes que protegerte de que nunca ten quedes sin un Master, y que tampoco tengas 2 o mas Masters.
-
Me podrían guiar un poco? en CCS sólo existe una instrucción para configurar y es de preprocesador.
#use i2c(SLAVE,ADDRESS=0x16,sda=PIN_C4,scl=PIN_C3,STREAM=DSPIC)
#use i2c(MASTER,sda=PIN_C4,scl=PIN_C3,STREAM=DSPIC)
No existe una función que lo haga después de esto.
-
Ninguna instruccion directa, Solo las directivas de preprocesador que mostras ( Y que podes poner una sola ). Asi que imagino que deberias modificar los registros a mano para pasarlo a esclavo y viceversa. Rogando que CCS no te agregue alguna instruccion como si fuera maestro y que afecte al uso cuando es esclavo.
En si lo que planteas lo veo enteramente posible. Tal ves mas rebuscado en CCS.
-
Se complica un poco lo de modificar los registros a mano ya que al no usar esas instrucciones de preprocesador (#use i2c(..)) tampoco me permite utilizar las otras instrucciones de
I2C :
i2c_start();
i2c_write(address);
i2c_write(position);
i2c_write(data);
i2c_stop();
Gracias por las respuestas.