¿Dónde está la referencia de la API de C para el MSP430? versión CCS

Veo muchos códigos de muestra y tutoriales, pero ¿dónde está documentado que los símbolos (defines) como P1OUTy P1DIRestán disponibles y cuál es su semántica?

Veo una lista con comentarios de una frase en los archivos de encabezado, pero eso es lo mismo que navegar por el código fuente. Estoy buscando un documento técnico: una referencia de API o al menos una Guía del programador.

@Passerby sí, rara vez hago publicaciones cruzadas. feliz de eliminar el otro, pero por el momento parece inofensivo y podría ayudar a alguien atrapado en mi situación.
@necromancer Sí, la publicación cruzada está mal vista. Justificación aquí. Eliminar la copia en StackOverflow tiene sentido.
@NickAlexeev Gracias por señalarlo. Lo haría, pero hay una buena respuesta allí, y preferiría estar mal visto que eliminar la respuesta, sobre todo para ser respetuoso con el esfuerzo del que responde. Ojalá podamos tolerar una excepción. La gente de SO está realmente entusiasmada con el cierre, y parece que lo intentaron pero no lograron los votos necesarios. Eso significa que varias personas sintieron que estaba bien (a pesar de la divulgación de publicaciones cruzadas que publiqué allí). Espero que podamos dejarlo ser, o tal vez migrar la respuesta aquí.
@necromancer Si miras de cerca, notarás que cde en SO y Passerby en EE.SE es la misma persona. Proporcionó aproximadamente la misma respuesta en ambos lugares (aunque la versión aquí en EE.SE es mejor). Entonces, si se elimina el subproceso SO, la información no se pierde.
@NickAlexeev gracias, no es de extrañar que sonaran similares. Intenté borrar pero no pude porque tiene respuestas. Lo marqué para la atención del moderador y solicité una eliminación mencionando que la respuesta se capturó aquí.
El punto es discutible ahora. El hilo SO fue votado como cerrado.

Respuestas (3)

Los nombres de estas definiciones coinciden con los nombres de los registros. Los registros se pueden consultar en la hoja de datos de su modelo de MSP430 o en la guía del usuario de la familia. Por ejemplo, en el caso de MSP430FR5739 (1)P1OUT y se describen en la P1DIRsección 8.4 de la guía del usuario de su familia (slau272b) .

(1) Nada especial al respecto. Sólo el más cercano a mí en el momento de escribir.
(2) P1OUT y P1DIRson solo nombres de registro. Nadie los llama API en el [bajo] mundo de la programación de bajo nivel.

Además, encuentre el lugar donde están definidos en el código fuente. Puede haber comentarios.

La hoja de datos y la guía del usuario de la familia (cuando la hay) son de lectura obligatoria . Tienes que leerlos, o al menos hojearlos. No hay excusa para no leerlos.

+1 gracias, es muy útil saberlo cuando entro en este valiente nuevo [bajo] mundo :)

Estos se definen en el include. Para CCS, el valor predeterminado es el msp430.h creado por TI, que luego intenta incluir el archivo específico para su dispositivo de destino a través de las definiciones. Ese archivo (es decir, msp4430g2553.h) es el que alberga las referencias específicas similares P1OUTo P1DIRque coinciden con la dirección de registro específica, tal como se define en la hoja de datos y la guía familiar de su dispositivo de destino. En su mayor parte, los nombres deben coincidir con la Guía familiar y son muy consistentes entre dispositivos.

De la Guía del usuario de CCS:

Utilice archivos .h para simplificar el desarrollo de código.

CCS se suministra con archivos para cada dispositivo que definen los registros del dispositivo y los nombres de bits. Se recomienda usar estos archivos y puede simplificar enormemente la tarea de desarrollar un programa. Para incluir el archivo .h correspondiente al dispositivo de destino, agregue la línea #include para C
y .cdecls C,LIST,"msp430xyyy" para el código ensamblador, donde xyyy especifica el número de pieza del MSP430.

Aquí hay una copia en línea de msp430g2553.h de CCS. Muy bien comentado y fácil de leer.

IAR, además de tener las versiones msp430.h, también incluye io430.h, creado por IAR y tiene algunas diferencias o características adicionales. También actúa de la misma manera al incluir el encabezado del dispositivo de destino específico.

gracias de nuevo @Passerby, el extracto de la Guía del usuario de CCS es esp. autoritario
después de mucha consideración, ya que ambas respuestas son bastante similares, seleccionando la respuesta más antigua como la correcta. Difícil elección entre esta asombrosa respuesta y la otra. Me alegro de no haber podido eliminar la pregunta SO, ya que acepté tu respuesta allí. ¡gracias de nuevo!

Sí, existe una API. Se conocen como driverlib. Descargue Code Composer Studio, luego instale MSP430ware y podrá ver los detalles de la biblioteca de controladores.