Sz_Insper / Mbed 2 deprecated DAC_waveform_V2

Dependencies:   mbed

Committer:
henriquer
Date:
Fri May 29 18:35:12 2020 +0000
Revision:
0:cdadc6b7f2d1
Child:
1:a0a660d54a0b
v3;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
henriquer 0:cdadc6b7f2d1 1 #include "mbed.h"
henriquer 0:cdadc6b7f2d1 2
henriquer 0:cdadc6b7f2d1 3 BusOut Bus(D5,D6,D7);
henriquer 0:cdadc6b7f2d1 4
henriquer 0:cdadc6b7f2d1 5 AnalogIn Ain (A0);
henriquer 0:cdadc6b7f2d1 6
henriquer 0:cdadc6b7f2d1 7 Serial pc (USBTX,USBRX);
henriquer 0:cdadc6b7f2d1 8
henriquer 0:cdadc6b7f2d1 9 InterruptIn button(USER_BUTTON);
henriquer 0:cdadc6b7f2d1 10
henriquer 0:cdadc6b7f2d1 11 #define PI 3.141592f
henriquer 0:cdadc6b7f2d1 12
henriquer 0:cdadc6b7f2d1 13
henriquer 0:cdadc6b7f2d1 14 float valor ;
henriquer 0:cdadc6b7f2d1 15
henriquer 0:cdadc6b7f2d1 16 float sen;
henriquer 0:cdadc6b7f2d1 17
henriquer 0:cdadc6b7f2d1 18 int contador = 0;
henriquer 0:cdadc6b7f2d1 19
henriquer 0:cdadc6b7f2d1 20 int j =0;
henriquer 0:cdadc6b7f2d1 21
henriquer 0:cdadc6b7f2d1 22 void wave(void);
henriquer 0:cdadc6b7f2d1 23
henriquer 0:cdadc6b7f2d1 24
henriquer 0:cdadc6b7f2d1 25 void seno()
henriquer 0:cdadc6b7f2d1 26 {
henriquer 0:cdadc6b7f2d1 27 while(j!=100){
henriquer 0:cdadc6b7f2d1 28 j++;
henriquer 0:cdadc6b7f2d1 29 for (int i=0; i <361; i++) {
henriquer 0:cdadc6b7f2d1 30
henriquer 0:cdadc6b7f2d1 31 valor = 3.3 * Ain.read();
henriquer 0:cdadc6b7f2d1 32
henriquer 0:cdadc6b7f2d1 33 sen = 0.5*sin(i*(PI/180.0))+0.5;
henriquer 0:cdadc6b7f2d1 34
henriquer 0:cdadc6b7f2d1 35 int n = (int) (sen*7);
henriquer 0:cdadc6b7f2d1 36
henriquer 0:cdadc6b7f2d1 37 Bus = n;
henriquer 0:cdadc6b7f2d1 38
henriquer 0:cdadc6b7f2d1 39 // pc.printf("\r\t%1.3f\n",valor);
henriquer 0:cdadc6b7f2d1 40 wait_ms(100);
henriquer 0:cdadc6b7f2d1 41
henriquer 0:cdadc6b7f2d1 42 }
henriquer 0:cdadc6b7f2d1 43
henriquer 0:cdadc6b7f2d1 44 }
henriquer 0:cdadc6b7f2d1 45
henriquer 0:cdadc6b7f2d1 46 }
henriquer 0:cdadc6b7f2d1 47
henriquer 0:cdadc6b7f2d1 48 void serra()
henriquer 0:cdadc6b7f2d1 49 {
henriquer 0:cdadc6b7f2d1 50 for(int i = 0; i<=15; i++) {
henriquer 0:cdadc6b7f2d1 51 Bus = i;
henriquer 0:cdadc6b7f2d1 52 valor = 3.3*Ain.read();
henriquer 0:cdadc6b7f2d1 53 //pc.printf("\r\t%1.3f\n",valor);
henriquer 0:cdadc6b7f2d1 54 wait_ms(100);
henriquer 0:cdadc6b7f2d1 55 }
henriquer 0:cdadc6b7f2d1 56 }
henriquer 0:cdadc6b7f2d1 57
henriquer 0:cdadc6b7f2d1 58 void square()
henriquer 0:cdadc6b7f2d1 59 {
henriquer 0:cdadc6b7f2d1 60 for(int i =0; i <=15; i=i++) {
henriquer 0:cdadc6b7f2d1 61 Bus = (i/10)*15;
henriquer 0:cdadc6b7f2d1 62 wait_ms(100);
henriquer 0:cdadc6b7f2d1 63 valor = 3.3*Ain.read();
henriquer 0:cdadc6b7f2d1 64 // pc.printf("\r\t%1.3f\n",valor);
henriquer 0:cdadc6b7f2d1 65
henriquer 0:cdadc6b7f2d1 66
henriquer 0:cdadc6b7f2d1 67 }
henriquer 0:cdadc6b7f2d1 68 }
henriquer 0:cdadc6b7f2d1 69
henriquer 0:cdadc6b7f2d1 70
henriquer 0:cdadc6b7f2d1 71
henriquer 0:cdadc6b7f2d1 72
henriquer 0:cdadc6b7f2d1 73
henriquer 0:cdadc6b7f2d1 74
henriquer 0:cdadc6b7f2d1 75 void wave()
henriquer 0:cdadc6b7f2d1 76
henriquer 0:cdadc6b7f2d1 77 {
henriquer 0:cdadc6b7f2d1 78
henriquer 0:cdadc6b7f2d1 79 button==!button;
henriquer 0:cdadc6b7f2d1 80 contador = contador++;
henriquer 0:cdadc6b7f2d1 81 pc.printf("Contador: = %d\n\r",contador);
henriquer 0:cdadc6b7f2d1 82 switch(contador) {
henriquer 0:cdadc6b7f2d1 83
henriquer 0:cdadc6b7f2d1 84
henriquer 0:cdadc6b7f2d1 85
henriquer 0:cdadc6b7f2d1 86
henriquer 0:cdadc6b7f2d1 87 case 1:
henriquer 0:cdadc6b7f2d1 88 for (int i=1; i<10; i++) {
henriquer 0:cdadc6b7f2d1 89 seno();
henriquer 0:cdadc6b7f2d1 90 wait_ms(20);
henriquer 0:cdadc6b7f2d1 91 }
henriquer 0:cdadc6b7f2d1 92 break;
henriquer 0:cdadc6b7f2d1 93
henriquer 0:cdadc6b7f2d1 94 case 2:
henriquer 0:cdadc6b7f2d1 95 for (int i=10; i<20; i++) {
henriquer 0:cdadc6b7f2d1 96 serra();
henriquer 0:cdadc6b7f2d1 97 wait_ms(20);
henriquer 0:cdadc6b7f2d1 98
henriquer 0:cdadc6b7f2d1 99 }
henriquer 0:cdadc6b7f2d1 100 break;
henriquer 0:cdadc6b7f2d1 101
henriquer 0:cdadc6b7f2d1 102 case 3:
henriquer 0:cdadc6b7f2d1 103 for (int i=20; i<30; i++) {
henriquer 0:cdadc6b7f2d1 104 square();
henriquer 0:cdadc6b7f2d1 105 wait_ms(20);
henriquer 0:cdadc6b7f2d1 106 }
henriquer 0:cdadc6b7f2d1 107
henriquer 0:cdadc6b7f2d1 108 break;
henriquer 0:cdadc6b7f2d1 109
henriquer 0:cdadc6b7f2d1 110
henriquer 0:cdadc6b7f2d1 111
henriquer 0:cdadc6b7f2d1 112 case 4:
henriquer 0:cdadc6b7f2d1 113 for (int i=30; i<40; i++) {
henriquer 0:cdadc6b7f2d1 114 contador = 0;
henriquer 0:cdadc6b7f2d1 115 }
henriquer 0:cdadc6b7f2d1 116 break;
henriquer 0:cdadc6b7f2d1 117
henriquer 0:cdadc6b7f2d1 118 }
henriquer 0:cdadc6b7f2d1 119 }
henriquer 0:cdadc6b7f2d1 120
henriquer 0:cdadc6b7f2d1 121 int main()
henriquer 0:cdadc6b7f2d1 122 {
henriquer 0:cdadc6b7f2d1 123
henriquer 0:cdadc6b7f2d1 124 button.fall(&wave);
henriquer 0:cdadc6b7f2d1 125
henriquer 0:cdadc6b7f2d1 126
henriquer 0:cdadc6b7f2d1 127 }