Cuando se escribe que para verificar si se ha establecido algún bit de bandera, debe ver, por ejemplo, 0x74 [2], ¿significa 2 el 3er bit del registro o el 2do? ¿De qué número cuentan en la hoja de datos 0 o 1, cómo determinar eso?
Cuando se escribe que para verificar si se ha establecido algún bit de bandera, debe ver, por ejemplo, 0x74 [2], ¿significa 2 el 3er bit del registro o el 2do? ¿De qué número cuentan en la hoja de datos 0 o 1, cómo determinar eso?
Es común que la numeración de bits de registro comience en el bit 0
, pero hay excepciones. Es por eso que, para estar seguro de la respuesta correcta para un dispositivo específico, necesita leer su hoja de datos:
8
en un byte, entonces la numeración de bits comienza desde 1
0
en un byte, entonces la numeración de bits comienza desde 0
Obviamente, las cosas son más complicadas cuando se refieren a registros más grandes que un byte (es decir, más de 8 bits), pero se aplica el mismo principio.
Aquí hay un ejemplo de una hoja de datos que ha preguntado anteriormente:
Puede ver que en la hoja de datos de este dispositivo, la numeración de bits de un registro es de 0
a 7
como se resalta con el borde rojo, por lo que responde su pregunta sobre el número de bit inicial.
En la hoja de datos estándar, el conteo de bits en el registro siempre comienza desde el bit 0. Según su ejemplo, el xxx [2] significa el tercer bit LSB.
Por contexto. ¿Alguna vez el documento hace referencia al bit [0] o un registro, o bit [32]? Encuentra la tabla para el registro completo en alguna dirección. Normalmente, esto identificará los 32 bits con una función reservada, reservada, no implementada (y así sucesivamente).
¿Por qué no abre la hoja de datos, vaya a la página que describe las marcas relevantes y vea por sí mismo qué posición tienen en el (los) byte (s) en el que se encuentran? Es mucho más seguro hacer esto que esperar que haya una respuesta genérica que siempre sea 100% precisa.
Lea otras preguntas en las etiquetas microcontroller datasheet register