Prueba todas las maneras de configurar una pantalla LCD alfanumérica
Dependencies: FRDM_TSI TextLCD mbed
Diff: main.cpp
- Revision:
- 7:af295ac5f904
- Parent:
- 6:333a2763ad29
- Child:
- 8:39219ab1efd9
--- a/main.cpp Tue Apr 02 19:26:46 2019 +0000 +++ b/main.cpp Wed May 08 03:37:52 2019 +0000 @@ -31,41 +31,37 @@ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */ #include "mbed.h" -#include "TSISensor.h" /* :............................................................................... : Definiciones :............................................................................... */ - +#define Ticker_Rate 1000 // Periodo de interrupción (us) /* +------------------------------------------------------------------------------- | Configuración de Puertos +------------------------------------------------------------------------------- */ - +Ticker Barrido; // Inicializa la Interrupción por Timer +DigitalOut led_monitor(LED1); // Inicializa el LED Monitor +PwmOut servo(PTE22); // Inicializa el PWM +AnalogIn sensor1 (PTB0); // Inicializa Canal Analógico para sensor 1 +Serial terminal(USBTX, USBRX); // Inicializa la Comunicación Serial a la PC /* +------------------------------------------------------------------------------- | Variables Globales de Usuario +------------------------------------------------------------------------------- */ - +uint16_t Rate=Ticker_Rate/2; // Velocidad de barrido (500us = 0.5ms) +uint16_t counter=250; // Cuenta inicial de 250us /* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -| Definición de Vectores de Interrupción +| Definición de Funciones Prototipo y Rutinas de los Vectores de Interrupción ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ - -/* END Events */ // Rutinas de Atención a Interrupciones - -/* -________________________________________________________________________________ -| -| Funciones Prototipo -|_______________________________________________________________________________ -*/ - // Las Funciones Prototipo van aquí ! +void Barrido_OnInterrupt(void); +void Blinking_Led(void); /* #=============================================================================== | @@ -76,8 +72,53 @@ int main() { // Inicialización de variables, puertos e interrupciones - while (true) +Barrido.attach_us(&Barrido_OnInterrupt, Rate); // Le asigna el periodo de barrido de 1ms (Rate=1000) + +terminal.baud(115200); // Se configura la velocidad de transmisión e inicia la comunicación serial. +terminal.printf(" System is Wake Up!.\n\r"); + + while (true) // El Lazo del Programa principal está aquí !!! { - //El Programa principal está aquí !!! +// Blinking_Led(); // Parapadeo del LED por Software + servo = sensor1.read(); +// terminal.printf("Blink \r\n"); } } +/* END main */ + +/* +................................................................................ +: Rutinas de los Vectores de Interrupción +................................................................................ +*/ +void Barrido_OnInterrupt() // Rutina de Atención al Ticker +{ + counter--; // Aquí va la Rutina de Servicio ! + if (!counter) + { + terminal.printf("Counter Finish! \r\n"); + led_monitor = !led_monitor; // Parapadeo del LED por Interrupción (Toggle the LED) + counter = Rate; // Restablece el contador + } +} +/* END Events */ +/* +________________________________________________________________________________ +| +| Funciones Prototipo +|_______________________________________________________________________________ +*/ + // Las Funciones Prototipo van aquí ! +void Blinking_Led() // Software Blinking routine for LED +{ + // The on-board LED is connected, via a resistor, to +3.3V (not to GND). + // So to turn the LED on or off we have to set it to 0 or 1 respectively + led_monitor = 0; // turn the LED on + wait_ms(200); // 200 millisecond + led_monitor = 1; // turn the LED off + wait_ms(1000); // 1000 millisecond +} + +/* END Program */ + +/* END Mbed */ \ No newline at end of file