Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@0:57a88d862c8b, 2014-05-23 (annotated)
- Committer:
- Mbize
- Date:
- Fri May 23 11:51:39 2014 +0000
- Revision:
- 0:57a88d862c8b
fff
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Mbize | 0:57a88d862c8b | 1 | #include "mbed.h" |
| Mbize | 0:57a88d862c8b | 2 | #define buffsize 1500 |
| Mbize | 0:57a88d862c8b | 3 | Serial pc(USBTX, USBRX); // tx, rx |
| Mbize | 0:57a88d862c8b | 4 | |
| Mbize | 0:57a88d862c8b | 5 | InterruptIn event(p16); |
| Mbize | 0:57a88d862c8b | 6 | AnalogOut speed(p18); |
| Mbize | 0:57a88d862c8b | 7 | Timer timer; |
| Mbize | 0:57a88d862c8b | 8 | PwmOut pwm1(p23); |
| Mbize | 0:57a88d862c8b | 9 | |
| Mbize | 0:57a88d862c8b | 10 | int start=0; |
| Mbize | 0:57a88d862c8b | 11 | int stop=0; |
| Mbize | 0:57a88d862c8b | 12 | int tim=0; |
| Mbize | 0:57a88d862c8b | 13 | int i=0; |
| Mbize | 0:57a88d862c8b | 14 | int s=0; |
| Mbize | 0:57a88d862c8b | 15 | int send=0; |
| Mbize | 0:57a88d862c8b | 16 | |
| Mbize | 0:57a88d862c8b | 17 | /* |
| Mbize | 0:57a88d862c8b | 18 | int bufferstart[buffsize]; |
| Mbize | 0:57a88d862c8b | 19 | int bufferstop[buffsize]; |
| Mbize | 0:57a88d862c8b | 20 | */ |
| Mbize | 0:57a88d862c8b | 21 | |
| Mbize | 0:57a88d862c8b | 22 | void trigger1(void) |
| Mbize | 0:57a88d862c8b | 23 | { |
| Mbize | 0:57a88d862c8b | 24 | if (s==0) |
| Mbize | 0:57a88d862c8b | 25 | { |
| Mbize | 0:57a88d862c8b | 26 | timer.reset(); |
| Mbize | 0:57a88d862c8b | 27 | s=1; |
| Mbize | 0:57a88d862c8b | 28 | } |
| Mbize | 0:57a88d862c8b | 29 | if (send==0) |
| Mbize | 0:57a88d862c8b | 30 | { |
| Mbize | 0:57a88d862c8b | 31 | start=timer.read_us(); |
| Mbize | 0:57a88d862c8b | 32 | send=1; |
| Mbize | 0:57a88d862c8b | 33 | } |
| Mbize | 0:57a88d862c8b | 34 | } |
| Mbize | 0:57a88d862c8b | 35 | |
| Mbize | 0:57a88d862c8b | 36 | void trigger2(void) |
| Mbize | 0:57a88d862c8b | 37 | { |
| Mbize | 0:57a88d862c8b | 38 | if (send==1) |
| Mbize | 0:57a88d862c8b | 39 | { |
| Mbize | 0:57a88d862c8b | 40 | stop=timer.read_us(); |
| Mbize | 0:57a88d862c8b | 41 | pc.printf("%i %i ", start, stop); |
| Mbize | 0:57a88d862c8b | 42 | send=0; |
| Mbize | 0:57a88d862c8b | 43 | } |
| Mbize | 0:57a88d862c8b | 44 | } |
| Mbize | 0:57a88d862c8b | 45 | |
| Mbize | 0:57a88d862c8b | 46 | int main() |
| Mbize | 0:57a88d862c8b | 47 | { |
| Mbize | 0:57a88d862c8b | 48 | pc.baud(921600); |
| Mbize | 0:57a88d862c8b | 49 | pwm1.period_us(20); //p=1/f |
| Mbize | 0:57a88d862c8b | 50 | pwm1.pulsewidth_us(10); // |
| Mbize | 0:57a88d862c8b | 51 | event.rise(&trigger1); |
| Mbize | 0:57a88d862c8b | 52 | event.fall(&trigger2); |
| Mbize | 0:57a88d862c8b | 53 | timer.start(); |
| Mbize | 0:57a88d862c8b | 54 | |
| Mbize | 0:57a88d862c8b | 55 | //pc.printf("Init_time %i\n", init_t); |
| Mbize | 0:57a88d862c8b | 56 | |
| Mbize | 0:57a88d862c8b | 57 | while(1) |
| Mbize | 0:57a88d862c8b | 58 | { |
| Mbize | 0:57a88d862c8b | 59 | /* if (i>=(2*buffsize-2)) |
| Mbize | 0:57a88d862c8b | 60 | { |
| Mbize | 0:57a88d862c8b | 61 | __disable_irq(); |
| Mbize | 0:57a88d862c8b | 62 | int k=0; |
| Mbize | 0:57a88d862c8b | 63 | while (k<buffsize-1) |
| Mbize | 0:57a88d862c8b | 64 | { |
| Mbize | 0:57a88d862c8b | 65 | pc.printf("%i %i ", bufferstart[k], bufferstop[k]); |
| Mbize | 0:57a88d862c8b | 66 | k++; |
| Mbize | 0:57a88d862c8b | 67 | } |
| Mbize | 0:57a88d862c8b | 68 | while(k<=(2*buffsize)-2) |
| Mbize | 0:57a88d862c8b | 69 | { |
| Mbize | 0:57a88d862c8b | 70 | pc.printf("%i %i ", bufferstart2[k-buffsize-1], bufferstop2[k-buffsize-1]); |
| Mbize | 0:57a88d862c8b | 71 | k++; |
| Mbize | 0:57a88d862c8b | 72 | } |
| Mbize | 0:57a88d862c8b | 73 | while (k>=(2*buffsize)-2) |
| Mbize | 0:57a88d862c8b | 74 | { |
| Mbize | 0:57a88d862c8b | 75 | |
| Mbize | 0:57a88d862c8b | 76 | } |
| Mbize | 0:57a88d862c8b | 77 | |
| Mbize | 0:57a88d862c8b | 78 | } |
| Mbize | 0:57a88d862c8b | 79 | */ |
| Mbize | 0:57a88d862c8b | 80 | } |
| Mbize | 0:57a88d862c8b | 81 | } |
| Mbize | 0:57a88d862c8b | 82 | |
| Mbize | 0:57a88d862c8b | 83 | /* |
| Mbize | 0:57a88d862c8b | 84 | void trigger1(void) |
| Mbize | 0:57a88d862c8b | 85 | { |
| Mbize | 0:57a88d862c8b | 86 | if (s==0) |
| Mbize | 0:57a88d862c8b | 87 | { |
| Mbize | 0:57a88d862c8b | 88 | timer.reset(); |
| Mbize | 0:57a88d862c8b | 89 | s=1; |
| Mbize | 0:57a88d862c8b | 90 | } |
| Mbize | 0:57a88d862c8b | 91 | if (i<buffsize-1) |
| Mbize | 0:57a88d862c8b | 92 | { |
| Mbize | 0:57a88d862c8b | 93 | bufferstart[i] = timer.read_us(); |
| Mbize | 0:57a88d862c8b | 94 | } |
| Mbize | 0:57a88d862c8b | 95 | if (i>=buffsize-1) |
| Mbize | 0:57a88d862c8b | 96 | { |
| Mbize | 0:57a88d862c8b | 97 | bufferstart2[i-buffsize-1] = timer.read_us(); |
| Mbize | 0:57a88d862c8b | 98 | } |
| Mbize | 0:57a88d862c8b | 99 | } |
| Mbize | 0:57a88d862c8b | 100 | |
| Mbize | 0:57a88d862c8b | 101 | void trigger2(void) |
| Mbize | 0:57a88d862c8b | 102 | { |
| Mbize | 0:57a88d862c8b | 103 | if (i<buffsize-1) |
| Mbize | 0:57a88d862c8b | 104 | { |
| Mbize | 0:57a88d862c8b | 105 | bufferstop[i] = timer.read_us(); |
| Mbize | 0:57a88d862c8b | 106 | } |
| Mbize | 0:57a88d862c8b | 107 | if (i>=buffsize-1) |
| Mbize | 0:57a88d862c8b | 108 | { |
| Mbize | 0:57a88d862c8b | 109 | bufferstop2[i-buffsize-1] = timer.read_us(); |
| Mbize | 0:57a88d862c8b | 110 | } |
| Mbize | 0:57a88d862c8b | 111 | i++; |
| Mbize | 0:57a88d862c8b | 112 | } |
| Mbize | 0:57a88d862c8b | 113 | */ |
| Mbize | 0:57a88d862c8b | 114 |