..

Dependencies:   mbed Adafruit_GFX

Committer:
anyela
Date:
Sun Jan 23 05:07:50 2022 +0000
Revision:
0:089bab694789
,

Who changed what in which revision?

UserRevisionLine numberNew contents of line
anyela 0:089bab694789 1 #include "mbed.h"
anyela 0:089bab694789 2
anyela 0:089bab694789 3 // Macros y constantes
anyela 0:089bab694789 4 #define N 100 // Número de muestras por ciclo sinusoidal
anyela 0:089bab694789 5 #define Ts 0.01667/N // periodo de muestreo
anyela 0:089bab694789 6
anyela 0:089bab694789 7
anyela 0:089bab694789 8 // Instancias
anyela 0:089bab694789 9 Ticker t; // interrupciòn periodica. evento que dispara la ejecución de una subrutina interrumpiendo la ejecucion normal.
anyela 0:089bab694789 10 DigitalOut myled(LED2);
anyela 0:089bab694789 11 AnalogIn Vin(p15);
anyela 0:089bab694789 12
anyela 0:089bab694789 13
anyela 0:089bab694789 14
anyela 0:089bab694789 15 // variables y arreglos
anyela 0:089bab694789 16 uint16_t i=0,Varr[N]; // Arreglo para almacenar señales de voltaje y corriente
anyela 0:089bab694789 17
anyela 0:089bab694789 18 // Funciones
anyela 0:089bab694789 19 void sample(){
anyela 0:089bab694789 20 if (i<N){
anyela 0:089bab694789 21 Varr[i]=Vin.read_u16();
anyela 0:089bab694789 22 i++;
anyela 0:089bab694789 23 }
anyela 0:089bab694789 24
anyela 0:089bab694789 25 }
anyela 0:089bab694789 26
anyela 0:089bab694789 27 uint16_t find_PK(uint16_t* arr, uint16_t size){ // se pasa la posicion de memoria del arreglo y valor inmediato del tamaño vector
anyela 0:089bab694789 28 uint16_t peak = 0;
anyela 0:089bab694789 29 for(int i=0;i<size; i++){
anyela 0:089bab694789 30 if (arr[i]>peak)
anyela 0:089bab694789 31 peak = i;
anyela 0:089bab694789 32 }
anyela 0:089bab694789 33 return peak;
anyela 0:089bab694789 34 }
anyela 0:089bab694789 35
anyela 0:089bab694789 36 int main() {
anyela 0:089bab694789 37 t.attach(&sample,Ts);
anyela 0:089bab694789 38 pc.baud(115200);
anyela 0:089bab694789 39
anyela 0:089bab694789 40 while(1) {
anyela 0:089bab694789 41 if(i==N){
anyela 0:089bab694789 42
anyela 0:089bab694789 43
anyela 0:089bab694789 44 }
anyela 0:089bab694789 45 i=0;
anyela 0:089bab694789 46 }
anyela 0:089bab694789 47 myled = 1;
anyela 0:089bab694789 48 wait(0.2);
anyela 0:089bab694789 49 myled = 0;
anyela 0:089bab694789 50 wait(0.2);
anyela 0:089bab694789 51 }
anyela 0:089bab694789 52 }