Estoy configurando I 2 C en un PIC18 usando las funciones integradas del compilador C18 como se describe en la sección 2.4 de la documentación :
void OpenI2C2( unsigned char sync_mode,
unsigned char slew );
No estoy seguro de lo que debo hacer con slew
. Puedo elegir entre dos opciones, definidas en i2c.h
:
SLEW_OFF
: Tasa de cambio deshabilitada para el modo de 100 kHzSLEW_ON
: Tasa de cambio habilitada para el modo de 400 kHzEn la hoja de datos en el registro 15-1, página 257, las dos opciones se explican con un poco más de detalle:
Aunque no lo entiendo, tengo un par de preguntas:
¿Qué es la velocidad de respuesta?
Para mí, las dos opciones no tienen sentido: ¿qué pasa si quiero deshabilitar la velocidad de respuesta para 400 kHz y habilitarla para 100 kHz? ¿Por qué es esto?
¿Cuándo debo elegir SLEW_OFF
y cuándo SLEW_ON
?
La velocidad de respuesta es la rapidez con la que la señal cambia de baja a alta, o viceversa. Al limitar esta transición abrupta, puede reducir el timbre de los reflejos de la señal y limitar la diafonía entre las líneas de señal.
Sin embargo, la forma en que funciona es que a 100 kHz, las velocidades de la señal son tan lentas que la velocidad de respuesta realmente no importa; a 400 kHz, es posible que pueda arreglar un circuito problemático limitándolo; pero luego, cuando llega a 1MHz, realmente necesita toda la velocidad de transición que pueda obtener, por lo que solo tiene que hacer una buena coincidencia de señal y enrutar sus líneas con más cuidado.
El bit en cuestión no hace más que habilitar o deshabilitar la función. El resto son simplemente consejos. Las velocidades están entre paréntesis, ya que es solo una sugerencia.
usuario17592
Tim
angelagrande
gbarry
tubo
Simón A. Eugster