STM32F429ZI DISC1: Keil printf не работает - PullRequest
0 голосов
/ 14 марта 2019

Я учусь программировать микроконтроллер на основе STM32F4 (используя плату STM32F429ZI DISC1). Я пытаюсь использовать функцию printf для распечатки отладочного сообщения. Я использовал следующие источники в качестве ссылки, и у меня ничего не получилось

  1. STM32F7: отладка (printf) Viwer y Logic Analyzer en Keil 5
  2. Keil printf
  3. Как отобразить вывод printf через SWO в 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 МГц enter image description here Сделал как показано в этой теме enter image description here

enter image description here enter image description here

Вот ссылка на мой проект

Я что-то упустил ??

Кроме того, что это за тактовая частота Xtal в Параметры для Target >> Target >> Xtal , если я использую внутренний RC-генератор.

1 Ответ

1 голос
/ 17 марта 2019

Код работает. По умолчанию плата STM32F429ZI DISC1 поставляется с SWO-входом ST-Link, подключенным к разъему SWD, но не к MCU.

enter image description here

Припой Мост SB9 и все работает. На другой плате STM32F4 Discovery, показанной на видео, по умолчанию установлен мост, припаянный

...