Descripción
En esta práctica se creará un proyecto para el microcontrolador MKL25Z128, utilizando CodeWarrior 10.3 y el Sistema operativo MQX lite. De igual forma se muestra un primer proyecto y las lineas de código necesario.
Objetivo
Mostrar la secuencia de pasos necesaria para crear un proyecto en el sistema operativo MQX lite.
Desarrollo
Una vez abierto CW
aparecerá la siguiente ventana.
Figura 1. Ventana de inicio de
Codewarrior 10.3
Para crear un proyecto seguir las siguientes instrucciones:
1. Clic
en el menú File > New > MQX Lite
Proyect
2. Aparecerá
la ventana “Create an MQX-Lite Project”. Escribir el nombre del proyecto.
3. Clic
en Next. Aparecerá la ventana Devices, donde se escoge el microcontrolador a
utilizar. Para este
caso escoger Kinetis L Series > KL2X Family > KL25Z (48 MHz) > MKL25Z128
caso escoger Kinetis L Series > KL2X Family > KL25Z (48 MHz) > MKL25Z128
4. Clic
en Next. Aparecerá la ventana Connections, escoger Open Source SDA .
5. Clic
en Next, y clic en Finish.
CodeWarrior generara los archivos
necesarios para el proyecto.
Configuración del Reloj
Es necesario hacer algunos
ajustes en el reloj del sistema. En la figura se muestran estas modificaciones.
Y por ultimo damos clic en el icono de generar código, para verificar que no haya errores en el proyecto.
Una vez creado y generado los archivos necesarios para el proyecto, se procede a realizar la primer práctica, que consiste básicamente en encender y apagar un led.
Para realizar esta práctica se
hace uso del sistema MQX, el cual es un sistema operativo en tiempo real, el
cual se encarga de ejecutar un conjunto de tareas de acuerdo a ciertas
reglas y prioridades.
Una tarea es una porción del programa que cumple con un objetivo determinado.
En este proyecto el sistema crea por default una tarea.
Es necesario agregar un bean el
cual esté conectado al led incorporado en la tarjeta. El bean que se agregara
es
, el cual tiene las
siguientes características.
Figura 5. Configuración del Bean del Led.
Desarrollo del código.
Como ya se menciono, lo que se
desea es encender y apagar un led. Como se puede observar la estructura que
tienen las tareas, creadas por MQX, estas se encuentran dentro de un ciclo
infinito. Por lo que la tarea una vez que entre al ciclo nunca terminara, a
menos que se le indique explícitamente.
Para cumplir con el objetivo se hará uso de de los
métodos proporcionados por el Bean , como es el caso de Verde_NegVal(),
el cual invierte
el valor de la .salida, y para poder observar el encendido y apagado del led se
hara uso de otro método como _time_delay_ticks(),el
cual suspende la actual tarea por el numero indicado, en su argumento.
No hay comentarios:
Publicar un comentario