Есть ли где-нибудь код на c ++ или c, который поможет мне использовать printf в keil uvision 5 для платы stm32f4-eval2? Я знаю, что вы должны перенастроить уартс и усартс, но я не смог сделать это без ошибок, даже с помощью сайтов, которые я нашел в Интернете.
Я хотел бы иметь возможность использовать средство просмотра отладки printf.
Я попробовал следующую ссылку, но она не работала: http://www.keil.com/support/man/docs/ulinkpro/ulinkpro_trace_itm_viewer.htm
Вы не очень конкретны, хотите ли вы печатать через UART или если вы хотите печатать через канал отладки ITM. Для ITM это довольно просто. Создайте файл со следующим содержимым и убедитесь, что трассировка SWO включена в вашем отладочном соединении:
#include <stdio.h>
/* Replace next line: Include the device system header file here */
#error "device include file missing"/* e.g.: #include "STM32F4xx.h" */
#pragma import(__use_no_semihosting_swi)
volatile int ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* CMSIS Debug Input */
int fputc(int c, FILE *f) {
return (ITM_SendChar(c));
}
int fgetc(FILE *f) {
while (ITM_CheckChar() != 1) __NOP();
return (ITM_ReceiveChar());
}
Убедитесь, что вы отметили опцию «Использовать MicroLib» в Параметры для Target-> Target