02 Sistemas Embebidos
02 Sistemas Embebidos
02 Sistemas Embebidos
evento)
Programación de Sistemas
Embebidos
Profesor: Msc. Ronald Solis M.
Objetivo General
Temario
Historia Lenguaje C
Temario
Lenguaje C
Temario
Tipos de datos en C
C ofrece tres tipos de datos básicos:
• Números reales o en coma flotante definidos con las palabras claves float o double
Temario
Tipos de datos en C
La tabla muestra el rango de valores, que estos datos tienen en su forma básica.
• Las cadenas de texto o strings son simplemente tablas de “char”. Las funciones de
biblioteca para manipular estas cadenas asumen que el último byte tiene valor
cero. Las cadenas de texto se escriben en el programa rodeadas de dobles comillas
y contienen el valor cero al final. A continuación se muestran dos definiciones:
Temario
Números Reales
• Los números reales se definen con “float” o “double”. La diferencia entre ambas es la
precisión que ofrece su representación interna. Hay un número infinito de reales, pero se
representan con un número finito de bits. A mayor número de bits, mayor número de reales
se representan, y por tanto, mayor precisión. Los reales definidos con “double” tienen un
tamaño doble a los definidos con “float”. Al igual que en el caso de los enteros, el tamaño
de estas representaciones varía de una plataforma a otra.
• Algunas plataformas ofrecen números reales con tamaño mayor al “double” que se definen
como “long double”. Los tamaños típicos para los tipos “float”, “double” y “long double”
son 4, 8 y 12 bytes respectivamente. A continuación se muestran varias definiciones de
números reales.
Temario
Cadenas de caracteres
Cadenas de caracteres (str) .
Las cadenas de caracteres son secuencias de caracteres encerradas entre comillas (" ") o apóstrofes
(' ') indistintamente.
'Hola Mundo'
"Vamos al McDonald's“
None.
El tipo None representa un valor "vació".
Temario
Operaciones Aritméticas, Operadores de
comparación y Lógicas
Operadores y Operaciones
Operaciones Aritméticas
Suma +
Resta -
Multiplicación *
División /
Incremento ++
Decremento --
Módulo %
Operadores de Comparación
Operadores de comparación
Igual que ==
Distinto que !=
Operadores Lógicos en C
Operadores lógicos
And &&
Or ||
Not !
Sentencia “if”
if(expression) {
... //
... // operation1
...}//
else {
operation2
}
Sentencia “if e if-else”
A veces hay más de dos posibilidades y necesitamos más de dos ramas. Una forma de
expresar tal cómputo es una condicional encadenada.
if(expression) {
... //
... // operation1
...}//
else if(expression) {
operation3
}
else {
operation2
}
Sentencia “switch”
while(expression){
sentencias
...
}
Bucle infinito
while(1){
... // Este grupo de sentencias se ejecuta
... // permanentemente.
}
Bucle “for”
{
operaciones
...
}
Bucle “for”
….
}
Sale del lazo con K=5.
Bucle “do-while”
do
{
operaciones
……
}
while (condición_salida);
Ejemplo:
• https://www.onlinegdb.com/
online_c_compiler • https://dcoder.tech/index.html
https://repl.it/~
Ejemplos de códigos en C
• https://repl.it/join/sagrueyc-rdsolis2020
Librerías en lenguaje C
Librerías en lenguaje C
Temario
Librerías en lenguaje C
Temario
Stdio.H
• Significa "standard input-output header" (cabecera estándar E/S), es el
archivo de cabecera que contiene las definiciones de las macros, las
constantes, las declaraciones de funciones de la biblioteca estándar del
lenguaje de programación C para hacer operaciones, estándar, de entrada y
salida, así como la definición de tipos necesarias para dichas operaciones.
• Ejemplo:
printf: usado para imprimir salidas de datos.
scanf: utilizado para introducir entradas.
puts: imprime una cadena de caracteres.
getc: devuelve un carácter desde un fichero.
ferror: comprueba el indicador de errores.
Math.h
• Es un archivo de cabecera de la biblioteca estándar del lenguaje de
programación C diseñado para operaciones matemáticas básicas. Muchas
de sus funciones incluyen el uso de números en coma flotante
• Ejemplo:
acos: arcocoseno.
asin: arcoseno.
atan: arcotangente
Floor: menor entero no menor que el parámetro.
Cosh: coseno hiperbólico.
Log: logaritmo natural.
Pow(x,y): eleva un valor dado a un exponente. x^y
String.h
• Es un archivo de la Biblioteca estándar del lenguaje de programación C que
contiene la definición de macros, constantes, funciones y tipos y algunas
operaciones de manipulación de memoria.
• Ejemplo:
null: macro que representa la constante puntero nulo.
strcpy: copia una cadena en otra.
strcat: añade una cadena al final de otra.
strrev: invierte una cadena.
strstr: busca una cadena dentro de otra.
Stdlib.h
• (std-lib: standard library o biblioteca estándar) es el archivo de cabecera de
la biblioteca estándar de propósito general del lenguaje de programación C.
Contiene los prototipos de funciones de C para gestión de memoria
dinámica, control de procesos y otras.
• Ejemplo:
atof: ascii to float, cadena de caracteres a coma flotante.
rand: genera un número pseudo-aleatorio.
free: liberan memoria devolviéndola al heap.
system: ejecutar un comando externo.
exit: terminar ejecución del programa.
Ejemplos de programación en C en sistemas
embebidos
Arduino Uno
PIC 16F628A
ZEDBOARD Raspberry Pi
Referencias
• https://informatica.uv.es/estguia/ATD/apuntes/laboratorio/Lenguaje-C.pdf
• https://www.ecured.cu/Historia_del_Lenguaje_C#:~:text=Historia%20del%20Leng
uaje%20C%20.,de%20Sistemas%20Operativos%2C%20concretamente%20Unix.
• https://www.ictea.com/cs/index.php?rp=%2Fknowledgebase%2F8834%2FiQue-
es-el-lenguaje-de-programacion-C.html
• https://www.gnu.org/home.es.html#:~:text=GNU%20es%20un%20sistema%20op
erativo%20de%20tipo%20Unix%2C%20lo%20cual,se%20conoce%20como%20Pr
oyecto%20GNU.&text=El%20nombre%20%C2%ABGNU%C2%BB%20es%20un,%
C2%ABGNU%20No%20es%20Unix%C2%BB.
• https://es.slideshare.net/CristianMaza2/librerias-bsicas-y-sus-funciones-lenguaje-
de-programacin-c?qid=f3ba74cc-a8f7-4c99-bb0a-
6a19b4d5b893&v=&b=&from_search=1