Alexandre Proulx
/
S5_info_APP1_Examen
Examen pratique info S5
main.cpp@0:23d910ab014b, 2013-01-18 (annotated)
- Committer:
- Alegrowin
- Date:
- Fri Jan 18 19:31:27 2013 +0000
- Revision:
- 0:23d910ab014b
Functionnel V1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Alegrowin | 0:23d910ab014b | 1 | #include "mbed.h" |
Alegrowin | 0:23d910ab014b | 2 | |
Alegrowin | 0:23d910ab014b | 3 | AnalogOut an_Out(p18); |
Alegrowin | 0:23d910ab014b | 4 | Ticker timer; |
Alegrowin | 0:23d910ab014b | 5 | |
Alegrowin | 0:23d910ab014b | 6 | void Sinus(void); |
Alegrowin | 0:23d910ab014b | 7 | void calculateSinus(); |
Alegrowin | 0:23d910ab014b | 8 | |
Alegrowin | 0:23d910ab014b | 9 | int temp = 2500; |
Alegrowin | 0:23d910ab014b | 10 | float sins[5000]; |
Alegrowin | 0:23d910ab014b | 11 | |
Alegrowin | 0:23d910ab014b | 12 | int main() |
Alegrowin | 0:23d910ab014b | 13 | { |
Alegrowin | 0:23d910ab014b | 14 | calculateSinus(); |
Alegrowin | 0:23d910ab014b | 15 | |
Alegrowin | 0:23d910ab014b | 16 | timer.attach(&Sinus, 0.000002); |
Alegrowin | 0:23d910ab014b | 17 | |
Alegrowin | 0:23d910ab014b | 18 | while(1) { |
Alegrowin | 0:23d910ab014b | 19 | wait(1); |
Alegrowin | 0:23d910ab014b | 20 | } |
Alegrowin | 0:23d910ab014b | 21 | |
Alegrowin | 0:23d910ab014b | 22 | } |
Alegrowin | 0:23d910ab014b | 23 | |
Alegrowin | 0:23d910ab014b | 24 | void calculateSinus() |
Alegrowin | 0:23d910ab014b | 25 | { |
Alegrowin | 0:23d910ab014b | 26 | int a; |
Alegrowin | 0:23d910ab014b | 27 | for(a = 0;a<5000;a++) |
Alegrowin | 0:23d910ab014b | 28 | { |
Alegrowin | 0:23d910ab014b | 29 | sins[a] = cos(a/5000.0*2.0*3.1416)/2+.5; |
Alegrowin | 0:23d910ab014b | 30 | } |
Alegrowin | 0:23d910ab014b | 31 | } |
Alegrowin | 0:23d910ab014b | 32 | |
Alegrowin | 0:23d910ab014b | 33 | |
Alegrowin | 0:23d910ab014b | 34 | void Sinus (void) |
Alegrowin | 0:23d910ab014b | 35 | { |
Alegrowin | 0:23d910ab014b | 36 | an_Out.write(sins[temp++]); |
Alegrowin | 0:23d910ab014b | 37 | |
Alegrowin | 0:23d910ab014b | 38 | if(temp == 5000) |
Alegrowin | 0:23d910ab014b | 39 | temp =0; |
Alegrowin | 0:23d910ab014b | 40 | } |