
Lab 3
main.cpp@0:c35bb278c5d4, 2015-01-14 (annotated)
- Committer:
- serenabpolito
- Date:
- Wed Jan 14 11:31:47 2015 +0000
- Revision:
- 0:c35bb278c5d4
Lab 3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
serenabpolito | 0:c35bb278c5d4 | 1 | #include "mbed.h" |
serenabpolito | 0:c35bb278c5d4 | 2 | #include "MMA8451Q.h" |
serenabpolito | 0:c35bb278c5d4 | 3 | #include "SPI.h" |
serenabpolito | 0:c35bb278c5d4 | 4 | #include "DigitalOut.h" |
serenabpolito | 0:c35bb278c5d4 | 5 | |
serenabpolito | 0:c35bb278c5d4 | 6 | |
serenabpolito | 0:c35bb278c5d4 | 7 | |
serenabpolito | 0:c35bb278c5d4 | 8 | |
serenabpolito | 0:c35bb278c5d4 | 9 | PinName const mosi = PTD2; //mosi SPI1_mosi |
serenabpolito | 0:c35bb278c5d4 | 10 | PinName const miso = PTD3; //miso SPI1_miso |
serenabpolito | 0:c35bb278c5d4 | 11 | PinName const sck = PTD1; //sck SPI1_sck |
serenabpolito | 0:c35bb278c5d4 | 12 | PinName const pcs0 = PTD0; //pcs0 SPI1_pcs0 |
serenabpolito | 0:c35bb278c5d4 | 13 | |
serenabpolito | 0:c35bb278c5d4 | 14 | |
serenabpolito | 0:c35bb278c5d4 | 15 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
serenabpolito | 0:c35bb278c5d4 | 16 | |
serenabpolito | 0:c35bb278c5d4 | 17 | |
serenabpolito | 0:c35bb278c5d4 | 18 | |
serenabpolito | 0:c35bb278c5d4 | 19 | //instanzia e inizializza oggettto spi della classe SPI |
serenabpolito | 0:c35bb278c5d4 | 20 | SPI spi(mosi,miso,sck); |
serenabpolito | 0:c35bb278c5d4 | 21 | |
serenabpolito | 0:c35bb278c5d4 | 22 | DigitalOut slave_select(pcs0,1); //inizializza slave-select |
serenabpolito | 0:c35bb278c5d4 | 23 | |
serenabpolito | 0:c35bb278c5d4 | 24 | |
serenabpolito | 0:c35bb278c5d4 | 25 | |
serenabpolito | 0:c35bb278c5d4 | 26 | //int spi_write(character,location) |
serenabpolito | 0:c35bb278c5d4 | 27 | //{ |
serenabpolito | 0:c35bb278c5d4 | 28 | //int command = 1000000; |
serenabpolito | 0:c35bb278c5d4 | 29 | //int location |
serenabpolito | 0:c35bb278c5d4 | 30 | //spi |
serenabpolito | 0:c35bb278c5d4 | 31 | //(char)(65+1) |
serenabpolito | 0:c35bb278c5d4 | 32 | //char charecter |
serenabpolito | 0:c35bb278c5d4 | 33 | |
serenabpolito | 0:c35bb278c5d4 | 34 | |
serenabpolito | 0:c35bb278c5d4 | 35 | |
serenabpolito | 0:c35bb278c5d4 | 36 | int main(void) |
serenabpolito | 0:c35bb278c5d4 | 37 | { |
serenabpolito | 0:c35bb278c5d4 | 38 | |
serenabpolito | 0:c35bb278c5d4 | 39 | //comunicazione con SPI |
serenabpolito | 0:c35bb278c5d4 | 40 | int bits = 8; |
serenabpolito | 0:c35bb278c5d4 | 41 | int mode = 1; |
serenabpolito | 0:c35bb278c5d4 | 42 | spi.format(bits,mode);//definisce formato spi con 16 bit e pol=0 e pha=1 |
serenabpolito | 0:c35bb278c5d4 | 43 | //di default la frequenza è 1MHz |
serenabpolito | 0:c35bb278c5d4 | 44 | |
serenabpolito | 0:c35bb278c5d4 | 45 | char character; |
serenabpolito | 0:c35bb278c5d4 | 46 | char lettura; |
serenabpolito | 0:c35bb278c5d4 | 47 | int i; |
serenabpolito | 0:c35bb278c5d4 | 48 | while(1) |
serenabpolito | 0:c35bb278c5d4 | 49 | { |
serenabpolito | 0:c35bb278c5d4 | 50 | int command_wr=128; //comando per la scrittura (10000DDD), di default nella locazione DDD=000 |
serenabpolito | 0:c35bb278c5d4 | 51 | //int command_rd=0; //comando per la lettura (00000DDD), dib default nella locazione DDD=000 |
serenabpolito | 0:c35bb278c5d4 | 52 | //for(i=0;i<7;i++) |
serenabpolito | 0:c35bb278c5d4 | 53 | //{ |
serenabpolito | 0:c35bb278c5d4 | 54 | //character=(char)(65+i); |
serenabpolito | 0:c35bb278c5d4 | 55 | //scrittura |
serenabpolito | 0:c35bb278c5d4 | 56 | slave_select.write(0); |
serenabpolito | 0:c35bb278c5d4 | 57 | spi.write(133); |
serenabpolito | 0:c35bb278c5d4 | 58 | spi.write(3); |
serenabpolito | 0:c35bb278c5d4 | 59 | slave_select.write(1); |
serenabpolito | 0:c35bb278c5d4 | 60 | printf("Carattere in ingresso %c\n",character); |
serenabpolito | 0:c35bb278c5d4 | 61 | //command_wr++; |
serenabpolito | 0:c35bb278c5d4 | 62 | |
serenabpolito | 0:c35bb278c5d4 | 63 | //lettura |
serenabpolito | 0:c35bb278c5d4 | 64 | //slave_select.write(0); |
serenabpolito | 0:c35bb278c5d4 | 65 | //spi.write(command_rd); |
serenabpolito | 0:c35bb278c5d4 | 66 | // lettura=(char)spi.write((int)character); |
serenabpolito | 0:c35bb278c5d4 | 67 | //slave_select.write(1); |
serenabpolito | 0:c35bb278c5d4 | 68 | //printf("Carattere in uscita %c\n",lettura); |
serenabpolito | 0:c35bb278c5d4 | 69 | // command_rd++; |
serenabpolito | 0:c35bb278c5d4 | 70 | // } |
serenabpolito | 0:c35bb278c5d4 | 71 | } |
serenabpolito | 0:c35bb278c5d4 | 72 | } |
serenabpolito | 0:c35bb278c5d4 | 73 |