# &flowcode;

## Introducción

&flowcode; permite la construcción rápida y fácil de programas de PIC. Cuando el usuario haya creado un diagrama de flujo a partir de las partes del programa disponibles, &ktechlab; podrá convertir el diagrama de flujo en cierto número de formatos. Por ejemplo, para generar salida en hexadecimal, tiene lugar la siguiente cadena de conversiones:

1. El &flowcode; se convierte a µbe;, un lenguaje de alto nivel cuyo compilador se distribuye con &ktechlab;.

2. El ejecutable `microbe` compila a continuación el archivo µbe; a ensamblador de PIC.

3. Finalmente, `gpasm` toma el archivo de ensamblador de PIC y produce el código hexadecimal para el programa.

Por supuesto, si no ha instalado gputils (con el que se distribuye `gpasm`), no podrá realizar el último paso.

## Creación de un programa

Cada programa de &flowcode; necesita un único punto de inicio (que es el lugar desde donde se ejecutará el programa cuando arranque el PIC). Para definir dicho punto, abra la barra lateral de FlowParts que hay a la izquierda y arrastre sobre la parte Inicio. &ktechlab; permitirá que solo use una de ellas.

Entonces podrá construir el programa usando las partes predefinidas que hay a la izquierda (o insertar código propio en ensamblador o en formato de µbe; usando la parte Empotrar). El flujo del programa se controla mediante las conexiones entre las FlowParts (connecting_components ofrece más detalles sobre cómo se crean conexiones).

&flowcode; impone limitaciones adicionales a las de los circuitos en los que se puede conectar. Por ejemplo, cada FlowPart solo puede tener una conexión de salida. Las limitaciones adicionales se describen en nestling_flowcode.

## Preferencias del PIC

Cuando cree un nuevo documento &flowcode;, se mostrará una imagen del PIC que está usando en la esquina superior izquierda del área de trabajo, que representa la configuración inicial del PIC.

Cada pin que aparece en la imagen del PIC muestra el tipo de pin inicial (entrada o salida), así como su estado inicial (alto o bajo). Puede cambiarlos arrastrando el pin para definir su tipo y haciendo clic sobre él para modificar su estado.

El diálogo de Preferencias, que se muestra al pulsar el botón Preferencias, también permite modificar el tipo de pin inicial y su estado (en este caso, editando los valores binarios escritos en el PORT y los registros TRIS). Aparte de la configuración del pin, el diálogo permite modificar los valores iniciales de las variables existentes en el programa del PIC.

En la parte inferior se muestra una lista de los mapas de pines actuales definidos, así como botones para manejarlos. Los mapas de pines se usan para especificar cómo se conecta al PIC una pantalla de siete segmentos o un teclado numérico. Para usar las partes Pantalla de siete segmentos y Teclado numérico, tendrá que definir antes un mapa de pines.

## Anidación de &flowcode;

Muchas FlowParts, como subrutinas y bucles, pueden contener código en su interior. Tras crear este tipo de contenedor, se pueden añadir FlowParts arrastrándolas o soltándolas en el contenedor. El contenedor se resaltará para indicar que se convertirá en un nuevo padre del FlowPart.

El contenedor adquiere la responsabilidad de los FlowParts anidados en su interior. Si el botón de expandir no se ha pulsado, todos los FlowParts contenidos estarán ocultos (y, del mismo modo, su contenido se mostrará cuando se vuelva a pulsar el botón de expandir). No se pueden realizar conexiones entre FlowParts de distintos contenedores, y el contenido de un contenedor se moverá junto con el contenedor.