ECG Study Group / Mbed 2 deprecated Programacao_marco

Dependencies:   mbed

Committer:
Jamess
Date:
Thu Apr 23 19:21:58 2015 +0000
Revision:
2:769c937f9228
Parent:
1:94681b7c2565
Child:
3:7d014ee1c543
Algumas coisas q devem ser mudadas foram comentadas no c?digo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jamess 0:d3db149c4040 1 // Goal: Program that receives and send 4 channels of data.
Jamess 0:d3db149c4040 2 // Receives: 1kHz
Jamess 0:d3db149c4040 3 // Sends: 70kbits/s
Jamess 0:d3db149c4040 4 // Ver qual o melhor modo de blueth (i2C,SPI,UART);
Jamess 0:d3db149c4040 5 /* DONE:
Jamess 0:d3db149c4040 6 Receber sinais Analógicos
Jamess 0:d3db149c4040 7 */
Jamess 0:d3db149c4040 8 /* TO DO:
Jamess 0:d3db149c4040 9 Juntar ao módulo Bluetooth
Jamess 0:d3db149c4040 10 */
Jamess 0:d3db149c4040 11
Jamess 0:d3db149c4040 12 #include "mbed.h"
Jamess 0:d3db149c4040 13
Jamess 0:d3db149c4040 14 /*------------Definição de Sinais--------------*/
Jamess 0:d3db149c4040 15
Jamess 0:d3db149c4040 16 #define ECG1 0
Jamess 0:d3db149c4040 17 #define ECG2 1
Jamess 0:d3db149c4040 18 #define RESP 2
Jamess 0:d3db149c4040 19 #define PPG 3
Jamess 0:d3db149c4040 20
Jamess 0:d3db149c4040 21 /*-----READS THE ANALOG SIGNAL FROM THE SENSORS-----*/
Jamess 0:d3db149c4040 22
Jamess 0:d3db149c4040 23 AnalogIn Ecg1(A0);
Jamess 0:d3db149c4040 24 AnalogIn Ecg2(A1);
Jamess 0:d3db149c4040 25 AnalogIn Resp(A3);
Jamess 0:d3db149c4040 26 AnalogIn Ppg(A4);
Jamess 0:d3db149c4040 27
Jamess 2:769c937f9228 28
Jamess 0:d3db149c4040 29 /*------CONTROLS THE DATA RATE OF THE READING------*/
Jamess 0:d3db149c4040 30 Ticker t0;
Jamess 0:d3db149c4040 31 Serial pc(USBTX,USBRX);
Jamess 0:d3db149c4040 32
Jamess 1:94681b7c2565 33
Jamess 0:d3db149c4040 34 /*------HANDLES THE TIMER INTERRUPTIONS------------*/
Jamess 0:d3db149c4040 35
Jamess 0:d3db149c4040 36 void t0_handler(void);
Jamess 0:d3db149c4040 37 void rx_Handler(void);
Jamess 1:94681b7c2565 38 char test = 0; // Tests the data received from the computer in order to start the reading
Jamess 1:94681b7c2565 39 bool Valor=0;
Jamess 0:d3db149c4040 40
Jamess 0:d3db149c4040 41 /*------------BUFFER TO STORE DATA------------------*/
Jamess 0:d3db149c4040 42
Jamess 1:94681b7c2565 43 int buffer[4] = {0,0,0,0};
Jamess 0:d3db149c4040 44
Jamess 0:d3db149c4040 45
Jamess 0:d3db149c4040 46
Jamess 0:d3db149c4040 47 int main() {
Jamess 0:d3db149c4040 48 pc.attach(&rx_Handler, pc.RxIrq);
Jamess 2:769c937f9228 49 t0.attach(&t0_handler,0.001); //deletar depois de implementar rxhandler baixar programa!!!!!
Jamess 1:94681b7c2565 50
Jamess 1:94681b7c2565 51
Jamess 0:d3db149c4040 52 }
Jamess 0:d3db149c4040 53
Jamess 0:d3db149c4040 54 /*----------------------FUNCTIONS-----------------------*/
Jamess 0:d3db149c4040 55
Jamess 0:d3db149c4040 56 //Reads and send data to the computer
Jamess 0:d3db149c4040 57
Jamess 0:d3db149c4040 58 void t0_handler(void){
Jamess 1:94681b7c2565 59 buffer[ECG1] = Ecg1.read_u16();
Jamess 1:94681b7c2565 60 buffer[ECG2] = Ecg2.read_u16();
Jamess 1:94681b7c2565 61 buffer[RESP] = Resp.read_u16();
Jamess 2:769c937f9228 62 buffer[PPG] = Ppg.read_u16();
Jamess 2:769c937f9228 63 //Esses dados devem ser movidos e mandados o LSB e O MSB um de cada vez, o computador use estes dois dados;
Jamess 2:769c937f9228 64
Jamess 2:769c937f9228 65 //Não usar printf!!!
Jamess 2:769c937f9228 66 //Use putc instead!
Jamess 2:769c937f9228 67
Jamess 1:94681b7c2565 68 pc.printf("%i,%i,%i,%i\n",buffer[ECG1],buffer[ECG2],buffer[RESP],buffer[PPG]);
Jamess 0:d3db149c4040 69 }
Jamess 0:d3db149c4040 70
Jamess 0:d3db149c4040 71 //This function must
Jamess 0:d3db149c4040 72
Jamess 0:d3db149c4040 73 void rx_Handler(void){
Jamess 2:769c937f9228 74 //Por enquanto estou sem programa que manda dados... ACHAR NOME PC DE CASA!!!
Jamess 2:769c937f9228 75 /* // test = pc.getc(); // it gets the received character
Jamess 2:769c937f9228 76 // if (test=='s'|| test == 'S')
Jamess 1:94681b7c2565 77 { // wake up routine
Jamess 2:769c937f9228 78 // t0.attach(&t0_handler,0.001); //start counting ----Data read in a 1kHz freq. (1mS)
Jamess 1:94681b7c2565 79 return;
Jamess 1:94681b7c2565 80 }else if (test=='e'|| test == 'E')
Jamess 1:94681b7c2565 81 {
Jamess 1:94681b7c2565 82 t0.detach();
Jamess 2:769c937f9228 83 }*/
Jamess 1:94681b7c2565 84
Jamess 1:94681b7c2565 85 }