完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 Hexiwear 开发工具包。我已将 FXOS8700CQ 配置为在 INT1 (PTC1) 上生成数据就绪中断。但是 INT1 中断从未触发。FXOS8700CQ 配置如下所述。请让我知道,我错过了什么吗?
fxos_status_t FXOS_Init( handleFXOS_t* fxosHandle, const settingsFXOS_t* fxosSettings ) { /** * 初始化内部结构, * 从现在开始使用 */ uint8_t 芯片 ID = 0x00; uint8_t tmp[1] = {0}; memcpy( (void*)&self, (void*)fxosHandle, sizeof(self) ); memcpy( (void*)&settings, (void*)fxosSettings, sizeof(settings) ); statusI2C_t status = I2C_Init( &(self.protocol), settings.address, settings.baudRate_kbps ); 如果(STATUS_I2C_SUCCESS!=状态) { 返回状态; } else { statusI2C_t devStatus = STATUS_I2C_SUCCESS; devStatus |= I2C_ReadReg( &(self.protocol), WHO_AM_I_REG, &chip_ID); 如果(kFXOS_WHO_AM_I_Device_ID == 芯片_ID) { /** 进入待机状态 */ devStatus |= I2C_ReadReg(&(self.protocol), FXOS_CTRL_REG1, tmp); devStatus |= I2C_WriteReg(&(self.protocol), FXOS_CTRL_REG1, tmp[0] & (uint8_t)~ACTIVE_MASK); devStatus |= I2C_ReadReg(&(self.protocol), FXOS_CTRL_REG1, tmp); 如果 ((tmp[0] & ACTIVE_MASK) == ACTIVE_MASK) { catch( CATCH_I2C ); } devStatus |= I2C_WriteReg(&(self.protocol), F_SETUP_REG, F_MODE_DISABLED); // 禁用 FIFO devStatus |= I2C_WriteReg(&(self.protocol), FXOS_CTRL_REG2, MOD_HIGH_RES); // /* 启用自动睡眠,睡眠时低功耗,唤醒时高分辨率 */ devStatus |= I2C_WriteReg(&(self.protocol), FXOS_M_CTRL_REG1, (M_RST_MASK | M_OSR_MASK | M_HMS_MASK)); devStatus |= I2C_WriteReg(&(self.protocol), FXOS_M_CTRL_REG2, (M_HYB_AUTOINC_MASK)); devStatus |= I2C_WriteReg(&(self.protocol), XYZ_DATA_CFG_REG, FULL_SCALE_4G); // +/-4g 范围,0.244mg/LSB devStatus |= I2C_WriteReg(&(self.protocol), FXOS_CTRL_REG4, 0x01); // 启用 DRDY 中断 devStatus |= I2C_WriteReg(&(self.protocol), FXOS_CTRL_REG5, INT_CFG_DRDY_MASK); devStatus |= I2C_WriteReg(&(self.protocol), FXOS_CTRL_REG3, WAKE_FF_MT_MASK); devStatus |= I2C_WriteReg(&(self.protocol), FXOS_CTRL_REG1, HYB_ASLP_RATE_0_8HZ | HYB_DATA_RATE_100HZ | ACTIVE_MASK); devStatus |= I2C_ReadReg(&(self.protocol), FXOS_CTRL_REG1, tmp); 如果 ((tmp[0] & ACTIVE_MASK) != ACTIVE_MASK) { catch( CATCH_I2C ); } 如果 ( STATUS_I2C_SUCCESS != devStatus ) { catch( CATCH_I2C ); } } 返回开发状态; } } //中断配置 /** 创建基本任务 */ status |= HostInterface_Init(); SIM_SCGC5 |= SIM_SCGC5_PORTC_MASK;// 打开时钟到端口 C 模块 PORTC_PCR1 |= (0|PORT_PCR_ISF_MASK | PORT_PCR_MUX(0x1) | PORT_PCR_IRQC(0xA)); // PC1 配置为下降沿中断 //在 NVIC 上启用 PORTC 中断 NVIC_SetPriority( PORTC_IRQn, HEXIWEAR_TAP_IRQ_PRIO); J. 钱德拉塞卡 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1908个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36361 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4398 浏览 0 评论
6054 浏览 1 评论
6765 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4214 浏览 0 评论
620浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
615浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
608浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
694浏览 2评论
799浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 00:20 , Processed in 1.089510 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号