2 votos

¿Por qué se dan diferentes nombres al mismo bit en MPLAB XC8?

Estoy usando PIC18F45K22 y MPLAB XC8. Recientemente me encontré con algo mientras leía el registro ADCON0. Un bit particular en el registro, GO/DONE tiene muchas representaciones mientras trato de direccionarlo en xc8 (algo como ADCON0bits.GO_NotDone ). Estos son Go , Done , Go/Done , Go_notDone , Go_nDone .

Mi pregunta es ¿por qué se necesitan tantas representaciones para el mismo bit? Podría haber sido simplemente algo como GO_NotDone. ¿Me estoy perdiendo algo en mi comprensión? Cualquier idea es bienvenida, gracias.

1voto

Ste Puntos 21

Me gustaría responder a su pregunta de por qué Microchip tiene múltiples nombres para los bits en algunos de los registros de funciones especiales.

Llevo utilizando el controlador de Microchip desde que se introdujo el PIC16C54, es decir, unos 25 años. Al principio la documentación estaba escrita por ingenieros y no se preocupaban demasiado por la coherencia con la denominación de los registros o los bits.

El resultado es que hay una base de código heredada que utiliza nombres variantes. Para permitir que ese código se construya cuando Microchip actualizó los ensambladores o compiladores se inyectaron alias para nombres variantes de registros y bits. Dudo que los nombres se añadieran sólo para hacer el código C más legible.

Admito que esto es una opinión basada en años de observación y no en ninguna declaración de Microchip.

Si alguien tiene conocimiento directo, agradeceré que me digan que estoy equivocado.

0voto

G. Stvns Puntos 13

Cuando se escriben programas en C los nombres de los bits o variables son muy importantes para la legibilidad del código tener una selección de nombres ayuda a esa legibilidad como ejemplo.

setbit(go);

if (done) {

  dosomething;

}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X