un triangle sympathique
Dependencies: mbed
main.cpp@0:ab28bf24e6e2, 2017-01-06 (annotated)
- Committer:
- GabGabyz
- Date:
- Fri Jan 06 08:20:24 2017 +0000
- Revision:
- 0:ab28bf24e6e2
Un triangle
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
GabGabyz | 0:ab28bf24e6e2 | 1 | |
GabGabyz | 0:ab28bf24e6e2 | 2 | #include "mbed.h" |
GabGabyz | 0:ab28bf24e6e2 | 3 | |
GabGabyz | 0:ab28bf24e6e2 | 4 | AnalogOut my_output(PA_4); |
GabGabyz | 0:ab28bf24e6e2 | 5 | |
GabGabyz | 0:ab28bf24e6e2 | 6 | #define PI (3.141592653589793238462) |
GabGabyz | 0:ab28bf24e6e2 | 7 | #define AMPLITUDE (1.0) // x * 3.3V |
GabGabyz | 0:ab28bf24e6e2 | 8 | #define PHASE (PI * 1) // 2*pi is one period |
GabGabyz | 0:ab28bf24e6e2 | 9 | #define RANGE (0x7FFF) |
GabGabyz | 0:ab28bf24e6e2 | 10 | #define OFFSET (0x7FFF) |
GabGabyz | 0:ab28bf24e6e2 | 11 | |
GabGabyz | 0:ab28bf24e6e2 | 12 | // Configuration for sinewave output |
GabGabyz | 0:ab28bf24e6e2 | 13 | #define BUFFER_SIZE (360) |
GabGabyz | 0:ab28bf24e6e2 | 14 | //uint16_t buffer[BUFFER_SIZE]; |
GabGabyz | 0:ab28bf24e6e2 | 15 | |
GabGabyz | 0:ab28bf24e6e2 | 16 | int i; |
GabGabyz | 0:ab28bf24e6e2 | 17 | /* |
GabGabyz | 0:ab28bf24e6e2 | 18 | int main() { |
GabGabyz | 0:ab28bf24e6e2 | 19 | while(1) { |
GabGabyz | 0:ab28bf24e6e2 | 20 | // triangle output |
GabGabyz | 0:ab28bf24e6e2 | 21 | for (i = 0; i < 1000; i++) { |
GabGabyz | 0:ab28bf24e6e2 | 22 | i=0*i; |
GabGabyz | 0:ab28bf24e6e2 | 23 | my_output.write_u16(i); |
GabGabyz | 0:ab28bf24e6e2 | 24 | wait_us(100); |
GabGabyz | 0:ab28bf24e6e2 | 25 | i=2*i; |
GabGabyz | 0:ab28bf24e6e2 | 26 | my_output.write_u16(2*i); |
GabGabyz | 0:ab28bf24e6e2 | 27 | wait_us(100); |
GabGabyz | 0:ab28bf24e6e2 | 28 | }*/ |
GabGabyz | 0:ab28bf24e6e2 | 29 | |
GabGabyz | 0:ab28bf24e6e2 | 30 | /* |
GabGabyz | 0:ab28bf24e6e2 | 31 | for (i = 65535; i>0; i--) { |
GabGabyz | 0:ab28bf24e6e2 | 32 | my_output.write_u16(i); |
GabGabyz | 0:ab28bf24e6e2 | 33 | //wait_us(10); |
GabGabyz | 0:ab28bf24e6e2 | 34 | }*/ |
GabGabyz | 0:ab28bf24e6e2 | 35 | |
GabGabyz | 0:ab28bf24e6e2 | 36 | |
GabGabyz | 0:ab28bf24e6e2 | 37 | |
GabGabyz | 0:ab28bf24e6e2 | 38 | int main() { |
GabGabyz | 0:ab28bf24e6e2 | 39 | while(1) { |
GabGabyz | 0:ab28bf24e6e2 | 40 | // triangle output |
GabGabyz | 0:ab28bf24e6e2 | 41 | for (i = 0; i < 65536; i++) { |
GabGabyz | 0:ab28bf24e6e2 | 42 | my_output.write_u16(i); |
GabGabyz | 0:ab28bf24e6e2 | 43 | // wait_us(10); |
GabGabyz | 0:ab28bf24e6e2 | 44 | } |
GabGabyz | 0:ab28bf24e6e2 | 45 | |
GabGabyz | 0:ab28bf24e6e2 | 46 | for (i = 65535; i>0; i--) { |
GabGabyz | 0:ab28bf24e6e2 | 47 | my_output.write_u16(i); |
GabGabyz | 0:ab28bf24e6e2 | 48 | //wait_us(10); |
GabGabyz | 0:ab28bf24e6e2 | 49 | } |
GabGabyz | 0:ab28bf24e6e2 | 50 | } |
GabGabyz | 0:ab28bf24e6e2 | 51 | } |
GabGabyz | 0:ab28bf24e6e2 | 52 | |
GabGabyz | 0:ab28bf24e6e2 | 53 | |
GabGabyz | 0:ab28bf24e6e2 | 54 | |
GabGabyz | 0:ab28bf24e6e2 | 55 | |
GabGabyz | 0:ab28bf24e6e2 | 56 | |
GabGabyz | 0:ab28bf24e6e2 | 57 | /* |
GabGabyz | 0:ab28bf24e6e2 | 58 | //void calculate_sinewave(void); |
GabGabyz | 0:ab28bf24e6e2 | 59 | int main() { |
GabGabyz | 0:ab28bf24e6e2 | 60 | printf("Sinewave example\n"); |
GabGabyz | 0:ab28bf24e6e2 | 61 | calculate_sinewave(); |
GabGabyz | 0:ab28bf24e6e2 | 62 | while(1) { |
GabGabyz | 0:ab28bf24e6e2 | 63 | // sinewave output |
GabGabyz | 0:ab28bf24e6e2 | 64 | for (int i = 0; i < BUFFER_SIZE; i++) { |
GabGabyz | 0:ab28bf24e6e2 | 65 | my_output.write_u16(buffer[i]); |
GabGabyz | 0:ab28bf24e6e2 | 66 | wait_us(10); |
GabGabyz | 0:ab28bf24e6e2 | 67 | } |
GabGabyz | 0:ab28bf24e6e2 | 68 | } |
GabGabyz | 0:ab28bf24e6e2 | 69 | } |
GabGabyz | 0:ab28bf24e6e2 | 70 | |
GabGabyz | 0:ab28bf24e6e2 | 71 | // Create the sinewave buffer |
GabGabyz | 0:ab28bf24e6e2 | 72 | void calculate_sinewave(void){ |
GabGabyz | 0:ab28bf24e6e2 | 73 | for (int i = 0; i < BUFFER_SIZE; i++) { |
GabGabyz | 0:ab28bf24e6e2 | 74 | double rads = (PI * i)/180.0; // Convert degree in radian |
GabGabyz | 0:ab28bf24e6e2 | 75 | buffer[i] = (uint16_t)(AMPLITUDE * (RANGE * (cos(rads + PHASE))) + OFFSET); |
GabGabyz | 0:ab28bf24e6e2 | 76 | } |
GabGabyz | 0:ab28bf24e6e2 | 77 | } |
GabGabyz | 0:ab28bf24e6e2 | 78 | */ |