代码拉取完成,页面将自动刷新
ADIS16505 | MCU |
---|---|
CS* | SS* |
SCLK | SCLK |
DIN | MOSI |
DOUT | MISO |
RST* (Opt.) | GPIO |
SYNC (Opt.) | GPIO |
DR (Opt.) | EXTI |
RST*引脚接高阻或拉高
若使用Direct Input Sync Mode,SYNC脚输入脉冲波,频率1900Hz~2100Hz,正脉宽 ≥ 5us,即占空比约大于1%
若想要监测IMU的输出数据寄存器是否更新,则连接DR引脚,更新时触发边沿信号
See Theory of Operation -> SPI in datasheet for detail.
Processor Setting | Description |
---|---|
Master | SS* |
SCLK ≤ 2MHz (≤ 1MHz for burst mode) | Maximum serial clock rate |
SPI Mode 3 | CPOL=1 (polarity), CPHA=1 (phase) |
MSB First Mode | Bit sequence |
8-Bit or 16-Bit Mode | Shift register and data length |
注意,ADIS默认应将SPI配置为16-Bit Mode,但本驱动库也兼容了8-Bit Mode,通过定义宏 SPI_ADIS16505_DATASIZE_8BIT
来使用该模式。
platform_specific_impl.h
#define PLATFORM_STM32_USE_HAL // 选择平台
// #define PLATFORM_LINUX_USE_MRAA
// #define SPI_ADIS16505_DATASIZE_8BIT // SPI模式
#define ADIS16505_USE_HARDWARE_RST // 使用硬件重启功能
#define ADIS16505_USE_INPUT_SYNC_MODE // 使用外部输入的同步信号
主要文件目录
/root
├── docs/
│ └── adis16505.pdf
├── adis16505.c
├── adis16505.h
├── platform_specific_impl.c
├── platform_specific_impl.h
└── README.md
其中,adis16505.c & adis16505.h移植时不需要更改
platform_specific_impl.c & platform_specific_impl.h需要根据移植平台适配更改
需要实现的函数包括:
void delay_ms(uint32_t nms); // 毫秒延时
void delay_us(uint16_t nus); // 微秒延时
void ADIS16505_Select(); // 片选拉低
void ADIS16505_Deselect(); // 片选拉高
uint8_t SPI_ADIS16505_WR_Word(const uint16_t word, uint16_t* pRxData); // SPI全双工读写单字 (16bits)
uint8_t SPI_ADIS16505_WR_Words(const uint16_t* pTxData, uint16_t* pRxData, uint16_t num); // SPI全双工读写多字 (16bits)
void ADIS16505_HardwareReset(); // 硬件重启
通过定义宏(e.g.PLATFORM_STM32_USE_HAL
)来进行平台管理,这里详见代码
使用该驱动库的方法为:
/* USER CODE BEGIN Includes */
#include "adis16505.h"
/* USER CODE END Includes */
/* USER CODE BEGIN PV */
ADIS16505 imu; // 定义结构体变量
/* USER CODE END PV */
/* SYSTEM BEGIN Init */
// Clock_Init();
// GPIO_Init();
// SPI_Init();
// ...
/* SYSTEM END Init */
ADIS16505_Init(&imu); // 初始化IMU
/* USE IMU */
// e.g. ADIS16505_BurstRead(&imu);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。