stm32f103c8t6,引脚B3和B4不起作用,CubeIDE,HAL

问题描述 投票:0回答:1

我在 CubeIDE 中做错了什么,两个引脚停止工作。 (也许其他东西在我看到它之前停止工作)。为了检查,我为 stm32f103c8t6 创建了一个新项目,并在“main.c”中添加了以下代码:

while (1)
{
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET); //
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_SET); //
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET); //
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_SET); //
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_SET); //
      HAL_Delay (1000);
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_RESET); //
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_RESET); //
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_RESET); //
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_RESET); //
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_RESET); //
      HAL_Delay (1000);
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */

}

我尝试了其他芯片,引脚没有连接到任何东西,我用设备进行了测试,问题仍然存在 - 引脚 B3 和 B4 不工作,其余的工作。引脚 B3-B7 配置为输出。我可能做错了什么?

我找到了解决办法。但我还是不明白为什么会出现这个问题。

__HAL_RCC_AFIO_CLK_ENABLE();
__HAL_AFIO_REMAP_SWJ_NOJTAG();
hal stm32cubeide stm32f1
1个回答
0
投票

如果您查看STM32F103x8数据表的引脚定义表,您可以看到PB3和PB4是JTAG引脚,这意味着您可能使用它们来烧录和调试板。您可能应该只使用一些其他引脚,但如果您需要使用这些引脚,我认为您必须添加一些特殊代码来在程序开始时关闭 JTAG 模块。

© www.soinside.com 2019 - 2024. All rights reserved.