Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTRUCTURA DE UN PROGRAMA
EN LENGUAJE C
Como resolver un problema usando un microcontrolador ?.
EL ESTANDAR ANSI C
El lenguaje C fue basado en los lenguajes BCPL y B, ejecutados
en el sistema operativo UNIX a principios de los 70s.
Desarrollado por Dennis M. Ritchie y Brian Kernighan en los
laboratorios Bell (AT&T), para ser ejecutado en el sistema operativo
UNIX.
En 1988 se adopta el estndar ANSI C, conteniendo nuevas
revisiones de sintaxis y de la operacin interna del lenguaje, as
como la estandarizacin de las libreras, resultando en "ANSI
Standar X3.159-1989" e "ISO 9899-1990", conocido como C90.
El estndar C99 agrupa las nuevas definiciones de tipos en el
archivo stdint.h:
int8_t, int16_t, int32_t, uint8_t, uint16_t, uint32_t.
5
EL ESTANDAR ANSI C
Compilando un programa en C:
Transforma un programa en alto nivel en un programa ejecutable.
TIPOS DE DATOS
Al ser un microcontrolador un sistema digital binario, solo reconoce
ceros y unos.
TIPOS DE DATOS
valores, esto
TIPOS DE DATOS
TIPOS DE DATOS
10
TIPOS DE DATOS
Variables:
11
TIPOS DE DATOS
TIPOS DE DATOS
Operadores:
Los operadores permiten realizar acciones sobre las variables.
Operadores aritmticos:
Operadores lgicos:
13
TIPOS DE DATOS
Operadores relacionales:
Descripcin
Negacin lgica
AND lgica
OR lgica
Ejemplo
!X
X && Y
X || Y
TIPOS DE DATOS
Operadores de asignacin:
15
SENTENCIAS Y EXPRESIONES
Una sentencia consta de palabras reservadas (instrucciones),
expresiones y otras sentencias. Cada sentencia termina con un
punto y coma (;).
Palabras reservadas:
16
SENTENCIAS Y EXPRESIONES
Z = A + b + c;
A = X & y | | z;
VarX = VarX + 1;
expresiones
sentencias
17
SENTENCIAS Y EXPRESIONES
if
if else
switch
Sentencias de iteracin:
18
for
while
do - while
SENTENCIAS Y EXPRESIONES
SENTENCIAS Y EXPRESIONES
SENTENCIAS Y EXPRESIONES
SENTENCIAS Y EXPRESIONES
SENTENCIAS Y EXPRESIONES
SENTENCIAS Y EXPRESIONES
24
SENTENCIAS Y EXPRESIONES
25
FUNCIONES
Es un bloque de construccin de un programa, contiene
expresiones y sentencias que desarrollan un problema en
particular.
La agrupacin de funciones permiten modularidad en un programa.
Las funciones se pueden agrupar y almacenar en libreras.
Cada programa en lenguaje C tiene al menos una funcin main.
Cada funcin tiene un nombre, un tipo de datos, y una lista de
parmetros contenidos en variables.
Las funciones deben ser declaradas al inicio del programa.
26
FUNCIONES
27
EL PRE-PROCESADOR DE C
El pre-procesador es un programa que se encarga de reconocer y
ejecutar las denominadas directivas al inicio de la etapa de
compilacin (anterior a la compilacin).
El pre-procesador acta sobre los archivos fuente procesando las
directivas para entregar un programa mas simple al compilador.
Las directivas son instrucciones que comienzan con el smbolo #.
#define, #undef
#if, #ifdef, #ifndef, #endif, #else, #elif
#include
#pragma
#error
28
EL COMPILADOR Y EL ENLAZADOR
29
EL COMPILADOR Y EL ENLAZADOR
30
//DECLARACION DE MACROS
#define LedStat(x) PinWrite(PortD, GPIO_PIN_5, x)
//LED DE ESTADO
//DECLARACION DE VARIABLES
F32 ServoMinG; //CONTIENE EL ANCHO DE PULSO PWM, PARA CERO GRADOS EN EL SERVO
U32 ServoStep; //CONTIENE EL VALOR DE PASO PARA CALCULAR ANCHO DE PULSO SEGUN GRADOS
//PROTO FUNCIONES
static void SystemInit(void); //INICIALIZA LOS PERIFERICOS NECESARIOS
static S16 DetCommand(void); //DETECCION DE COMANDO DE POSICION EN GRADOS
//PROGRAMA PRINCIPAL
int main(void)
{
S08 inpChar; //CONTIENE CARACTER RECIBIDO DESDE LA TERMINAL
S16 ActServoPos = 0; //CONTIENE LA POSICION ACTUAL DEL SERVO (0 A 180)
SystemInit(); //INICIALIZA PERIFERICOS
Delayms(1000); //RETARDO PARA INICIALIZACION
31
//BUCLE DE PROGRAMA
while(true)
{
inpChar = getc(UART0_BASE); //CAPTURA UN CARACTER DESDE EL PUERTO SERIE
if(inpChar > 0) ServoStep ++;
Delayms(1); //BUCLE DE PROGRAMA 1000/S
}
REFERENCIAS
www.es.wikipedia.org/wiki/C_(lenguaje_de_programacin)
www.monografias.com/trabajos4/lenguajec/lenguajec.shtml
http://148.208.235.3:4000/~tutorias/tutoria/CursodeC.pdf
32