Laurent m
/
APP1AvecLib
Allo Laurent
main.cpp@0:52bd566d8b82, 2016-01-10 (annotated)
- Committer:
- manl2003
- Date:
- Sun Jan 10 19:28:32 2016 +0000
- Revision:
- 0:52bd566d8b82
Allo Laurent
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
manl2003 | 0:52bd566d8b82 | 1 | #include "mbed.h" |
manl2003 | 0:52bd566d8b82 | 2 | |
manl2003 | 0:52bd566d8b82 | 3 | Serial pc(USBTX, USBRX); |
manl2003 | 0:52bd566d8b82 | 4 | |
manl2003 | 0:52bd566d8b82 | 5 | //Affichage |
manl2003 | 0:52bd566d8b82 | 6 | SPI affichage(p5, p6, p7); // mosi, miso, sclk |
manl2003 | 0:52bd566d8b82 | 7 | DigitalOut cs(p8); |
manl2003 | 0:52bd566d8b82 | 8 | |
manl2003 | 0:52bd566d8b82 | 9 | //Accéléro |
manl2003 | 0:52bd566d8b82 | 10 | I2C accelero(p28, p27); |
manl2003 | 0:52bd566d8b82 | 11 | const int ADDR_ACCELERO = 0x1D; |
manl2003 | 0:52bd566d8b82 | 12 | const int ADDR_ACC_ACTIVATE = 0x2a; |
manl2003 | 0:52bd566d8b82 | 13 | |
manl2003 | 0:52bd566d8b82 | 14 | //Led |
manl2003 | 0:52bd566d8b82 | 15 | DigitalOut myled(LED1); |
manl2003 | 0:52bd566d8b82 | 16 | |
manl2003 | 0:52bd566d8b82 | 17 | |
manl2003 | 0:52bd566d8b82 | 18 | void readI2C(int addr, char* cmd, int bytesNumber) |
manl2003 | 0:52bd566d8b82 | 19 | { |
manl2003 | 0:52bd566d8b82 | 20 | int addrShifter = ADDR_ACCELERO << 1; |
manl2003 | 0:52bd566d8b82 | 21 | accelero.read(addrShifter, cmd, bytesNumber); |
manl2003 | 0:52bd566d8b82 | 22 | } |
manl2003 | 0:52bd566d8b82 | 23 | |
manl2003 | 0:52bd566d8b82 | 24 | void writeI2C(int addr, char* cmd, int bytesNumber) |
manl2003 | 0:52bd566d8b82 | 25 | { |
manl2003 | 0:52bd566d8b82 | 26 | int addrShifter = (ADDR_ACCELERO << 1) | 0x01; |
manl2003 | 0:52bd566d8b82 | 27 | accelero.write(addrShifter, cmd, bytesNumber); |
manl2003 | 0:52bd566d8b82 | 28 | } |
manl2003 | 0:52bd566d8b82 | 29 | |
manl2003 | 0:52bd566d8b82 | 30 | int main() { |
manl2003 | 0:52bd566d8b82 | 31 | |
manl2003 | 0:52bd566d8b82 | 32 | //Setup affichage |
manl2003 | 0:52bd566d8b82 | 33 | cs = 1; |
manl2003 | 0:52bd566d8b82 | 34 | |
manl2003 | 0:52bd566d8b82 | 35 | affichage.format(8,0); |
manl2003 | 0:52bd566d8b82 | 36 | affichage.frequency(250000000); |
manl2003 | 0:52bd566d8b82 | 37 | |
manl2003 | 0:52bd566d8b82 | 38 | cs = 0; |
manl2003 | 0:52bd566d8b82 | 39 | affichage.write(0x76); |
manl2003 | 0:52bd566d8b82 | 40 | |
manl2003 | 0:52bd566d8b82 | 41 | //Setup accelero |
manl2003 | 0:52bd566d8b82 | 42 | char cmd[2]; |
manl2003 | 0:52bd566d8b82 | 43 | cmd[0] = ADDR_ACC_ACTIVATE; |
manl2003 | 0:52bd566d8b82 | 44 | readI2C(ADDR_ACCELERO, cmd, 2); |
manl2003 | 0:52bd566d8b82 | 45 | cmd[1] = cmd[1] | 0x01; |
manl2003 | 0:52bd566d8b82 | 46 | writeI2C(ADDR_ACCELERO | 0x01, cmd, 2); |
manl2003 | 0:52bd566d8b82 | 47 | pc.printf("Registre activité: %1f %1f\r\n", cmd[0], cmd[1]); |
manl2003 | 0:52bd566d8b82 | 48 | |
manl2003 | 0:52bd566d8b82 | 49 | affichage.write(1); |
manl2003 | 0:52bd566d8b82 | 50 | affichage.write(3); |
manl2003 | 0:52bd566d8b82 | 51 | affichage.write(3); |
manl2003 | 0:52bd566d8b82 | 52 | affichage.write(7); |
manl2003 | 0:52bd566d8b82 | 53 | |
manl2003 | 0:52bd566d8b82 | 54 | |
manl2003 | 0:52bd566d8b82 | 55 | /* |
manl2003 | 0:52bd566d8b82 | 56 | while(1) |
manl2003 | 0:52bd566d8b82 | 57 | { |
manl2003 | 0:52bd566d8b82 | 58 | affichage.write(1337); |
manl2003 | 0:52bd566d8b82 | 59 | wait(0.25); |
manl2003 | 0:52bd566d8b82 | 60 | }*/ |
manl2003 | 0:52bd566d8b82 | 61 | } |
manl2003 | 0:52bd566d8b82 | 62 | |
manl2003 | 0:52bd566d8b82 | 63 |