Vjezba 2 sa komentarima bez 4. zadatka
Dependencies: mbed
Fork of KTM_vjezba2 by
mjerenje_trajanja_AD_pretvorbe.cpp@0:2cc3c591f993, 2016-11-05 (annotated)
- Committer:
- JosipLupinski
- Date:
- Sat Nov 05 19:16:56 2016 +0000
- Revision:
- 0:2cc3c591f993
- Child:
- 1:af669fa89346
Vjezba 2 sa komentarima bez 4. zadatka
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JosipLupinski | 0:2cc3c591f993 | 1 | #include "mbed.h" |
JosipLupinski | 0:2cc3c591f993 | 2 | |
JosipLupinski | 0:2cc3c591f993 | 3 | /* |
JosipLupinski | 0:2cc3c591f993 | 4 | vrijeme AD pretvorbe iznosi 20.85us |
JosipLupinski | 0:2cc3c591f993 | 5 | AD pretvorba LPC 1768 ima 12 bitnu rezoluciju i max frekvencija osvježenja je 200Hz |
JosipLupinski | 0:2cc3c591f993 | 6 | |
JosipLupinski | 0:2cc3c591f993 | 7 | vrijeme AD pretvorbe bi trebala iznositi 5us, ali zbog funkcije read() radi tri puta uzorkovanje |
JosipLupinski | 0:2cc3c591f993 | 8 | pa vraća srednju vrijednost, to uzima barem 15us, ostatak je nesavršenost i ostatak operacija |
JosipLupinski | 0:2cc3c591f993 | 9 | |
JosipLupinski | 0:2cc3c591f993 | 10 | */ |
JosipLupinski | 0:2cc3c591f993 | 11 | |
JosipLupinski | 0:2cc3c591f993 | 12 | AnalogIn Ain(p20); //definira analogni ulaz na pinu 20 |
JosipLupinski | 0:2cc3c591f993 | 13 | DigitalOut led(LED1); //signalizacijska ledica |
JosipLupinski | 0:2cc3c591f993 | 14 | Timer t; |
JosipLupinski | 0:2cc3c591f993 | 15 | Serial pc(USBTX, USBRX); // serijska komunikacija prema racunalu |
JosipLupinski | 0:2cc3c591f993 | 16 | |
JosipLupinski | 0:2cc3c591f993 | 17 | float ADCdata; |
JosipLupinski | 0:2cc3c591f993 | 18 | const int broj_pretvorbi = 100000; |
JosipLupinski | 0:2cc3c591f993 | 19 | |
JosipLupinski | 0:2cc3c591f993 | 20 | int main() { |
JosipLupinski | 0:2cc3c591f993 | 21 | led = 1; |
JosipLupinski | 0:2cc3c591f993 | 22 | wait(0.2); |
JosipLupinski | 0:2cc3c591f993 | 23 | led = 0; |
JosipLupinski | 0:2cc3c591f993 | 24 | wait(0.5); |
JosipLupinski | 0:2cc3c591f993 | 25 | led = 1; |
JosipLupinski | 0:2cc3c591f993 | 26 | wait(0.2); |
JosipLupinski | 0:2cc3c591f993 | 27 | led = 0; |
JosipLupinski | 0:2cc3c591f993 | 28 | wait(2); |
JosipLupinski | 0:2cc3c591f993 | 29 | |
JosipLupinski | 0:2cc3c591f993 | 30 | while(true) { |
JosipLupinski | 0:2cc3c591f993 | 31 | led = 1; |
JosipLupinski | 0:2cc3c591f993 | 32 | t.start(); //pokreni timer |
JosipLupinski | 0:2cc3c591f993 | 33 | |
JosipLupinski | 0:2cc3c591f993 | 34 | //zapocni pretvorbu i ponavljaj broj_pretvorbi puta |
JosipLupinski | 0:2cc3c591f993 | 35 | for( int i= 0; i<broj_pretvorbi; i++) { |
JosipLupinski | 0:2cc3c591f993 | 36 | |
JosipLupinski | 0:2cc3c591f993 | 37 | ADCdata = Ain; //pokreni AD pretvorbu i pohrani uzorkovanu vrijednost napona u varijablu ADCdata |
JosipLupinski | 0:2cc3c591f993 | 38 | |
JosipLupinski | 0:2cc3c591f993 | 39 | } |
JosipLupinski | 0:2cc3c591f993 | 40 | |
JosipLupinski | 0:2cc3c591f993 | 41 | t.stop(); //zaustavi timer |
JosipLupinski | 0:2cc3c591f993 | 42 | led = 0; |
JosipLupinski | 0:2cc3c591f993 | 43 | |
JosipLupinski | 0:2cc3c591f993 | 44 | pc.printf("Vrijeme jedne pretvorbe: %.2f us \n",(float)t.read_us()/broj_pretvorbi); |
JosipLupinski | 0:2cc3c591f993 | 45 | t.reset(); //resetiraj timer na nulu |
JosipLupinski | 0:2cc3c591f993 | 46 | |
JosipLupinski | 0:2cc3c591f993 | 47 | //signalizacijske ledice |
JosipLupinski | 0:2cc3c591f993 | 48 | wait(2); |
JosipLupinski | 0:2cc3c591f993 | 49 | led = 1; |
JosipLupinski | 0:2cc3c591f993 | 50 | wait(0.2); |
JosipLupinski | 0:2cc3c591f993 | 51 | led = 0; |
JosipLupinski | 0:2cc3c591f993 | 52 | wait(0.5); |
JosipLupinski | 0:2cc3c591f993 | 53 | led = 1; |
JosipLupinski | 0:2cc3c591f993 | 54 | wait(0.2); |
JosipLupinski | 0:2cc3c591f993 | 55 | led = 0; |
JosipLupinski | 0:2cc3c591f993 | 56 | wait(2); |
JosipLupinski | 0:2cc3c591f993 | 57 | } |
JosipLupinski | 0:2cc3c591f993 | 58 | } |