OPA 输出 是否可以断开与OPA_OUT脚的连接?
使用OPA1的 BUFFER 模式用ADC检测外部的电压 ,使用时,测试测试结果不对, 始终为 2.47V或 0.2V,ADC 读取其他不经过OPA buffer 的内外部电压正常 .
其中PC4 设置代码是:
GPIO_DisablePinOpendrain(HAL1_EN_PORT, HAL1_EN_PIN);
GPIO_SetPinMode(HAL1_EN_PORT,HAL1_EN_PIN,GPIO_MODE_OUTPUT);
GPIO_ResetOutputPin(HAL2_EN_PORT,HAL2_EN_PIN|HAL1_EN_PIN);
GPIO_DisablePinAnalog(HAL1_EN_PORT,HAL1_EN_PIN);
GPIO_DisablePinRemap(HAL1_EN_PORT,HAL1_EN_PIN);
GPIO_DisablePinInput(HAL1_EN_PORT,HAL1_EN_PIN);
OPA1 设置代码是 (OPA时钟已打开)
OPA1->CR= (OPA_CR_BUFFEN_Msk|OPA_CR_MOD_Msk|OPA_CR_EN_Msk)
测试发现 ,原因是OPA1的输出在芯片内部连接到了 OPA1的输出脚上( PC4) , PC4上的电压直接反映到了 ADC的输入上,导致 检测结果不正常 .
必须将PC4 上的 连接断开 , 并将PC4设置为输入状态 且 关闭PC4的输入功能, 此时ADC读取OPA buffer 输出正常
综上 : 逻辑上的解释应该是:
芯片内部OPA1 Out 和PC4脚直接连接, 无法关断?
一旦使用OPA1 则OPA 输出脚必须悬空,不能使用 , 是否有配置可以避免这个问题 ?
非常抱歉。经查这是芯片bug,opa开启后 opa的输出脚自动开启且无法关闭, 暂时这个问题无法解决。只能adc换引脚。
页:
[1]