
..
Dependencies: mbed Adafruit_GFX
main.cpp@0:089bab694789, 2022-01-23 (annotated)
- Committer:
- anyela
- Date:
- Sun Jan 23 05:07:50 2022 +0000
- Revision:
- 0:089bab694789
,
Who changed what in which revision?
User | Revision | Line number | New 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 | } |