Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación C
Programación C
#include <stdio.h>
main (){
printf(“HOLA MUNDO\r”);
}
Cuerpo de un programa para sistemas
embebidos
Como vimos anteriormente, el esquema de un
programa en C ANSI, ahora, nosotros
tendremos que agregarlo unas cuantas cosas
para que sea nuestro cuerpo de un programa
en C para sistemas embebidos, esto es, un
ciclo for infinito.
Cuerpo de un programa C embebido
Representado los valores
Es muy importante mencionar que hay varias formas de
representar valores numéricos e incluso caracteres en C.
Existen varias formas de representar un valor, entre ellas
son
• Hexadecimal
• Decimal
• Octal
• Binario
• ASCII (para los caracteres)
Ejercicio
Veamos el valor decimal 20 representado de
diferentes maneras:
Decimal : 20
Hexadecimal : 0x14
Octal: 24
Binario : 0b10100
Convirtiendo valores binarios a
hexadecimales y viceversa
Será muy frecuente en sistemas embebidos que
hagamos este tipo de conversiones, es por
esto que es de importancia mencionar una
manera fácil y rápida de lograr esto:
49
unsigned char Val;
int variable;
int variable=0;
TIPO “char”
char flag;
char cadena[4]="hola";
char[4]={‘h’,’o’,’l’,’a’,’\0’};
Veamos más de cerca
Arreglos de Cadenas
También podemos representar una cadena
vectorizada, esto quiere decir que tendrá
tanto x columnas y x filas, para entender
mejor esta definición, veamos un ejemplo:
return i;
}
Utilizando nuestra función
int time;
do{
time=time_sw();
}while(sw);
Preprocesador C
C proporciona ciertas facilidades de lenguaje por
medio de un preprocesador, que
conceptualmente es un primer paso separado
de compilación. Los dos elementos que se
usan con más frecuencia son #include y
#define.
Inclusión de Archivos
La inclusion de archivos facilita el manejo de
grupos de #define y declaraciones, cualquier
linea fuente de
#include “miarchivodecabecera.h”
o
#include <miarchivodecabecera.h>
Ejemplo de archivo de cabecera
Los archivos .h se asocian a definiciones o
macros, así como también la mención de
funciones que están alojadas en un archivo .c
Empecemos realizando nuestro primer
archivo .h donde alojará las definiciones de
nuestros puertos de entrada y salida de leds, y
puertos de entrada, así como también nuestra
función delay.
Definiendo nuestro archivo .h
main(){
for(;;){
led=0;
delay(3000);
led=1;
delay(3000);
}
}
Código Selectivo
Tenemos muchas herramientas en el
preprocesador, una de ellas es la
posibilidad de compilar secciones de
código solo sí se cumplen ciertas
condiciones, cabe mencionar que toda
esto pasa a un nivel mas primario que
nuestro código principal.
Código Selectivo
Para poder utilizar estas funciones C nos ofrece
las siguientes palabras reservadas:
#if
#elif
#ifdef y #ifndef
#else
#endif
Ejemplo
En este ejemplo, compilaremos el código
dependiendo si se cumple con una
palabra definida, para ser más claros,
cuando queramos definir los puertos que
utilizaremos del microcontrolador para
que se comunique con una LCD 16x2