Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LEÓN
FACULTAD DE INGENIERÍA MECÁNICA Y
ELÉCTRICA
2.- Genere el efecto de persistencia visual de forma simultánea en los 8 dígitos del display.
4.- Desde el while principal imprimir constantemente el valor del número random en el
display
2.- Objetivo
Desarrollar el código necesario para enviar un número y su correspondiente señal de
activación en el lugar que le corresponda del display
Genere el efecto de persistencia visual de forma simultánea en los 8 dígitos del
display
Genere un código que por medio de las interrupciones genere números aleatorios los
cuales se mostraran en el display
3.- Diagrama de Flujo Propuesto
4.- Diagrama de la Implementación del Circuito (Si fue requerido)
5.- Evidencia Grafica (Si existe un circuito)
6.-Prototipos de funciones principales
#include "main.h"
#include "stm32f4xx.h"
#include <stdlib.h>
Las librerías que se muestran son las que se usan dentro del srand para obtener distintos
números bases o semilla. Con el time(NULL) tenemos como base la hora que está
cambiando a cada momento. Con el getpid tenemos como base el id del proceso del
programa y también estará cambiando constantemente.
DisplayNumber(Random);
Esta función guarda los valores de los 8 dígitos ya segmentados y por medio de un barrido
los muestra en la posición en la que van en los displays.
void EXTI0_IRQHandler(void)
Dentro del void de la interrupción externa tenemos una función y una instrucción.
RandomNumber();
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
void RandomNumber(void)
Dentro del void de RandomNumber tenemos la instrucción srand(getpid()); que es la
encargada de generar un número base o semilla a partir del id del proceso que estará
cambiando continuamente.
También tenemos la instrucción rand()%(N+1) que es la encargada de generar un número
aleatorio del 0 al 9 usando como base o semilla el id del proceso que usamos en la
instrucción anterior.