سلام
من این ای سی رو تهیه کردم و تونستم باهاش از طریق SPI و I2C ارتباط برقرار کنم ( رجیسترهاش رو بخونم و بنویسم )
ولی وقتی میام مقدار 3 تا محور رو بخونم نمیدونم چرا همش ثابت اعدادش و تغییر نمیکنه
این کد بخش Init کردن ای سی هست
با این کد مقدار سه تا محور ها رو میخونم ...
من این ای سی رو تهیه کردم و تونستم باهاش از طریق SPI و I2C ارتباط برقرار کنم ( رجیسترهاش رو بخونم و بنویسم )
ولی وقتی میام مقدار 3 تا محور رو بخونم نمیدونم چرا همش ثابت اعدادش و تغییر نمیکنه
این کد بخش Init کردن ای سی هست
کد:
[left]
if( ADXL_Read( DEVID ) !=DEVICEID )
{
lcd_clear();
lcd_puts("Device Not Found");
return 0;
}
ADXL_Write( POWER_CTL, 0x00 );
delay_ms(200);
ADXL_Write( DATA_FORMAT, 0x0B );
ADXL_Write( BW_RATE, datarate );
ADXL_Write( INT_ENABLE, 0x80 );
ADXL_Write( FIFO_CTL, 0x00 );
ADXL_Write( THRESH_INACT, 0x00 );
ADXL_Write( TIME_ACT, 0x00 );
ADXL_Write( ACT_INACT_CTL, 0x00 );
ADXL_Write( POWER_CTL, 0x08 );
delay_ms(200);[/left]
کد:
[left]
ADXL_CS=CLR;
SoftSpi(0xC0|DATAX0);
dataout[0]=SoftSpi(0x00);
dataout[1]=SoftSpi(0x00);
dataout[2]=SoftSpi(0x00);
dataout[3]=SoftSpi(0x00);
dataout[4]=SoftSpi(0x00);
dataout[5]=SoftSpi(0x00);
ADXL_CS=SET[/left];

