#pragma sentencias en la programación de PIC18F4550 C

2

Soy nuevo en la programación de microcontroladores y pensé que tal vez debería intentar parpadear alrededor de 24 LED como un proyecto propio utilizando PIC18F4550. Busqué un código fuente simple de 1 LED que parpadea en la red y lo que no puedo entender son las siguientes líneas que están en la parte superior del código: -

#pragma config PLLDIV = 5 , CPUDIV = OSC1_PLL2 , USBDIV = 2    // You can write this way
// OR
#pragma config FOSC = INTOSCIO_EC
#pragma config FCMEN = OFF                                 // OR this way
#pragma config BORV = 3
#pragma config WDT = OFF
#pragma config CPB = OFF
#pragma config CPD = OFF

Después de esto, el autor ha usado declaraciones LAT simples que puedo entender.

¿Alguien puede explicar los códigos anteriores y lo que cada uno de ellos está haciendo o puede indicar algún tutorial que explique (brevemente) el uso de los siguientes códigos?

Nota: - Solo por curiosidad, estos códigos #pragma se usaron para 1 parpadeo del LED. ¿Debo cambiarlos cuando uso más de 1 LED?

Gracias.

    
pregunta Mohit

2 respuestas

4

Los PIC de Microchip requieren que se definan ciertos ajustes de configuración antes de que se encienda el microcontrolador. Por ejemplo, la selección del oscilador y si la protección del código está habilitada. Estos ajustes de configuración se almacenan en un lugar especial en la memoria y solo se pueden modificar durante una secuencia de programación. No durante el funcionamiento normal del PIC.

Dado que estos ajustes de configuración se tratan de una manera especial en la memoria, cada compilador tiene su propia forma de manejarlos. No es estándar C, por lo que no hay sintaxis universal. Difiere de compilador a compilador, pero cada compilador diseñado para microcontroladores PIC proporcionará alguna forma de programar los ajustes de configuración. La única forma de obtener la sintaxis definitiva es leer el manual del usuario del compilador.

Puede encontrar todos los ajustes de configuración para el PIC específico en el que está trabajando en la sección "Características especiales" de la hoja de datos. Cada familia de PIC tiene configuraciones diferentes, por lo que los valores de #pragma (o lo que sea que use su compilador) generalmente no son portátiles de un PIC a otro, incluso con el mismo compilador.

En resumen, primero debe aprender la sintaxis adecuada para que su compilador específico defina los ajustes de configuración. Y luego debe leer la sección de Características especiales de la hoja de datos del PIC específico que está utilizando para averiguar qué ajustes de configuración son aplicables.

    
respondido por el Dan Laks
0

'# los pragma's realmente no son parte de C (o C ++) sino de extensiones agregadas por el proveedor del compilador, generalmente para algunas opciones o acciones que no están cubiertas por el lenguaje en sí.

Sus pragmas particulares parecen originarse con Microchip y tienen un pdf en la red que los define para su circuito

Microchip que define los ajustes de configuración de pragma

    
respondido por el Jojje

Lea otras preguntas en las etiquetas