Hola obisaac:
No me había percatado de ese detalle
, por lo que veo se está usando el Modo I2C para comunicarse con los PICs que deseamos grabar, por eso se están usando las líneas SCL (pin 22) y SDA (pin 21) como Clock y Data, que en el Modo I2C cumplen la misma función. El datasheet del 18F2550 dice lo siguiente al respecto:
Mode I2C
"Selection of any I2C mode with the SSPEN bit set,
forces the SCL and SDA pins to be open-drain, provided these pins are programmed to inputs by setting the appropriate TRISB bits.
To ensure proper operation of the module, pull-up resistors must be provided externally to the SCL and SDA pins."
Esto quiere decir, que al seleccionar algún Modo I2C las líneas SCL y SDA son forzadas a trabajar como Drenador Abierto, esto siginifica que será necesario colocar a la salida de dichos pines unas resistencias para asegurar una apropiada operación o un trabajo adecuado de dichas líneas.
Bueno, tenía entendido que en estos casos se recomendaba usar resistencias de 1.5k, en el caso de los uC de Cypress por ejemplo usan resitencias de 2.2k en estos pines. Bueno, espero haber ayudado en algo a esclarecer tu duda.
Es la primera vez que posteo por lo que les hago llegar un gran saludo a todos por ser parte de un foro tan bueno.
saludos,
Jorge Valerio. (o simplemente Burz)