0,0 → 1,56 |
//Akcelerometr IMU01A |
//(c) MLAB Jan Chroust 2013 |
|
|
#include <main.h> |
|
#define PIN_SDA PIN_C4 |
#define PIN_SCL PIN_C3 |
#use i2c(master, sda=PIN_SDA, scl=PIN_SCL) //I2C |
#use rs232(baud=9600,parity=N,xmit=PIN_C7,rcv=PIN_C6,bits=8) //rcv TXD xmit RXD |
#include <math.h> |
#include <MMA8451Q.h> |
|
|
//Akcelerometr |
#define AK_W 0x38 //adresa akcelerometru zápis |
#define AK_R 0x39 //adresa akcelerometru ètení |
#define AK_XH 0x01 //osa X LSB |
#define AK_XL 0x02 //osa X MSB |
#define AK_YH 0x03 //osa Y LSB |
#define AK_YL 0x04 //osa Y MSB |
#define AK_ZH 0x05 //osa Z LSB |
#define AK_ZL 0x06 //osa Z MSB |
|
signed int16 X, Y, Z; //promenne pro akcelerometr |
|
void main() |
{ |
setup_adc_ports(NO_ANALOGS|VSS_VDD); |
setup_adc(ADC_CLOCK_DIV_2); |
setup_spi(SPI_SS_DISABLED); |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); |
setup_timer_1(T1_DISABLED); |
setup_timer_2(T2_DISABLED,0,1); |
setup_ccp1(CCP_OFF); |
setup_comparator(NC_NC_NC_NC); |
|
setAK(); //nastaveni akcelerometru |
|
printf("Akcelerometr IMU01A - MMA8451Q \r\n",); |
printf("(c) MLAB JACHO 2013 \r\n",); |
|
while(TRUE) |
{ |
X=akX (); |
Y=akY (); |
Z=akZ (); |
printf("Namerene hodnoty: \r\n",); |
printf("Osa X: %Ld \r\n",X); |
printf("Osa Y: %Ld \r\n",Y); |
printf("Osa Z: %Ld \r\n",Z); |
delay_ms (2000); |
|
} |
} |
|