久芯网

STM32F446 PC0 I/O翻转调试问题

avatar xad74 提问时间: 2023-07-17 07:36:52 / 未解决
使用STM32CubeMX生产工程文件,程序很简单就是控制PC0进行翻转动作程序如下,问题为PC0端口始终为低电平状态
void MX_GPIO_Init(void)
{

  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOE_CLK_ENABLE();
  __HAL_RCC_GPIOC_CLK_ENABLE();
  __HAL_RCC_GPIOH_CLK_ENABLE();
  __HAL_RCC_GPIOD_CLK_ENABLE();

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3, GPIO_PIN_RESET);

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13|GPIO_PIN_0|GPIO_PIN_3, GPIO_PIN_RESET);

  /*Configure GPIO pin : PE3 */
  GPIO_InitStruct.Pin = GPIO_PIN_3;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);

  /*Configure GPIO pins : PC13 PC0 PC3 */
  GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_0|GPIO_PIN_3;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);

}

while (1)
  {
    /* USER CODE END WHILE */
        HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_RESET);
//          HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3, GPIO_PIN_RESET);
  delay_ms(50000);
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_SET);
//          HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3, GPIO_PIN_SET);
  delay_ms(50000);
    /* USER CODE BEGIN 3 */
  }


如需获得 STM32F446 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

7个回答
  • avatar butterflyspring
    回答时间: 2023-07-17 07:55:11

    单步调试一下,看看寄存器配置是否正常。另外也检查一下该引脚外部链接电路是否有异常。

  • avatar xad74
    回答时间: 2023-07-17 08:16:03

    现在问题是找到了,我程序中GPIO_PIN_13写车13翻转的话PC0会翻转,但现在PC13怎么配置又不知道了,配置13能示波器看到波形变化,那外部硬件是没问题的

  • avatar xad74
    回答时间: 2023-07-17 08:43:20

    仿真时ODR0变化,I/O口不变,446是有管家隐射类的寄存器吗

  • avatar xad74
    回答时间: 2023-07-17 09:15:01

    仿真时ODR0变化,PC0口不变,ODR13变化时,PC0口变化,446是有管家隐射类的寄存器吗

  • avatar yklstudent
    回答时间: 2023-07-17 09:45:25

    仿真程序是否跑的正常,别死在delay_ms函数出不来

  • avatar butterflyspring
    回答时间: 2023-07-17 10:09:02
    xad74 发表于 2022-9-21 15:55
    仿真时ODR0变化,PC0口不变,ODR13变化时,PC0口变化,446是有管家隐射类的寄存器吗 ...

    看起来真的很奇怪呀。要检查这两个引脚外部有没有连接关系,内部没听说有什么映射寄存器呀~~

  • avatar butterflyspring
    回答时间: 2023-07-17 10:28:37
    xad74 发表于 2022-9-21 15:55
    仿真时ODR0变化,PC0口不变,ODR13变化时,PC0口变化,446是有管家隐射类的寄存器吗 ...

    看起来真的很奇怪呀。要检查这两个引脚外部有没有连接关系,内部没听说有什么映射寄存器呀~~

会员中心 微信客服
客服
回到顶部