team app1
/
HelloWorld
test
Fork of HelloWorld by
main.cpp@28:f56de0b0764e, 2017-09-08 (annotated)
- Committer:
- kkalsi
- Date:
- Fri Sep 08 05:50:44 2017 +0000
- Revision:
- 28:f56de0b0764e
- Parent:
- 27:0f602aca65f1
- Child:
- 29:3acc071af432
last version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vincentlabbe | 25:16a041dd21db | 1 | /**** Vincent Labbé - labv2507 *****/ |
vincentlabbe | 25:16a041dd21db | 2 | /**** Karan Kalsi - *****/ |
kkalsi | 6:62e39c103d12 | 3 | #include "mbed.h" |
kkalsi | 23:262e3e171aaf | 4 | #include "MMA8452Q.h" |
kkalsi | 7:32229ffff57e | 5 | |
kkalsi | 23:262e3e171aaf | 6 | Serial pc(USBTX, USBRX); // tx, rx |
kkalsi | 27:0f602aca65f1 | 7 | //SPI spi(p11,p12,p13); |
kkalsi | 27:0f602aca65f1 | 8 | //DigitalOut cs(p14); |
kkalsi | 10:386a3a12f3cf | 9 | // Communication I2C |
vincentlabbe | 25:16a041dd21db | 10 | //I2C i2c(p9,p10); // sda, scl |
kkalsi | 10:386a3a12f3cf | 11 | |
kkalsi | 27:0f602aca65f1 | 12 | //int main() { |
kkalsi | 27:0f602aca65f1 | 13 | // } |
kkalsi | 27:0f602aca65f1 | 14 | |
kkalsi | 27:0f602aca65f1 | 15 | |
kkalsi | 27:0f602aca65f1 | 16 | |
kkalsi | 27:0f602aca65f1 | 17 | // on utilise l'afficheur 7 SEG en mode SPI pour la mise au point |
kkalsi | 27:0f602aca65f1 | 18 | SPI spi(p5, p6, p7); // mosi, miso, sclk |
kkalsi | 27:0f602aca65f1 | 19 | DigitalOut cs(p8); |
kkalsi | 27:0f602aca65f1 | 20 | |
kkalsi | 27:0f602aca65f1 | 21 | AnalogOut signal(p18); |
kkalsi | 27:0f602aca65f1 | 22 | AnalogIn ain(p20); |
kkalsi | 27:0f602aca65f1 | 23 | BusOut myleds(LED1, LED2, LED3, LED4); // for display 4 leds in hex format |
kkalsi | 27:0f602aca65f1 | 24 | unsigned short value; |
kkalsi | 27:0f602aca65f1 | 25 | Ticker display; |
kkalsi | 27:0f602aca65f1 | 26 | |
kkalsi | 27:0f602aca65f1 | 27 | short table[16] = { 0x00, // 0 0 - 1/16 |
kkalsi | 27:0f602aca65f1 | 28 | 0x00, // 1 1/16 - 1/8 |
kkalsi | 27:0f602aca65f1 | 29 | 0x01, // 2 1/8 - 3/16 |
kkalsi | 27:0f602aca65f1 | 30 | 0x01, // 3 3/16 - 1/4 |
kkalsi | 27:0f602aca65f1 | 31 | 0x01, // 4 1/4 - 5/16 |
kkalsi | 27:0f602aca65f1 | 32 | 0x01, // 5 5/16 - 3/8 |
kkalsi | 27:0f602aca65f1 | 33 | 0x03, // 6 3/8 - 7/16 |
kkalsi | 27:0f602aca65f1 | 34 | 0x03, // 7 7/16 - 1/2 |
kkalsi | 27:0f602aca65f1 | 35 | 0x03, // 8 1/2 - 9/16 |
kkalsi | 27:0f602aca65f1 | 36 | 0x03, // 9 9/16 - 5/8 |
kkalsi | 27:0f602aca65f1 | 37 | 0x07, // a 5/8 - 11/16 |
kkalsi | 27:0f602aca65f1 | 38 | 0x07, // b 11/16 - 3/4 |
kkalsi | 27:0f602aca65f1 | 39 | 0x07, // c 3/4 - 13/16 |
kkalsi | 27:0f602aca65f1 | 40 | 0x07, // d 13/16 - 7/8 |
kkalsi | 27:0f602aca65f1 | 41 | 0x0f, // e 7/8 - 15/16 |
kkalsi | 27:0f602aca65f1 | 42 | 0x0f}; // f 15/16 - 1 |
kkalsi | 27:0f602aca65f1 | 43 | |
kkalsi | 27:0f602aca65f1 | 44 | void disp() { |
kkalsi | 27:0f602aca65f1 | 45 | short i; |
kkalsi | 27:0f602aca65f1 | 46 | value = ain.read_u16(); // read input |
kkalsi | 27:0f602aca65f1 | 47 | i = (value >> 12) & 0x000f; // transform to hex |
kkalsi | 27:0f602aca65f1 | 48 | |
kkalsi | 27:0f602aca65f1 | 49 | cs = 0; // affichage 7 SEG via SPI |
kkalsi | 27:0f602aca65f1 | 50 | wait_us(5); |
kkalsi | 27:0f602aca65f1 | 51 | spi.write(i); |
kkalsi | 27:0f602aca65f1 | 52 | wait_us(5); |
kkalsi | 27:0f602aca65f1 | 53 | cs = 1; |
kkalsi | 27:0f602aca65f1 | 54 | |
kkalsi | 27:0f602aca65f1 | 55 | myleds = table[i]; // affichage sur les LEDs |
kkalsi | 27:0f602aca65f1 | 56 | } |
kkalsi | 27:0f602aca65f1 | 57 | |
kkalsi | 26:523ac79471d8 | 58 | int main() { |
kkalsi | 27:0f602aca65f1 | 59 | spi.format(8,0); // initialisation du port SPI pour l'afficheur |
kkalsi | 27:0f602aca65f1 | 60 | spi.frequency(100000); |
kkalsi | 27:0f602aca65f1 | 61 | |
kkalsi | 27:0f602aca65f1 | 62 | cs = 0; |
kkalsi | 27:0f602aca65f1 | 63 | wait_us(5); |
kkalsi | 27:0f602aca65f1 | 64 | spi.write(0x76); //clear |
kkalsi | 27:0f602aca65f1 | 65 | wait_us(5); |
kkalsi | 27:0f602aca65f1 | 66 | cs = 1; |
kkalsi | 27:0f602aca65f1 | 67 | |
kkalsi | 27:0f602aca65f1 | 68 | display.attach(&disp, 0.1); // connexion de la fonction périodique aux 1/10 de seconde // roule constamment |
kkalsi | 27:0f602aca65f1 | 69 | while (1){ |
kkalsi | 27:0f602aca65f1 | 70 | |
kkalsi | 26:523ac79471d8 | 71 | } |
kkalsi | 27:0f602aca65f1 | 72 | |
kkalsi | 27:0f602aca65f1 | 73 | } |
kkalsi | 27:0f602aca65f1 | 74 | |
kkalsi | 22:706708bc4c1a | 75 | |
kkalsi | 22:706708bc4c1a | 76 | |
kkalsi | 22:706708bc4c1a | 77 | |
kkalsi | 22:706708bc4c1a | 78 | |
kkalsi | 26:523ac79471d8 | 79 | // SPI COMMUNICATION |
kkalsi | 26:523ac79471d8 | 80 | /* |
kkalsi | 3:8494c3f7108d | 81 | int main() { |
vincentlabbe | 25:16a041dd21db | 82 | |
vincentlabbe | 17:c463c5a434ec | 83 | float x, y, z ; |
kkalsi | 15:b4b2e73faefb | 84 | MMA8452Q acc(p9,p10,0x1d); // acceleration object |
vincentlabbe | 25:16a041dd21db | 85 | |
kkalsi | 26:523ac79471d8 | 86 | cs = 0; //Clear display SPI |
kkalsi | 26:523ac79471d8 | 87 | wait(0.1); |
kkalsi | 26:523ac79471d8 | 88 | spi.write(0x76); // Clear display |
kkalsi | 26:523ac79471d8 | 89 | cs = 1; |
kkalsi | 26:523ac79471d8 | 90 | wait(0.1); |
kkalsi | 26:523ac79471d8 | 91 | cs = 1; |
vincentlabbe | 25:16a041dd21db | 92 | |
kkalsi | 26:523ac79471d8 | 93 | while (true) { |
vincentlabbe | 25:16a041dd21db | 94 | x = acc.getAccX() ; |
vincentlabbe | 17:c463c5a434ec | 95 | y = acc.getAccY() ; |
vincentlabbe | 17:c463c5a434ec | 96 | z = acc.getAccZ() ; |
vincentlabbe | 19:992f183385e8 | 97 | printf("X[%.3f] Y[%.3f] Z[%.3f]\n",x, y, z) ; |
kkalsi | 9:f36f1506a840 | 98 | wait(0.1); |
vincentlabbe | 13:64137db317ab | 99 | |
vincentlabbe | 25:16a041dd21db | 100 | int X = x * 1000; //Pour enlever floating point et garder une précision |
vincentlabbe | 19:992f183385e8 | 101 | int Y = y * 1000; |
vincentlabbe | 19:992f183385e8 | 102 | int Z = z * 1000; |
kkalsi | 18:171cb8d2f243 | 103 | |
vincentlabbe | 25:16a041dd21db | 104 | int angle = (1000-(((2*X*X+2*Y*Y)*1000/(X*X+Y*Y+Z*Z)))); //Calcul vectoriel pour calculer l'angle à l'horizontal |
kkalsi | 18:171cb8d2f243 | 105 | |
vincentlabbe | 19:992f183385e8 | 106 | pc.printf("avant acos = %d", angle); |
kkalsi | 18:171cb8d2f243 | 107 | |
vincentlabbe | 25:16a041dd21db | 108 | float ratioZaccel = angle/1000.0; //Remettre en floating point pour acos |
vincentlabbe | 25:16a041dd21db | 109 | int resultatRAD = 500*acos((ratioZaccel)); //Reponse en RAD |
vincentlabbe | 25:16a041dd21db | 110 | |
vincentlabbe | 25:16a041dd21db | 111 | pc.printf("valeur rad new= %d", resultatRAD); |
vincentlabbe | 25:16a041dd21db | 112 | int degree = resultatRAD * 18000/31400; //Tranfo degree |
kkalsi | 18:171cb8d2f243 | 113 | pc.printf("valeur deg new = %d", degree); |
vincentlabbe | 25:16a041dd21db | 114 | pc.printf("valeur deg new = %d", degree); |
vincentlabbe | 25:16a041dd21db | 115 | |
vincentlabbe | 25:16a041dd21db | 116 | // extracting digits |
vincentlabbe | 25:16a041dd21db | 117 | int digit; |
vincentlabbe | 16:0b58c14b639d | 118 | int digits[4] = {0,0,0,0}; |
kkalsi | 15:b4b2e73faefb | 119 | int i = 0; |
vincentlabbe | 25:16a041dd21db | 120 | while(degree > 0) { |
vincentlabbe | 25:16a041dd21db | 121 | digit = degree % 10; //to get the right most digit |
vincentlabbe | 25:16a041dd21db | 122 | digits[i]=digit; |
vincentlabbe | 25:16a041dd21db | 123 | pc.printf("digit %d = %d, degree int: %d", i, digits[i], degree); |
vincentlabbe | 25:16a041dd21db | 124 | degree /= 10; //reduce the number by one digit |
kkalsi | 15:b4b2e73faefb | 125 | ++i; |
kkalsi | 15:b4b2e73faefb | 126 | } |
kkalsi | 15:b4b2e73faefb | 127 | |
kkalsi | 26:523ac79471d8 | 128 | spi.write(0x77); // Decimal control command // Pour la communication SPI |
vincentlabbe | 17:c463c5a434ec | 129 | cs = 1; |
vincentlabbe | 25:16a041dd21db | 130 | wait(0.01); |
vincentlabbe | 17:c463c5a434ec | 131 | cs = 0; |
vincentlabbe | 25:16a041dd21db | 132 | spi.write(0x04);// Turn on decimal |
vincentlabbe | 17:c463c5a434ec | 133 | cs = 1; |
vincentlabbe | 17:c463c5a434ec | 134 | wait(0.01); |
kkalsi | 10:386a3a12f3cf | 135 | cs = 0; |
vincentlabbe | 25:16a041dd21db | 136 | spi.write(digits[3]); |
vincentlabbe | 16:0b58c14b639d | 137 | cs = 1; |
vincentlabbe | 17:c463c5a434ec | 138 | wait(0.01); |
vincentlabbe | 16:0b58c14b639d | 139 | cs = 0; |
vincentlabbe | 25:16a041dd21db | 140 | spi.write(digits[2]); |
vincentlabbe | 16:0b58c14b639d | 141 | cs = 1; |
vincentlabbe | 17:c463c5a434ec | 142 | wait(0.01); |
vincentlabbe | 16:0b58c14b639d | 143 | cs = 0; |
vincentlabbe | 25:16a041dd21db | 144 | spi.write(digits[1]); |
vincentlabbe | 16:0b58c14b639d | 145 | cs = 1; |
vincentlabbe | 25:16a041dd21db | 146 | wait(0.01); |
vincentlabbe | 25:16a041dd21db | 147 | cs = 0; |
vincentlabbe | 25:16a041dd21db | 148 | spi.write(digits[0]); |
vincentlabbe | 25:16a041dd21db | 149 | cs = 1; |
vincentlabbe | 25:16a041dd21db | 150 | */ |
kkalsi | 26:523ac79471d8 | 151 | /* Test |
kkalsi | 26:523ac79471d8 | 152 | cs = 0; |
vincentlabbe | 17:c463c5a434ec | 153 | wait(0.1); |
vincentlabbe | 25:16a041dd21db | 154 | spi.write(0x5); |
vincentlabbe | 25:16a041dd21db | 155 | cs = 1; |
kkalsi | 26:523ac79471d8 | 156 | */ |
vincentlabbe | 25:16a041dd21db | 157 | // } |
kkalsi | 26:523ac79471d8 | 158 | //} |
kkalsi | 21:74482f23c8fe | 159 | |
kkalsi | 21:74482f23c8fe | 160 | |
kkalsi | 21:74482f23c8fe | 161 | |
kkalsi | 26:523ac79471d8 | 162 | // UART COMMUNICATION |
kkalsi | 26:523ac79471d8 | 163 | /* |
kkalsi | 26:523ac79471d8 | 164 | void UARTInit() |
kkalsi | 26:523ac79471d8 | 165 | { |
kkalsi | 26:523ac79471d8 | 166 | uint16_t usFdiv; |
kkalsi | 26:523ac79471d8 | 167 | |
kkalsi | 26:523ac79471d8 | 168 | LPC_SC->PCONP |= (1 << 25); // Power up the UART3 it's disabled on powerup. |
kkalsi | 26:523ac79471d8 | 169 | |
kkalsi | 26:523ac79471d8 | 170 | LPC_PINCON->PINSEL1 |= (3 << 18); // Pin P0.25 used as TXD0 (Com0) // Enable the pins on the device to use UART3 |
kkalsi | 26:523ac79471d8 | 171 | LPC_PINCON->PINSEL1 |= (3 << 20); // Pin P0.26 used as RXD0 (Com0) |
kkalsi | 26:523ac79471d8 | 172 | |
kkalsi | 26:523ac79471d8 | 173 | LPC_SC->PCLKSEL1 &= ~(3 << 18); // Clean all to 0 // Setup the PCLK for UART3 |
kkalsi | 26:523ac79471d8 | 174 | LPC_SC->PCLKSEL1 |= (1 << 18); // PCLK = CCLK |
kkalsi | 21:74482f23c8fe | 175 | |
kkalsi | 26:523ac79471d8 | 176 | LPC_UART3->LCR = 0x83; // 0000 0000 1000 0011 // Word select 8-bit character length and set DLAB |
kkalsi | 26:523ac79471d8 | 177 | |
kkalsi | 26:523ac79471d8 | 178 | usFdiv = (SystemCoreClock / (16*9600)); //Baud rate calculation |
kkalsi | 26:523ac79471d8 | 179 | LPC_UART3->DLM = usFdiv / 256; |
kkalsi | 26:523ac79471d8 | 180 | LPC_UART3->DLL = usFdiv % 256; |
kkalsi | 26:523ac79471d8 | 181 | |
kkalsi | 26:523ac79471d8 | 182 | LPC_UART3->FCR = 0x7; // Enable and reset UART3 FIFOs. |
kkalsi | 26:523ac79471d8 | 183 | |
kkalsi | 26:523ac79471d8 | 184 | LPC_UART3->LCR &= ~(1 << 7); // Clear DLAB |
kkalsi | 26:523ac79471d8 | 185 | } |
kkalsi | 26:523ac79471d8 | 186 | |
kkalsi | 26:523ac79471d8 | 187 | char UART3Transmit(int out) |
kkalsi | 26:523ac79471d8 | 188 | { |
kkalsi | 26:523ac79471d8 | 189 | LPC_UART3 -> THR = out; |
kkalsi | 26:523ac79471d8 | 190 | while(! (LPC_UART3->LSR & (0x01 << 0x06))); |
kkalsi | 26:523ac79471d8 | 191 | |
kkalsi | 26:523ac79471d8 | 192 | return 1; |
kkalsi | 26:523ac79471d8 | 193 | } |
kkalsi | 26:523ac79471d8 | 194 | |
kkalsi | 26:523ac79471d8 | 195 | int main() { |
kkalsi | 26:523ac79471d8 | 196 | |
kkalsi | 26:523ac79471d8 | 197 | UARTInit(); |
kkalsi | 26:523ac79471d8 | 198 | |
kkalsi | 26:523ac79471d8 | 199 | float x, y, z ; |
kkalsi | 26:523ac79471d8 | 200 | |
kkalsi | 26:523ac79471d8 | 201 | MMA8452Q acc(p9,p10,0x1d); // acceleration object |
kkalsi | 26:523ac79471d8 | 202 | |
kkalsi | 26:523ac79471d8 | 203 | UART3Transmit(0x76); // Clear display UART |
kkalsi | 26:523ac79471d8 | 204 | while (true) { |
kkalsi | 26:523ac79471d8 | 205 | |
kkalsi | 26:523ac79471d8 | 206 | x = acc.getAccX() ; |
kkalsi | 26:523ac79471d8 | 207 | y = acc.getAccY() ; |
kkalsi | 26:523ac79471d8 | 208 | z = acc.getAccZ() ; |
kkalsi | 26:523ac79471d8 | 209 | printf("X[%.3f] Y[%.3f] Z[%.3f]\n",x, y, z) ; |
kkalsi | 26:523ac79471d8 | 210 | wait(0.1); |
kkalsi | 26:523ac79471d8 | 211 | |
kkalsi | 26:523ac79471d8 | 212 | int X = x * 1000; //Pour enlever floating point et garder une précision |
kkalsi | 26:523ac79471d8 | 213 | int Y = y * 1000; |
kkalsi | 26:523ac79471d8 | 214 | int Z = z * 1000; |
kkalsi | 26:523ac79471d8 | 215 | |
kkalsi | 26:523ac79471d8 | 216 | int angle = (1000-(((2*X*X+2*Y*Y)*1000/(X*X+Y*Y+Z*Z)))); //Calcul vectoriel pour calculer l'angle à l'horizontal |
kkalsi | 26:523ac79471d8 | 217 | |
kkalsi | 26:523ac79471d8 | 218 | pc.printf("avant acos = %d", angle); |
kkalsi | 26:523ac79471d8 | 219 | |
kkalsi | 26:523ac79471d8 | 220 | float ratioZaccel = angle/1000.0; //Remettre en floating point pour acos |
kkalsi | 26:523ac79471d8 | 221 | int resultatRAD = 500*acos((ratioZaccel)); //Reponse en RAD |
kkalsi | 26:523ac79471d8 | 222 | |
kkalsi | 26:523ac79471d8 | 223 | pc.printf("valeur rad new= %d", resultatRAD); |
kkalsi | 26:523ac79471d8 | 224 | int degree = resultatRAD * 18000/31400; //Tranfo degree |
kkalsi | 26:523ac79471d8 | 225 | pc.printf("valeur deg new = %d", degree); |
kkalsi | 26:523ac79471d8 | 226 | |
kkalsi | 26:523ac79471d8 | 227 | pc.printf("valeur deg new = %d", degree); |
kkalsi | 26:523ac79471d8 | 228 | |
kkalsi | 26:523ac79471d8 | 229 | |
kkalsi | 26:523ac79471d8 | 230 | int digit; // extracting digits |
kkalsi | 26:523ac79471d8 | 231 | int digits[4] = {0,0,0,0}; |
kkalsi | 26:523ac79471d8 | 232 | int i = 0; |
kkalsi | 26:523ac79471d8 | 233 | while(degree > 0) { |
kkalsi | 26:523ac79471d8 | 234 | digit = degree % 10; //to get the right most digit |
kkalsi | 26:523ac79471d8 | 235 | digits[i]=digit; |
kkalsi | 26:523ac79471d8 | 236 | pc.printf("digit %d = %d, degree int: %d", i, digits[i], degree); |
kkalsi | 26:523ac79471d8 | 237 | degree /= 10; //reduce the number by one digit |
kkalsi | 26:523ac79471d8 | 238 | ++i; |
kkalsi | 26:523ac79471d8 | 239 | } |
kkalsi | 26:523ac79471d8 | 240 | |
kkalsi | 26:523ac79471d8 | 241 | UART3Transmit(0x77); // Decimal control command // Pour la communication UART |
kkalsi | 26:523ac79471d8 | 242 | UART3Transmit(0x04);// Turn on decimal |
kkalsi | 26:523ac79471d8 | 243 | |
kkalsi | 26:523ac79471d8 | 244 | UART3Transmit(digits[3]); |
kkalsi | 26:523ac79471d8 | 245 | UART3Transmit(digits[2]); |
kkalsi | 26:523ac79471d8 | 246 | UART3Transmit(digits[1]); |
kkalsi | 26:523ac79471d8 | 247 | UART3Transmit(digits[0]); //UART3Transmit(0xA5); |
kkalsi | 26:523ac79471d8 | 248 | } |
kkalsi | 26:523ac79471d8 | 249 | } |
kkalsi | 26:523ac79471d8 | 250 | */ |
kkalsi | 26:523ac79471d8 | 251 | |
kkalsi | 26:523ac79471d8 | 252 | |
kkalsi | 26:523ac79471d8 | 253 | /* // communication I2C |
kkalsi | 3:8494c3f7108d | 254 | Serial pc(USBTX, USBRX); // tx, rx |
vincentlabbe | 25:16a041dd21db | 255 | I2C i2c(p9,p10); |
vincentlabbe | 25:16a041dd21db | 256 | |
kkalsi | 2:42408ce8f4ae | 257 | int main() { |
vincentlabbe | 25:16a041dd21db | 258 | i2c.frequency(100000); |
vincentlabbe | 25:16a041dd21db | 259 | char cmd[2] = {0,0}; |
vincentlabbe | 25:16a041dd21db | 260 | int addr = 0x5A; |
vincentlabbe | 25:16a041dd21db | 261 | int data = 0xA4; |
vincentlabbe | 25:16a041dd21db | 262 | cmd[0] = addr; |
vincentlabbe | 25:16a041dd21db | 263 | cmd[1] = data; |
vincentlabbe | 25:16a041dd21db | 264 | |
vincentlabbe | 25:16a041dd21db | 265 | while(1){ |
vincentlabbe | 25:16a041dd21db | 266 | i2c.write(0x3A,cmd,2); |
vincentlabbe | 25:16a041dd21db | 267 | wait_ms(5); |
kkalsi | 2:42408ce8f4ae | 268 | } |
vincentlabbe | 25:16a041dd21db | 269 | } |
vincentlabbe | 25:16a041dd21db | 270 | */ |
kkalsi | 26:523ac79471d8 | 271 | // I2C write |
kkalsi | 26:523ac79471d8 | 272 | //i2c.frequency(100000); |
kkalsi | 26:523ac79471d8 | 273 | //int cmd[0] = 0x0D; |
kkalsi | 26:523ac79471d8 | 274 | //12c.write(addr,cmd,1,true); |
kkalsi | 26:523ac79471d8 | 275 | //i2c.read(addr,cmd,1); |
kkalsi | 26:523ac79471d8 | 276 | |
kkalsi | 26:523ac79471d8 | 277 | /* // communication UART |
kkalsi | 2:42408ce8f4ae | 278 | Serial pc(USBTX, USBRX); // tx, rx |
kkalsi | 22:706708bc4c1a | 279 | Serial mc(p9,p10); |
kkalsi | 2:42408ce8f4ae | 280 | int main() { |
kkalsi | 2:42408ce8f4ae | 281 | |
kkalsi | 22:706708bc4c1a | 282 | int nombre; |
kkalsi | 2:42408ce8f4ae | 283 | pc.printf("Entrez un nombre de 4 chiffres : "); |
kkalsi | 2:42408ce8f4ae | 284 | pc.scanf("%d", &nombre); |
kkalsi | 2:42408ce8f4ae | 285 | pc.printf("Votre numero entrez est le : %d", nombre); |
kkalsi | 22:706708bc4c1a | 286 | //mc.printf(nombre); |
kkalsi | 22:706708bc4c1a | 287 | mc.putc(nombre); |
kkalsi | 2:42408ce8f4ae | 288 | } |
kkalsi | 2:42408ce8f4ae | 289 | */ |
simon | 0:fb6bbc10ffa0 | 290 | |
kkalsi | 2:42408ce8f4ae | 291 | /* |
kkalsi | 26:523ac79471d8 | 292 | DigitalOut myled(LED3); |
simon | 0:fb6bbc10ffa0 | 293 | |
simon | 0:fb6bbc10ffa0 | 294 | int main() { |
simon | 0:fb6bbc10ffa0 | 295 | while(1) { |
simon | 0:fb6bbc10ffa0 | 296 | myled = 1; |
simon | 0:fb6bbc10ffa0 | 297 | wait(0.2); |
simon | 0:fb6bbc10ffa0 | 298 | myled = 0; |
simon | 0:fb6bbc10ffa0 | 299 | wait(0.2); |
simon | 0:fb6bbc10ffa0 | 300 | } |
simon | 0:fb6bbc10ffa0 | 301 | } |
kkalsi | 28:f56de0b0764e | 302 | */ |
kkalsi | 28:f56de0b0764e | 303 | |
kkalsi | 28:f56de0b0764e | 304 | // I2C write |
kkalsi | 28:f56de0b0764e | 305 | /* |
kkalsi | 28:f56de0b0764e | 306 | I2C i2c( p28, p26 ); // sda, scl |
kkalsi | 28:f56de0b0764e | 307 | |
kkalsi | 28:f56de0b0764e | 308 | int main() { |
kkalsi | 28:f56de0b0764e | 309 | char data[3]; |
kkalsi | 28:f56de0b0764e | 310 | |
kkalsi | 28:f56de0b0764e | 311 | data[0] = 0x16; |
kkalsi | 28:f56de0b0764e | 312 | data[1] = 0x55; |
kkalsi | 28:f56de0b0764e | 313 | data[2] = 0x55; |
kkalsi | 28:f56de0b0764e | 314 | |
kkalsi | 28:f56de0b0764e | 315 | i2c.write( 0xC0, data, 3 ); //0xC0 is slave adress |
kkalsi | 28:f56de0b0764e | 316 | }*/ |
kkalsi | 28:f56de0b0764e | 317 | |
kkalsi | 28:f56de0b0764e | 318 | // I2C Read |
kkalsi | 28:f56de0b0764e | 319 | /* |
kkalsi | 28:f56de0b0764e | 320 | short read_sensor_lower_8bit( void ) |
kkalsi | 28:f56de0b0764e | 321 | { |
kkalsi | 28:f56de0b0764e | 322 | char v; |
kkalsi | 28:f56de0b0764e | 323 | char cmd; |
kkalsi | 28:f56de0b0764e | 324 | |
kkalsi | 28:f56de0b0764e | 325 | cmd = 0x05; |
kkalsi | 28:f56de0b0764e | 326 | |
kkalsi | 28:f56de0b0764e | 327 | i2c.write( 0x88, &cmd, 1 ); |
kkalsi | 28:f56de0b0764e | 328 | i2c.read( 0x88, &v, 1 ); |
kkalsi | 28:f56de0b0764e | 329 | |
kkalsi | 28:f56de0b0764e | 330 | return( v ); |
kkalsi | 28:f56de0b0764e | 331 | } |
kkalsi | 28:f56de0b0764e | 332 | */ |
kkalsi | 28:f56de0b0764e | 333 | |
kkalsi | 28:f56de0b0764e | 334 | /* |
kkalsi | 28:f56de0b0764e | 335 | int main() { |
kkalsi | 28:f56de0b0764e | 336 | set_time(1256729737); // Set RTC time to Wed, 28 Oct 2009 11:35:37 |
kkalsi | 28:f56de0b0764e | 337 | }*/ |
kkalsi | 28:f56de0b0764e | 338 | |
kkalsi | 28:f56de0b0764e | 339 | /* |
kkalsi | 28:f56de0b0764e | 340 | int main() { |
kkalsi | 28:f56de0b0764e | 341 | while(1) { |
kkalsi | 28:f56de0b0764e | 342 | time_t seconds = time(NULL); |
kkalsi | 28:f56de0b0764e | 343 | |
kkalsi | 28:f56de0b0764e | 344 | printf("Time as seconds since January 1, 1970 = %d\n", seconds); |
kkalsi | 28:f56de0b0764e | 345 | |
kkalsi | 28:f56de0b0764e | 346 | printf("Time as a basic string = %s", ctime(&seconds)); |
kkalsi | 28:f56de0b0764e | 347 | |
kkalsi | 28:f56de0b0764e | 348 | char buffer[32]; |
kkalsi | 28:f56de0b0764e | 349 | strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds)); |
kkalsi | 28:f56de0b0764e | 350 | printf("Time as a custom formatted string = %s", buffer); |
kkalsi | 28:f56de0b0764e | 351 | |
kkalsi | 28:f56de0b0764e | 352 | wait(1); |
kkalsi | 28:f56de0b0764e | 353 | } |
kkalsi | 28:f56de0b0764e | 354 | }*/ |
kkalsi | 28:f56de0b0764e | 355 | /* |
kkalsi | 28:f56de0b0764e | 356 | int main() { |
kkalsi | 28:f56de0b0764e | 357 | |
kkalsi | 28:f56de0b0764e | 358 | // get the current time from the terminal |
kkalsi | 28:f56de0b0764e | 359 | struct tm t; |
kkalsi | 28:f56de0b0764e | 360 | printf("Enter current date and time:\n"); |
kkalsi | 28:f56de0b0764e | 361 | printf("YYYY MM DD HH MM SS[enter]\n"); |
kkalsi | 28:f56de0b0764e | 362 | scanf("%d %d %d %d %d %d", &t.tm_year, &t.tm_mon, &t.tm_mday |
kkalsi | 28:f56de0b0764e | 363 | , &t.tm_hour, &t.tm_min, &t.tm_sec); |
kkalsi | 28:f56de0b0764e | 364 | |
kkalsi | 28:f56de0b0764e | 365 | // adjust for tm structure required values |
kkalsi | 28:f56de0b0764e | 366 | t.tm_year = t.tm_year - 1900; |
kkalsi | 28:f56de0b0764e | 367 | t.tm_mon = t.tm_mon - 1; |
kkalsi | 28:f56de0b0764e | 368 | |
kkalsi | 28:f56de0b0764e | 369 | // set the time |
kkalsi | 28:f56de0b0764e | 370 | set_time(mktime(&t)); |
kkalsi | 28:f56de0b0764e | 371 | |
kkalsi | 28:f56de0b0764e | 372 | // display the time |
kkalsi | 28:f56de0b0764e | 373 | while(1) { |
kkalsi | 28:f56de0b0764e | 374 | time_t seconds = time(NULL); |
kkalsi | 28:f56de0b0764e | 375 | printf("Time as a basic string = %s", ctime(&seconds)); |
kkalsi | 28:f56de0b0764e | 376 | wait(1); |
kkalsi | 28:f56de0b0764e | 377 | } |
kkalsi | 28:f56de0b0764e | 378 | }*/ |