STM32F429ZI DISC1:Keil printf不起作用

时间:2019-03-14 16:57:16

标签: stm32f4

我正在学习编程基于STM32F4的微控制器(使用STM32F429ZI DISC1板)。我正在尝试使用printf函数来打印出调试消息。我使用以下来源作为参考,对我没有任何帮助

  1. STM32F7: Debug(printf) Viwer y Logic Analyzer en Keil 5
  2. Keil printf
  3. How to display printf output over SWO in Keil µVision

这是我的代码

#include "stm32f4xx.h"
#include <stdio.h>

int msTicks = 0;
void SysTickHandler()
{
    msTicks++;
}

int fputc(int ch, FILE *f)
{
  ITM_SendChar(ch);
  return(ch);
}

int main(void)
{
    // Get the core clock frequency
    SystemCoreClockUpdate();

    if(SysTick_Config(SystemCoreClock/1000))                    // SysTick 1 ms interrupts
    {
        while(1);                                                                               // Capture error
    }

    printf("LED ON\r\n");
    while(1)
    {

    }
    return 0;
}

我已经检查了我的核心时钟频率,它是16 MHz enter image description herethread所示 enter image description here

enter image description here enter image description here

这是指向我的project

的链接

我错过了什么吗?

如果我使用内部RC振荡器, Target >> Target >> Xtal 选项中的Xtal时钟频率也是什么。

1 个答案:

答案 0 :(得分:1)

该代码有效。 默认情况下,STM32F429ZI DISC1板随附ST-Link的SWO输入连接到SWD连接器,但未连接到MCU。

enter image description here

焊接Bridge SB9,它可以工作。 视频中显示的另一个STM32F4 Discovery开发板默认情况下还带有桥接的桥