Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
Tarjeta kl25z
La tarjeta KL25z es una plataforma de desarrollo basada en un microcontrolador de la
familia Kinetis de NXP Semiconductors. Aquí hay un resumen de sus características
principales:
Microcontrolador:
La tarjeta KL25z está equipada con un microcontrolador Kinetis KL25Z128VLK4 de 32 bits.
Arquitectura ARM Cortex-M0+:
El microcontrolador utiliza la arquitectura ARM Cortex-M0+, que proporciona un
rendimiento eficiente y de bajo consumo de energía.
Memoria:
Dispone de memoria flash integrada para el almacenamiento del programa y memoria
RAM para el almacenamiento temporal de datos.
Periféricos Integrados:
Incluye una variedad de periféricos integrados, como UART (Universal Asynchronous
Receiver-Transmitter), GPIO (General Purpose Input/Output), temporizadores, entre otros.
Interfaz de Depuración y Programación:
Cuenta con una interfaz de depuración y programación, como la sonda OpenSDA, que
facilita el desarrollo y la depuración del firmware.
Conectividad:
Proporciona opciones de conectividad, como USB y puertos GPIO, que permiten la
comunicación con otros dispositivos y la expansión de funcionalidades.
LED RGB Integrado:
La tarjeta KL25z a menudo incluye un LED RGB integrado que puede ser controlado para
mostrar una amplia variedad de colores.
Placa de Expansión:
Algunos modelos pueden tener pines adicionales y una placa de expansión compatible con
Arduino, lo que facilita la conexión de sensores y otros periféricos.
Entorno de Desarrollo:
Se utiliza comúnmente con entornos de desarrollo como Keil u otros basados en Eclipse, y
el software de desarrollo se puede cargar a través de la interfaz de depuración y
programación integrada.
Aplicaciones:
La tarjeta KL25z es adecuada para el desarrollo de proyectos embebidos y aplicaciones que
requieren un microcontrolador de bajo costo y bajo consumo de energía, como sistemas
de control, dispositivos IoT y proyectos educativos.
UART
La UART (Universal Asynchronous Receiver-Transmitter) es un estándar de comunicación
serial que facilita la transmisión de datos entre dispositivos de manera asíncrona. Sus
componentes básicos incluyen un transmisor (TX) para enviar datos y un receptor (RX)
para recibirlos. La comunicación es full-dúplex, permitiendo la transmisión simultánea en
ambas direcciones.
Algoritmo
Mientras (True):
- Recibir comando UART
- Según el comando recibido:
- Caso '1': Encender LED rojo
- Caso '2': Encender LED azul
- Caso '3': Encender LED verde
- Caso '4': Encender LED morado (rojo + azul)
- Caso '5': Encender LED amarillo (rojo + verde)
- Caso '6': Encender LED azul claro (verde + azul)
- Caso '7': Encender LED blanco (rojo + verde + azul)
- Caso '8': Apagar todos los LEDs
Función uart_y_kl25_config():
- Configurar UART y pines para LEDs
Función leds_off():
- Apagar todos los LEDs
Diagrama de flujo
Desarrollo Practico
Para realizar el desarrollo practico se hizo uso del programa y compilador MCUXpresso en
el cual realizamos un código que lo que va a realizar mediante UART es prender el led RGB
de la tarjeta KL25Z el cual con diferentes números (del 1 al 8) iba a encender los diferentes
colores que se pueden hacer con las combinaciones de color del RGB hasta llegar al
numero 8 el cual iba a apagar por completo el led RGB de la tarjeta
Material
• SOFTWARE: MCUXPRESSO
• Consola: Tera Term
• Computadora
• Tarjeta KL25Z
Código de programa
Ejecución del programa
Foto del código funcionando
Conclusiones:
Concluyendo esta práctica de sistemas embebidos en la que trabajamos con UART y
controlamos LEDs en una tarjeta KL25z, puedo destacar algunas observaciones y
aprendizajes importantes.
En primer lugar, a través del código que desarrollamos, comprendí cómo establecer una
comunicación serial eficiente entre la tarjeta y la terminal, permitiéndonos enviar y recibir
información de manera sencilla. La configuración inicial de la UART y la transmisión de
mensajes iniciales, como mi nombre y número de registro, demostraron ser pasos
fundamentales para la interacción básica entre el sistema embebido y el usuario.
// FUNCIONES
void uart_y_kl25_config();
void leds_off();
int uart0_switch_case();
// VARIABLES
char numero = ' ';
// FUNCION PRINCIPAL
int main(void)
{
uart_y_kl25_config();
uart0_switch_case();
}
// DESARROLLO DE FUNCIONES
void uart_y_kl25_config()
{
/* Init board hardware. */
BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitBootPeripherals();
#ifndef BOARD_INIT_DEBUG_CONSOLE_PERIPHERAL
/* Init FSL debug console. */
BOARD_InitDebugConsole();
#endif
PORTB->PCR[18] |= (1<<8);
GPIOB->PDDR |= (1<<18);
GPIOB->PDOR |= (1<<18);
PORTB->PCR[19] |= (1<<8);
GPIOB->PDDR |= (1<<19);
GPIOB->PDOR |= (1<<19);
PORTD->PCR[1] |= (1<<8);
GPIOD->PDDR |= (1<<1);
GPIOD->PDOR |= (1<<1);