ST意法半导体
直播中

靓仔峰

9年用户 1138经验值
擅长:可编程逻辑
私信 关注
[问答]

STM32G431和NUCLEO-G431RB内部DAC(DAC3)连接到OPAMP1 - OPAMP无输出的原因?

嘿,
我正在使用:STM32G431、NUCLEO-G431RB
我想将 DAC3 - 内部连接到 OPAMP 并获取 OPAMP1 输出。我有一个数组,我想通过 DMA 传输到 dac3,时间由 tim2 控制。
然后让 DAC3 成为 OpAmp 的非反相输入。
当试图从 Opamp 输出外部获取输出时 - 没有信号。
顺便说一句,该代码适用于 DAC1 和 DMA,但我想使用 DAC3 以获得快速采样率。
你能帮我吗?
谢谢!
  • int main(void)
  • {
  • ...
  • HAL_DAC_Start_DMA(&hdac3, DAC_CHANNEL_1, (uint32_t*)arr_to_play, NS, DAC_ALIGN_12B_R);
  • HAL_OPAMP_Start(&hopamp1);
  • HAL_TIM_Base_Start(&htim2);
  • ....
  • }
  • static void MX_OPAMP1_Init(void)
  • {
  •   hopamp1.Instance = OPAMP1;
  •   hopamp1.Init.PowerMode = OPAMP_POWERMODE_HIGHSPEED;
  •   hopamp1.Init.Mode = OPAMP_FOLLOWER_MODE;
  •   hopamp1.Init.NonInvertingInput = OPAMP_NONINVERTINGINPUT_DAC;
  •   hopamp1.Init.InternalOutput = DISABLE;
  •   hopamp1.Init.TimerControlledMuxmode = OPAMP_TIMERCONTROLLEDMUXMODE_DISABLE;
  •   hopamp1.Init.UserTrimming = OPAMP_TRIMMING_FACTORY;
  •   if (HAL_OPAMP_Init(&hopamp1) != HAL_OK)
  •   {
  •     Error_Handler();
  •   }






回帖(1)

刘珊宏

2023-1-13 15:09:13
我无法将 DAC[3] 输出到引脚
我没有积极使用 'G4,所以没有意识到这一点,抱歉。
我可能也忽略了其他事情。Cubeg4中不是有涉及DAC3的例子吗?
我假设您已经仔细检查过 OPAMP1 是否正常工作,甚至可能试图将其输入切换到某些引脚而不是 DAC3。
那里的选项不多,IMO,你可以在 OPAMP6 或 COMP1/COMP3 上检查 DAC 3,所以你可能想尝试其中的一些。您也可以尝试完全手动控制 DAC3 的实验,即避免 DMA 和 TIM2。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分