Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp
- Committer:
- Antulius
- Date:
- 2019-09-05
- Revision:
- 0:f680c41c1640
File content as of revision 0:f680c41c1640:
/* ###########################################################################
** Archivo : main.c
** Proyecto : STM32-103C8_Adivina
** Procesador : STM32F103C8
** Herramienta : Mbed
** Version : Driver 01.01
** Compilador : GNU C Compiler
** Fecha/Hora : 14-07-2015, 11:48, # CodeGen: 0
** Descripción :
** Este proyecto muestra la configuración y uso de la Terminal Serial
** This module contains user's application code.
** Componentes : Timer, etc .
** Configuraciones : Se puede seleccionar entre diferentes velocodades de
** transmisión
** Autores :
** ATEAM Development Group:
** - Antulio Morgado Valle
**
** Versión : Beta
** Revisión : A
** Release : 0
** Bugs & Fixes :
** Date : 20/10/2019
** Ejemplpo del Hola Mundo
** 27/09/2010
**
**
** ###########################################################################*/
/*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: Includes
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*/
#include "stm32f103c8t6.h"
#include "mbed.h"
#include "Serial.h"
#include "stdio.h"
/*
:...............................................................................
: Definiciones
:...............................................................................
*/
#define on 0 // Estado para boton presionado
#define off 1 // Estado para boton sin presionar
#define hold 2 // Estado para boton mantenido
#define release 3 // Estado para boton liberado
#define FALSE 0 // Estado FALSO
#define TRUE 1 // Estado VERDADERO
/*
+-------------------------------------------------------------------------------
| Configuración de Puertos
+-------------------------------------------------------------------------------
*/
DigitalOut verde (LED1); // PC_13 (Green_Led)
DigitalOut rojo (PB_1); // NC (Red_Led)
// ***** Host PC Terminal Communication channels
Serial terminal (PA_2, PA_3); // Inicializa la comunicación serial a la PC (Tx,Rx)
//Serial terminal(USBTX, USBRX,115200);// Tx, Rx Baud Rate - Terminal Serial por USB @ 115,200 Bauds
/*
+-------------------------------------------------------------------------------
| Variables Globales de Usuario
+-------------------------------------------------------------------------------
*/
//uint32_t Baud_Rate = 9600; // Velocidad de Transmisión (Bauds)
/*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| Definición de Funciones Prototipo y Rutinas de los Vectores de Interrupción
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
void Setup(void);
/* END definitions */
/*
#===============================================================================
|
| P R O G R A M A P R I N C I P A L
|
#===============================================================================
*/
int main()
{ // Inicialización de variables, puertos e interrupciones
confSysClock(); // Configure system clock (72MHz HSE clock, 48MHz USB clock)
Setup(); // Inicialización del sistema
terminal.printf ("ADIVINA\n\r");
rojo = off;
verde = off;
while(TRUE)
{
Inicio: terminal.printf(" DIGITE UN NUMERO SECRETO DE 0 A 9 \r\n");
char secreto = terminal.getc();
rojo = on;
verde = on;
Intenta: terminal.printf(" ADIVINA EL NUMERO: \r\n");
char respuesta = terminal.getc();
if( secreto < respuesta )
{
terminal.printf(" Es mas Bajo \r\n");
rojo = on;
verde = off;
goto Intenta;
}
if( secreto > respuesta )
{
terminal.printf(" Es mas Alto \r\n");
rojo = off;
verde = on;
goto Intenta;
}
if( secreto == respuesta )
{
terminal.printf(" CORRECTO!, Es igual a: %c \r\n",secreto);
rojo = off;
verde = on;
wait(1.0);
rojo = off;
verde = off;
wait(1.0);
rojo = off;
verde = on;
wait(1.0);
terminal.printf(" Eres un Genio !!! \r\n");
wait(1.0);
rojo = on;
verde = off;
wait(1.0);
rojo = off;
verde = on;
}
terminal.printf(" Quieres intentarlo de nuevo? \r\n");
terminal.printf(" 0 = No \r\n 1 = Si \r\n");
char opcion = terminal.getc();
if( opcion == '1' ) goto Inicio;
else if( opcion == '0' )
{
terminal.printf(" Eso es todo Amigos! \r\n");
break;
}
}
}
/* END main */
/*
................................................................................
: Rutinas de los Vectores de Interrupción
................................................................................
*/
/* END Events */
/*
________________________________________________________________________________
|
| Funciones Prototipo
|_______________________________________________________________________________
*/
// Las Funciones Prototipo van aquí !
void Setup()
{
// terminal.baud(Baud_Rate); // Se configura la velocidad de transmisión e inicia la comunicación serial.
terminal.baud(115200); // Se configura la velocidad de transmisión e inicia la comunicación serial.
terminal.printf(" System is Wake Up!.\n\r");
}
/* END routines */
/* END program */
/* END documentation */
/*
+--------------------------------------------------------------------------------
| EJERCICIO
|
| 1.- Este programa tambien acepta letras o caracteres?
| 2.- Modificar este programa para:
| a) Que solo acepte números
| b) Agregar un contador de Número de Intentos
|
+--------------------------------------------------------------------------------
|
| EXAMEN
|
| 1.- Modificar el programa para que despliegue el número de intentos para
| adivinar el número secreto.
| 2.- Modificar el programa para haga eco con la respuesta que le introducimos.
|
| 3.- Modificar el programa para que el número secreto sea generado aleatoriamente.
| a) Generar un Número Pseudo Aleatorio Mediante el Ticker
| b) Utilizando la función RANDOMIZE
| Suerte!
+--------------------------------------------------------------------------------
|
| T H E A N T U L I U S T E A M
| Research, Development, Systems Equipment, Support & Spare Parts I n c.
| (C) Copyright 1989-2014, All rigths Reserved
|
| This program is licensed under rules of
| THE BEANERS TECHNOLOGIES PROYECT
+-------------------------------------------------------------------------------
*/
/* END Mbed */