主题中讨论的其他器件: FDC2114EVM
你(们)好
我使用的是 FDC2212。 我想通过 INTB 引脚中断触发 MCU、并通过 I2C 读取 FDC2212的数据寄存器。 初始化 FDC2212时、将 ERROR_CONFIG 寄存器设置为0x0001;将 CONFIG 寄存器设置为0x1601。 设置后、当通道0和1的数据就绪时 INTB 引脚输出吗? 有吗? 时间? INTB 引脚电平? INTB 引脚输出电压大小? 是否有? 如何设置注册?
贝斯特雷加兹
太阳光了
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你(们)好
我使用的是 FDC2212。 我想通过 INTB 引脚中断触发 MCU、并通过 I2C 读取 FDC2212的数据寄存器。 初始化 FDC2212时、将 ERROR_CONFIG 寄存器设置为0x0001;将 CONFIG 寄存器设置为0x1601。 设置后、当通道0和1的数据就绪时 INTB 引脚输出吗? 有吗? 时间? INTB 引脚电平? INTB 引脚输出电压大小? 是否有? 如何设置注册?
贝斯特雷加兹
太阳光了
我使用 INTB 引脚玩过... 当它被设置为一个中断时、它看起来是瞬时的。 我尚未测量 INTB 引脚保持高电平的持续时间、但我确信它不会无限期保持高电平。 数据表建议通过读取数据或状态寄存器来复位 INTB 引脚... 它没有提到 INTB 瞬间生效的事实。 如果您将其用作"实际"中断、这不是问题。 更大的问题是在轮询时... 如果轮询速度太慢(调试时可能发生这种情况)、并且您错过了 INTB 变为高电平的机会、那么一旦它返回低电平、除非您读取寄存器、否则它永远不会再次变为高电平... 简而言之、如果您没有真正的中断例程、那么最好不要读取寄存器。
你(们)好
手动 snoscz9.pdf 第7.3.4节包含以下内容:(必须通过将 CONFIG.INTB_DIS 设置为0来启用 INTB 功能、将寄存器 CONFIG.INTB_DIS 设置为 B1来禁用 INTB 功能并将 INTB 引脚保持为高电平。)这意味着当寄存器中的此位设置为0时启用 INTB 中断、 但我无法以这种方式使用 INTB 中断。 当我尝试将该位设置为1时、INTB 中断被启用、为什么?
现在有两个问题:
第一个数据转换完成后、只有一个中断发生、并且在后续数据转换后不会发生中断。 为什么?
通过 I2C 读取通道0和1的转换数据后、将 FDC2212设置为睡眠模式、然后将1写入 ERROR_CONFIG 寄存器的 DRDY_2INT 位。 当 FDC2212被设定为正常模式时、会产生一个中断、但是读取的转换数据全部为0。