Lab 3

Dependencies:   MMA8451Q mbed

Committer:
serenabpolito
Date:
Wed Jan 14 11:31:47 2015 +0000
Revision:
0:c35bb278c5d4
Lab 3

Who changed what in which revision?

UserRevisionLine numberNew 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