Documentos de Académico
Documentos de Profesional
Documentos de Cultura
- Teclado Matricial
Borrador
Pr�ctica 4.- Display 7 Segmentos
Borrador
Pr�ctica 3.- Torreta
Borrador
Pr�ctica 2.- Adivina
Borrador
Pr�ctica 1.- Hola Mundo
Borrador
OBJETIVO
En esta pr�ctica se aprender� a configurar y utilizar la terminal serial de la
Tarjeta Bluepill
Se formatear�n los datos a mostrar utilizando las secuencias de ESCape.
Cada alumno crear� su propia car�tula con sus datos personales y la adicionar� a su
plantilla personal.
RECURSOS
- Tarjeta de Desarrollo "Bluepill" basada en el CPU ARM M3 incorporado en el
microcontrolador STM32F103C8T6 de ST Microelectronics
- Tarjeta Transceptor Serial a USB: CP2102, PL2303, CH340G � FT232RL
- Tarjeta ST-Link V2
- Protoboard
- Cables Ribbon 30 o 20 cm de largo con conectores Dupont (Hembra-Hembra)
- LED RGB
- Buzzer Piezoelectrico
- Resistencias 100, 1K, 2K, 2.2K
Desarrollo
1.- En la cuenta personal del Compilador en L�nea Mbed Keil Studio Cloud, Clonar
el Proyecto:
mebd2-Bluepill_Plantilla ---> mbed2-Bluepill_Hola_Mundo
2.- Abrir el archivo Bluepill_Hola_Mundo.txt proporcionado y seleccionar todo el
texto para copiar
3.- Del proyecto Bluepill_Hola_Mundo reci�n creado, seleccionar, abrir y editar el
archivo Main, seleccionar todo el texto y pegar el texto del archivo
Bluepill_Hola_Mundo.txt , guardar los cambios.
4.- Compilar el Proyecto: mbed2-Bluepill_Hola_Mundo y descargar el
archivo Binario:
mbed2-Bluepill_Hola_Mundo.NUCLEO_F103RB.bin
5.- Conectar la Tarjeta ST-Link V2 a la Tarjeta Bluepill montada en un protoboard
seg�n el siguiente diagrama:.
BluePill ST-Link
CABLE
3.3V --------- 3.3V
SWIO <------> SWIO
SWCLK <------- SWCLK
GND --------- GND
6.- Conectar el transceptor USB a Serial TTL siguiendo el siguiente conexionado:
Bluepill
USB a Serial
UART1 UART2 UART3 CABLE CP2102 PL2303 CH340G
FT232RL
PA_9 PA_2 PB_10 Tx ------> Rx 3
2 2 3
PA_10 PA_3 PB_11 Rx <------ Tx 4 3
3 2
3.3V ------ 3.3V 5
5 4 1
GND ------ GND 2
1 1 4
7.- Conectar ambos a un puerto USB respectivamente
8.- En la plataforma Mbed-Keil Studio Cloud compilar el proyecto:
mbed2-Bluepill_Hola_Mundo seleccionar archivo main.cpp , compilar y
descargar el archivo binario:
mbed2-Bluepill_Hola_Mundo.NUCLEO_F103RB.bin
observar la carpeta donde se descargar el archivo binario generado.
9.- Abrir la aplicaci�n ST-Link Utility y seleccionar el icono "Connect to Target"
10.- En la aplicaci�n ST-LINK Utility, una vez detectada y habilitada la Tarjeta
Bluepill, seleccionar el icono "Open file" y buscar y seleccionar el archivo mbed2-
Bluepill_Hola_Mundo.NUCLEO_F103RB.bin y cargarlo.
11.- Ejecutar la aplicaci�n TeraTerm y seleccionar la opci�n "Serial" y elegir el
puerto de comunicaciones COM donde se encuentre el transceptor USB-Serial, una vez
dentro de la ventana de la Terminal, en la Barra Superior, seleccionar el Men�
emergente "Setup" seleccionar la opci�n "Serial Port..." y configurarlo en la
opci�n "Baud rate" para una velocidad de operaci�n de 115200 bauds. Seleccionar
nuevamente el men� emergente "Setup" y la opci�n "Save Setup..." para establecer
los valores seleccionados cada vez que entremos al TeraTerm.
12.- En la aplicaci�n ST-Link Utility Seleccionar el icono "Program verify"
STM32F103C8_Hola_Mundo.txt
Bluepill_Practica_1.png
RECURSOS
- Tarjeta de Desarrollo "Bluepill" basada en el CPU ARM M3 incorporado en el
microcontrolador STM32F103C8T6 de ST Microelectronics
- Tarjeta Transceptor Serial a USB: CP2102, PL2303, CH340G � FT232RL
- Tarjeta ST-Link V2
- Protoboard
- Cables Ribbon 30 o 20 cm de largo con conectores Dupont (Hembra-Hembra)
- LED RGB
- Buzzer Piezoelectrico
- Resistencias 100, 1K, 2K, 2.2K
Desarrollo
1.- En la cuenta personal del Compilador en L�nea Mbed Keil Studio Cloud, Clonar
el Proyecto:
mebd2-Bluepill_Plantilla ---> mbed2-Bluepill_Hola_Mundo
2.- Abrir el archivo Bluepill_Hola_Mundo.txt proporcionado y seleccionar todo el
texto para copiar
3.- Del proyecto Bluepill_Hola_Mundo reci�n creado, seleccionar, abrir y editar el
archivo Main, seleccionar todo el texto y pegar el texto del archivo
Bluepill_Hola_Mundo.txt , guardar los cambios.
4.- Compilar el Proyecto: mbed2-Bluepill_Hola_Mundo y descargar el
archivo Binario:
mbed2-Bluepill_Hola_Mundo.NUCLEO_F103RB.bin
5.- Conectar la Tarjeta ST-Link V2 a la Tarjeta Bluepill montada en un protoboard
seg�n el siguiente diagrama:.
BluePill ST-Link
CABLE
3.3V --------- 3.3V
SWIO <------> SWIO
SWCLK <------- SWCLK
GND --------- GND
6.- Conectar el transceptor USB a Serial TTL siguiendo el siguiente conexionado:
Bluepill
USB a Serial
UART1 UART2 UART3 CABLE CP2102 PL2303 CH340G
FT232RL
PA_9 PA_2 PB_10 Tx ------> Rx 3
2 2 3
PA_10 PA_3 PB_11 Rx <------ Tx 4 3
3 2
3.3V ------ 3.3V 5
5 4 1
GND ------ GND 2
1 1 4
7.- Conectar ambos a un puerto USB respectivamente
8.- En la plataforma Mbed-Keil Studio Cloud compilar el proyecto:
mbed2-Bluepill_Hola_Mundo seleccionar archivo main.cpp , compilar y
descargar el archivo binario:
mbed2-Bluepill_Hola_Mundo.NUCLEO_F103RB.bin
observar la carpeta donde se descargar el archivo binario generado.
9.- Abrir la aplicaci�n ST-Link Utility y seleccionar el icono "Connect to Target"
10.- En la aplicaci�n ST-LINK Utility, una vez detectada y habilitada la Tarjeta
Bluepill, seleccionar el icono "Open file" y buscar y seleccionar el archivo mbed2-
Bluepill_Hola_Mundo.NUCLEO_F103RB.bin y cargarlo.
11.- Ejecutar la aplicaci�n TeraTerm y seleccionar la opci�n "Serial" y elegir el
puerto de comunicaciones COM donde se encuentre el transceptor USB-Serial, una vez
dentro de la ventana de la Terminal, en la Barra Superior, seleccionar el Men�
emergente "Setup" seleccionar la opci�n "Serial Port..." y configurarlo en la
opci�n "Baud rate" para una velocidad de operaci�n de 115200 bauds. Seleccionar
nuevamente el men� emergente "Setup" y la opci�n "Save Setup..." para establecer
los valores seleccionados cada vez que entremos al TeraTerm.
12.- En la aplicaci�n ST-Link Utility Seleccionar el icono "Program verify"
13.- Observar la operaci�n de la Tarjeta Bluepill tanto f�sicamente como en la
Terminal Serial de la PC.
Tema
Tema
LABORATORIO
/* #############################################################################
** Archivo : main.c
** Proyecto : Bluepill_Hola_Mundo
** Procesador : STM32F103C8T6
** Plataforma : Blue Pill
** Herramienta : Mbed
** Compilador : Mbed Online C Compiler
** Version : Mbed-OS 5.15.0
** Fecha/Hora : 18-12-2019, 11:48, # CodeGen: 0
** Descripci�n :
** Este proyecto muestra la configuraci�n y uso de la Terminal Serial
** utilizando las secuencias de ESCape
** This module contains user's application code.
** Componentes : Serial, etc .
** Configuraciones : Se puede seleccionar entre diferentes velocidades de
** transmisi�n
** Autores :
** ATEAM Development Group:
** - Antulio Morgado Valle
**
** Versi�n : Beta
** Revisi�n : A
** Release : 0
** Bugs & Fixes :
** Date : 20/10/2019
** Adici�n de secuencias de ESCape
** 27/09/2010
** Ejemplo del Hola Mundo
**
** ###########################################################################*/
/*
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: Includes
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*/
#include "stm32f103c8t6.h"
#include "mbed.h"
#include "Serial.h"
#include "stdio.h"
#include <limits.h>
#include "wchar.h"
/*
:...............................................................................
: Definiciones
:...............................................................................
*/
#define LED_ON 0 // Estado para el Led Encendido
#define LED_OFF 1 // Estado para el Led Apagado
#define BUZZ_ON 1 // Estado para Buzzer Encendido
#define BUZZ_OFF 0 // Estado para Buzzer Apagado
#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
#define BAUD_RATE 115200 // Velocidad de Transmisi�n (Bauds)
// Velocidades Permitidas:
// 300, 600, 1200, 2400, 4800, 9600,
// 14400, 19600, 28800, 38400, 57600
// 115200, 230400
/*
+-------------------------------------------------------------------------------
| Configuraci�n de Puertos
+-------------------------------------------------------------------------------
*/
/* 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
Setup();
terminal.printf ("\tInstituto Politecnico Nacional\n\r");
terminal.printf ("ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA\n\r");
printf ("\vHola Mundo!\r");
printf ("\v\t\vH\ne\nl\nl\no\n \nW\no\nr\nl\nd\n!\r");
printf ("\n\nPresiona cualquier tecla para continuar...");
char opcion = terminal.getc();
terminal.printf("\e[0m\r\n");
terminal.printf("\n\a\f\e[7;5;1mBlinking\e[0m\r\n");
printf ("\n\nPresiona cualquier tecla para continuar...");
char opcion = terminal.getc();
terminal.printf(" =) \e[2J"); // Clear Screen
printf("\r\n");
terminal.printf("\a\f\n\r"); //\e[033c
}
}
/* END main */
/*
................................................................................
: Rutinas de los Vectores de Interrupci�n
................................................................................
*/
/* END Events */
/*
________________________________________________________________________________
|
| Funciones Prototipo
|_______________________________________________________________________________
*/
// Las Funciones Prototipo van aqu� !
void Setup()
{
confSysClock(); // Configure system clock (72MHz HSE clock, 48MHz USB clock)
terminal.baud(BAUD_RATE); // Se configura la velocidad de transmisi�n
terminal.printf("System is Wake Up!.\n\r"); // e inicia la comunicaci�n serial.
} // con la Terminal (PC)
/* END routines */
/* END program */
/*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
********************************************************************************
*+
*+ D O C U M E N T A C I � N
*+
********************************************************************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
| La documentaci�n va aqu�!:
|
|-------------------------------------------------------------------------------
| IDENTIFICADORES
|-------------------------------------------------------------------------------
|
| prefijo signifcado uso
| v_ variable (var) v_nombre_variable
| c_ constante (const) c_nombre_constante
| i_ indice (index) i_nombre_indice
| p_ apuntador (pointer) p_nombre_apuntador
| l_ etiqueta (label) l_nombre_etiqueta
| f_ funci�n (function) f_nombre_funcion
|
|-------------------------------------------------------------------------------
/* END documentation */
/* END Mbed */