示例#1
0
文件: ADXL362.c 项目: 363546178/no-OS
/******************************************************************************
* @brief Initialize ADXL362.
*
* @param None.
*
* @return None.
******************************************************************************/
void ADXL362_Init(void)
{
	   // Software Reset
	   ADXL362_WriteReg(ADXL362_SOFT_RESET, ADXL362_RESET_CMD);
	   delay_ms(10);
	   ADXL362_WriteReg(ADXL362_SOFT_RESET, 0x00);

	   // Enable Measurement
	   ADXL362_WriteReg(ADXL362_POWER_CTL, (2 << ADXL362_MEASURE));
}
示例#2
0
void ADXL362_Init(XSpi *spi_instance_ptr)
{
	   // Software Reset
	   ADXL362_WriteReg(spi_instance_ptr, ADXL362_SOFT_RESET, ADXL362_RESET_CMD);
	   DelayMs(10);
	   ADXL362_WriteReg(spi_instance_ptr, ADXL362_SOFT_RESET, 0x00);

	   // Enable Measurement
	   ADXL362_WriteReg(spi_instance_ptr, ADXL362_POWER_CTL, (2 << ADXL362_MEASURE));
}
示例#3
0
void ADXL362_PolledInit(void)
{
	SpiInitPolledMode(ACCEL_ADXL362);


	// Software Reset
	ADXL362_WriteReg(ADXL362_SOFT_RESET, ADXL362_RESET_CMD);
	DelayMs(10);
	ADXL362_WriteReg(ADXL362_SOFT_RESET, 0x00);

	// Enable Measurement
	ADXL362_WriteReg(ADXL362_POWER_CTL, (2 << ADXL362_MEASURE));

	s_adxl362_state = ADXL362_WaitForCommand;
	SpiStop(BARO_MS5611);

}
示例#4
0
文件: ADXL362.c 项目: 363546178/no-OS
/******************************************************************************
* @brief Sets measurement range.
*
* @param None.
*
* @return None.
******************************************************************************/
void ADXL362_SetRange(void)
{
	char rx 	= 0;
	char rxReg 	= 0;
	xil_printf("\n\r>Select measurement range: \n\r");
	xil_printf("    [1] +/- 2g\n\r");
	xil_printf("    [2] +/- 4g\n\r");
	xil_printf("    [3] +/- 8g\n\r");
	xil_printf("Press [1] to [3] to select desired range\n\r");

	DisableInterrupts(UART_INTERRUPT);

	// Check if data is available on the UART
	rx = UartReadChar();

	rxReg = (ADXL362_ReadReg(ADXL362_FILTER_CTL) & 0x3F);

	switch(rx)
	{
		case '1':
			rxReg = 0x00 | rxReg;
			xil_printf("> +/- 2g measurement range selected\n\r");
			break;
		case '2':
			rxReg = 0x40 | rxReg;
			xil_printf("> +/- 4g measurement range selected\n\r");
			break;
		case '3':
			rxReg = 0x80 | rxReg;
			xil_printf("> +/- 8g measurement range selected\n\r");
			break;
		default:
			xil_printf("> wrong measurement range\n\r");
			break;
	}

	ADXL362_WriteReg(ADXL362_FILTER_CTL, rxReg);

	EnableInterrupts(UART_INTERRUPT);
	rxData = 0;
	xil_printf("\n\r");
	ADXL362_DisplayMenu();

}