更新项目结构,修改自述文件
This commit is contained in:
87
00-Driver/BMI088Middleware.c
Normal file
87
00-Driver/BMI088Middleware.c
Normal file
@@ -0,0 +1,87 @@
|
||||
#include "BMI088Middleware.h"
|
||||
#include "main.h"
|
||||
|
||||
extern SPI_HandleTypeDef hspi1;
|
||||
|
||||
void BMI088_GPIO_init(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void BMI088_com_init(void)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
void BMI088_delay_ms(uint16_t ms)
|
||||
{
|
||||
while(ms--)
|
||||
{
|
||||
BMI088_delay_us(1000);
|
||||
}
|
||||
}
|
||||
|
||||
void BMI088_delay_us(uint16_t us)
|
||||
{
|
||||
|
||||
uint32_t ticks = 0;
|
||||
uint32_t told = 0;
|
||||
uint32_t tnow = 0;
|
||||
uint32_t tcnt = 0;
|
||||
uint32_t reload = 0;
|
||||
reload = SysTick->LOAD;
|
||||
ticks = us * 168;
|
||||
told = SysTick->VAL;
|
||||
while (1)
|
||||
{
|
||||
tnow = SysTick->VAL;
|
||||
if (tnow != told)
|
||||
{
|
||||
if (tnow < told)
|
||||
{
|
||||
tcnt += told - tnow;
|
||||
}
|
||||
else
|
||||
{
|
||||
tcnt += reload - tnow + told;
|
||||
}
|
||||
told = tnow;
|
||||
if (tcnt >= ticks)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void BMI088_ACCEL_NS_L(void)
|
||||
{
|
||||
HAL_GPIO_WritePin(CS1_ACCEL_GPIO_Port, CS1_ACCEL_Pin, GPIO_PIN_RESET);
|
||||
}
|
||||
void BMI088_ACCEL_NS_H(void)
|
||||
{
|
||||
HAL_GPIO_WritePin(CS1_ACCEL_GPIO_Port, CS1_ACCEL_Pin, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void BMI088_GYRO_NS_L(void)
|
||||
{
|
||||
HAL_GPIO_WritePin(CS1_GYRO_GPIO_Port, CS1_GYRO_Pin, GPIO_PIN_RESET);
|
||||
}
|
||||
void BMI088_GYRO_NS_H(void)
|
||||
{
|
||||
HAL_GPIO_WritePin(CS1_GYRO_GPIO_Port, CS1_GYRO_Pin, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
uint8_t BMI088_read_write_byte(uint8_t txdata)
|
||||
{
|
||||
uint8_t rx_data;
|
||||
HAL_SPI_TransmitReceive(&hspi1, &txdata, &rx_data, 1, 1000);
|
||||
return rx_data;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user