Vjezba 2 sa komentarima bez 4. zadatka

Dependencies:   mbed

Fork of KTM_vjezba2 by Emma Watson

Committer:
JosipLupinski
Date:
Sat Nov 05 19:40:36 2016 +0000
Revision:
1:af669fa89346
Parent:
0:2cc3c591f993
KTM vjezba 2 sa komentarima bez 4. i dodatnih zadataka. WIP

Who changed what in which revision?

UserRevisionLine numberNew 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 1:af669fa89346 21
JosipLupinski 0:2cc3c591f993 22 led = 1;
JosipLupinski 0:2cc3c591f993 23 wait(0.2);
JosipLupinski 0:2cc3c591f993 24 led = 0;
JosipLupinski 0:2cc3c591f993 25 wait(0.5);
JosipLupinski 0:2cc3c591f993 26 led = 1;
JosipLupinski 0:2cc3c591f993 27 wait(0.2);
JosipLupinski 0:2cc3c591f993 28 led = 0;
JosipLupinski 0:2cc3c591f993 29 wait(2);
JosipLupinski 0:2cc3c591f993 30
JosipLupinski 0:2cc3c591f993 31 while(true) {
JosipLupinski 1:af669fa89346 32
JosipLupinski 0:2cc3c591f993 33 led = 1;
JosipLupinski 0:2cc3c591f993 34 t.start(); //pokreni timer
JosipLupinski 0:2cc3c591f993 35
JosipLupinski 0:2cc3c591f993 36 //zapocni pretvorbu i ponavljaj broj_pretvorbi puta
JosipLupinski 0:2cc3c591f993 37 for( int i= 0; i<broj_pretvorbi; i++) {
JosipLupinski 0:2cc3c591f993 38
JosipLupinski 0:2cc3c591f993 39 ADCdata = Ain; //pokreni AD pretvorbu i pohrani uzorkovanu vrijednost napona u varijablu ADCdata
JosipLupinski 0:2cc3c591f993 40
JosipLupinski 0:2cc3c591f993 41 }
JosipLupinski 0:2cc3c591f993 42
JosipLupinski 0:2cc3c591f993 43 t.stop(); //zaustavi timer
JosipLupinski 0:2cc3c591f993 44 led = 0;
JosipLupinski 0:2cc3c591f993 45
JosipLupinski 0:2cc3c591f993 46 pc.printf("Vrijeme jedne pretvorbe: %.2f us \n",(float)t.read_us()/broj_pretvorbi);
JosipLupinski 0:2cc3c591f993 47 t.reset(); //resetiraj timer na nulu
JosipLupinski 0:2cc3c591f993 48
JosipLupinski 0:2cc3c591f993 49 //signalizacijske ledice
JosipLupinski 0:2cc3c591f993 50 wait(2);
JosipLupinski 0:2cc3c591f993 51 led = 1;
JosipLupinski 0:2cc3c591f993 52 wait(0.2);
JosipLupinski 0:2cc3c591f993 53 led = 0;
JosipLupinski 0:2cc3c591f993 54 wait(0.5);
JosipLupinski 0:2cc3c591f993 55 led = 1;
JosipLupinski 0:2cc3c591f993 56 wait(0.2);
JosipLupinski 0:2cc3c591f993 57 led = 0;
JosipLupinski 0:2cc3c591f993 58 wait(2);
JosipLupinski 0:2cc3c591f993 59 }
JosipLupinski 0:2cc3c591f993 60 }