C 车载LED,不带';t打开/关闭

C 车载LED,不带';t打开/关闭,c,stm32,led,stm32cubemx,C,Stm32,Led,Stm32cubemx,我刚开始使用STM32F407VGT发现工具包,我想打开/关闭板上的LED。我使用CubeMX生成初始化代码,SystemWorkBench Eclipse进行编译,还使用ST-LINK STM32对我的电路板进行编程。在CubeMX中,我将PD12-PD15端口初始化为输出。我使用HAL_GPIO_WritePin函数来设置我的LED灯。在编译和编程到设备后,什么都没有发生。。。请告诉我我做错了什么 int main(void) { /* USER CODE BEGIN 1 */ /

我刚开始使用STM32F407VGT发现工具包,我想打开/关闭板上的LED。我使用CubeMX生成初始化代码,SystemWorkBench Eclipse进行编译,还使用ST-LINK STM32对我的电路板进行编程。在CubeMX中,我将PD12-PD15端口初始化为输出。我使用HAL_GPIO_WritePin函数来设置我的LED灯。在编译和编程到设备后,什么都没有发生。。。请告诉我我做错了什么

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */


  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */
  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
      HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_SET); 
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}


问题解决了!ST-LINK似乎没有正确上传十六进制,我使用了AC6上传,所有东西似乎都工作正常

您验证了吗,端口/引脚配置为数字输出吗?是的,我在CubeMX中完成了。单击ex.PD12端口并将其设置为GPIO_输出您是否在电路板数据表上检查PD13是否确实连接到LED?有时CubeMX会出错……而不是用万用表检查电路板本身的实际连接。在STM32H743-Nucleo2板上,CubeMX项目中3个LED中的2个显示在错误的引脚上,用户手册中至少有一个显示在错误的引脚上。当你这样做的时候,你也可以检查一下,当你的程序运行的时候,你的pin码是否真的被驱动得很高。你确定吗?我想了解更多细节,所以,在我从CubeMX生成代码,然后在AC6中打开项目,构建它并通过ST-LINK上传之后,一切都正常工作。然后我对代码做了一些修改,比如toogling LED,并构建了它,然后再次尝试通过ST-LINK上传,但板上什么也没发生。但如果我通过AC6上传,一切都会很顺利。这真的很奇怪,但我不知道它有什么问题你说的“通过AC6上传”是什么意思?是否有AC6 jtag/swd探头?我是指顶部调试按钮旁边的绿色“运行”按钮menu@David:您有没有忘记按电路板上的重置按钮来激活加载的程序?