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.
Fork of AnalogIn_HelloWorld_WIZwiki-W7500 by
main.cpp@9:21193ec77fbf, 2018-10-23 (annotated)
- Committer:
- jaynjei
- Date:
- Tue Oct 23 08:39:16 2018 +0000
- Revision:
- 9:21193ec77fbf
- Parent:
- 8:bc6291805741
For test
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| joon874 | 3:abab0082e271 | 1 | /* Analog Input Example Program */ |
| jaynjei | 9:21193ec77fbf | 2 | |
| sam_grove | 0:101a12a915c6 | 3 | #include "mbed.h" |
| sam_grove | 0:101a12a915c6 | 4 | |
| jaynjei | 9:21193ec77fbf | 5 | AnalogIn mic(A0); |
| jaynjei | 9:21193ec77fbf | 6 | PwmOut aout(D3); |
| jaynjei | 9:21193ec77fbf | 7 | InterruptIn trigger_i(D15); |
| jaynjei | 9:21193ec77fbf | 8 | PwmOut trigger_o(D14); |
| jaynjei | 9:21193ec77fbf | 9 | //PwmOut test(D5); |
| jaynjei | 9:21193ec77fbf | 10 | DigitalOut toggle1 (D0); |
| jaynjei | 9:21193ec77fbf | 11 | DigitalOut toggle2 (D1); |
| jaynjei | 9:21193ec77fbf | 12 | |
| jaynjei | 9:21193ec77fbf | 13 | #define MAX_BUF_SIZE 128 |
| jaynjei | 9:21193ec77fbf | 14 | //char buf0[MAX_BUF_SIZE]; |
| jaynjei | 9:21193ec77fbf | 15 | char buf1[MAX_BUF_SIZE]; |
| jaynjei | 9:21193ec77fbf | 16 | char buf0[MAX_BUF_SIZE]; |
| jaynjei | 9:21193ec77fbf | 17 | int i = 0; |
| jaynjei | 9:21193ec77fbf | 18 | char buf_sel = 1; |
| jaynjei | 9:21193ec77fbf | 19 | int n; |
| jaynjei | 9:21193ec77fbf | 20 | float out; |
| jaynjei | 9:21193ec77fbf | 21 | |
| jaynjei | 9:21193ec77fbf | 22 | void adcTickfunc() |
| jaynjei | 9:21193ec77fbf | 23 | { |
| jaynjei | 9:21193ec77fbf | 24 | if(buf_sel==1){ |
| jaynjei | 9:21193ec77fbf | 25 | for(i=0;i<128;i++){ |
| jaynjei | 9:21193ec77fbf | 26 | buf0[i] = mic.read_u16() >> 4; |
| jaynjei | 9:21193ec77fbf | 27 | i++; |
| jaynjei | 9:21193ec77fbf | 28 | toggle1 = !toggle1; |
| jaynjei | 9:21193ec77fbf | 29 | printf("input progress... \n\r"); |
| IOP | 8:bc6291805741 | 30 | |
| jaynjei | 9:21193ec77fbf | 31 | if (i==MAX_BUF_SIZE){ |
| jaynjei | 9:21193ec77fbf | 32 | buf_sel = 0; |
| jaynjei | 9:21193ec77fbf | 33 | i=0; |
| jaynjei | 9:21193ec77fbf | 34 | printf("end \n\r"); |
| jaynjei | 9:21193ec77fbf | 35 | toggle1 = 0; |
| jaynjei | 9:21193ec77fbf | 36 | } |
| jaynjei | 9:21193ec77fbf | 37 | } |
| jaynjei | 9:21193ec77fbf | 38 | } |
| jaynjei | 9:21193ec77fbf | 39 | |
| jaynjei | 9:21193ec77fbf | 40 | else if(buf_sel==0){ |
| jaynjei | 9:21193ec77fbf | 41 | for(i=0;i<128;i++){ |
| jaynjei | 9:21193ec77fbf | 42 | aout.write((float)buf0[i]/256*1.32); |
| jaynjei | 9:21193ec77fbf | 43 | i++; |
| jaynjei | 9:21193ec77fbf | 44 | printf("output progress... \n\r"); |
| jaynjei | 9:21193ec77fbf | 45 | if (i==MAX_BUF_SIZE){ |
| jaynjei | 9:21193ec77fbf | 46 | buf_sel = 1; |
| jaynjei | 9:21193ec77fbf | 47 | i=0; |
| jaynjei | 9:21193ec77fbf | 48 | printf("end \n\r"); |
| jaynjei | 9:21193ec77fbf | 49 | toggle2 = !toggle2; |
| jaynjei | 9:21193ec77fbf | 50 | } |
| jaynjei | 9:21193ec77fbf | 51 | } |
| jaynjei | 9:21193ec77fbf | 52 | } |
| jaynjei | 9:21193ec77fbf | 53 | } |
| jaynjei | 9:21193ec77fbf | 54 | /* |
| jaynjei | 9:21193ec77fbf | 55 | if (buf_sel) aout.write((float)buf1[i]/256); |
| jaynjei | 9:21193ec77fbf | 56 | else aout.write((float)buf0[i]/256); |
| jaynjei | 9:21193ec77fbf | 57 | i++; |
| jaynjei | 9:21193ec77fbf | 58 | |
| jaynjei | 9:21193ec77fbf | 59 | //if (i == MAX_BUF_SIZE) i = MAX_BUF_SIZE - 1; |
| jaynjei | 9:21193ec77fbf | 60 | |
| jaynjei | 9:21193ec77fbf | 61 | if (buf_sel == 0) buf0[i] = mic.read_u16() >> 4; |
| jaynjei | 9:21193ec77fbf | 62 | else buf1[i] = mic.read_u16() >> 4; |
| jaynjei | 9:21193ec77fbf | 63 | i++; |
| jaynjei | 9:21193ec77fbf | 64 | |
| jaynjei | 9:21193ec77fbf | 65 | if (i == MAX_BUF_SIZE) { |
| jaynjei | 9:21193ec77fbf | 66 | i = 0; |
| jaynjei | 9:21193ec77fbf | 67 | //toggle = !toggle; |
| jaynjei | 9:21193ec77fbf | 68 | if (buf_sel) buf_sel = 0; else buf_sel = 1; |
| jaynjei | 9:21193ec77fbf | 69 | }*/ |
| IOP | 8:bc6291805741 | 70 | |
| sam_grove | 0:101a12a915c6 | 71 | |
| jaynjei | 9:21193ec77fbf | 72 | int main() |
| jaynjei | 9:21193ec77fbf | 73 | { |
| jaynjei | 9:21193ec77fbf | 74 | printf("Hello!\n\r"); |
| jaynjei | 9:21193ec77fbf | 75 | printf("Start the communication \n\r"); |
| jaynjei | 9:21193ec77fbf | 76 | trigger_i.rise(&adcTickfunc); |
| jaynjei | 9:21193ec77fbf | 77 | |
| IOP | 7:6b50af097b44 | 78 | while (1) { |
| jaynjei | 9:21193ec77fbf | 79 | trigger_o.period_us(100); |
| jaynjei | 9:21193ec77fbf | 80 | trigger_o.write(0.5); |
| jaynjei | 9:21193ec77fbf | 81 | //aout.period_us(50); |
| jaynjei | 9:21193ec77fbf | 82 | //test.period(10); |
| jaynjei | 9:21193ec77fbf | 83 | //test.write(50); |
| IOP | 8:bc6291805741 | 84 | } |
| sam_grove | 0:101a12a915c6 | 85 | } |
