完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ADXL372振动数据采集传感器,MPU使用的STM32L4系列,使用了ADXL372的官方给的函数库。
问题1:初始化需要写5遍,否则不能正常读数。 问题2:若重新上电,则进入硬件中断,无法工作。 问题3:FIFO BYPASSED模式可以使用adxl372_get_accel_data()采集么,还是必须使用中断。 //=========================== include ========================================= #include "board.h" #include "timers.h" #include "scheduler.h" #include "applications.h" #include "vibration.h" //=========================== main ============================================ int main(void) { /* Initialize. */ board_init(); timers_init(); scheduler_init(); adxl372_dev *dev; adxl372_init_param param; param.spi_init = hspi2.Init; param.bw = ADXL372_BW_1600HZ; param.odr = ADXL372_ODR_3200HZ; param.op_mode = ADXL372_FULL_BW_MEASUREMENT; param.fifo_config.fifo_mode = ADXL372_FIFO_BYPASSED; param.fifo_config.fifo_samples = 0 ; adxl372_xyz_accel_data temp[1]={0}; dev->spi_desc = &hspi2; adxl372_init(&dev, param); adxl372_init(&dev, param); adxl372_init(&dev, param); adxl372_init(&dev, param); adxl372_init(&dev, param); while(1){ for(int i=0;i<6400;i++){ adxl372_get_accel_data(dev, temp); } led_toggle(); HAL_Delay(1000); } return 0; } int32_t adxl372_get_accel_data(adxl372_dev *dev, adxl372_xyz_accel_data *accel_data) { uint8_t buf[6]; uint8_t status1, status2; uint16_t fifo_entries; int32_t ret=0; do { adxl372_get_status(dev, &status1, &status2, &fifo_entries); } while(!(ADXL372_STATUS_1_DATA_RDY(status1))); ret = adxl372_spi_reg_read_multiple(dev, ADXL372_X_DATA_H, buf, 6); if (ret) return -1; accel_data->x = (buf[0] << 4) | (buf[1] >> 4); accel_data->y = (buf[2] << 4) | (buf[3] >> 4); accel_data->z = (buf[4] << 4) | (buf[5] >> 4); return ret; } |
|
相关推荐
3个回答
|
|
非常感谢您对ADI产品的关注?
针对您的问题 (1)每次都需要初始化5次才可以吗?还是有时候必须6次或7次? (2)即使把FIFO BYPASSE掉,仍然可以读取输出三个轴的加速度值; (3)读到的数据是否准确? 谢谢 |
|
|
|
你好,我也在调试这个测试板,可是英文数据手册实在太难懂了,可不可以把你的初始化程序让我看看,谢谢啦
|
|
|
|
同求初始化程序
|
|
|
|
只有小组成员才能发言,加入小组>>
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1708 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4096 浏览 2 评论
8804 浏览 1 评论
3023 浏览 1 评论
6945 浏览 2 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1155浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1454浏览 2评论
1375浏览 2评论
1127浏览 1评论
998浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 09:19 , Processed in 0.904993 second(s), Total 79, Slave 64 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号