Функция printf уже реализована в стандартной библиотеке непосредственному использованию ее мешает, то, что библиотека не знает, куда отправлять получившийся текст, - в USB-CDC, Ethernet, UART . В нашем случае мы перенаправим ее в ITM. Для данной задачи необходимо реализовать всего одну функцию: int fputc(int c, FILE *stream). В ней будем отправлять всё в отладочный порт. Для этого где-то в CMSIS есть объявление и реализация функции ITM_SendChar, которая записывает символ в нулевой порт трассировщика, чтоб передать его в отладчик.
#include <stm32f4xx.h>
#include <stdio.h>
int fputc(int c, FILE *stream)
{
return ITM_SendChar(c);
}
int main(void)
{
while(1)
{
printf("Hello world!");
}
}
#include <stm32f4xx.h>
#include <stdio.h>
int fputc(int c, FILE *stream)
{
return ITM_SendChar(c);
}
int main(void)
{
while(1)
{
printf("Hello world!");
}
}
Комментариев нет:
Отправить комментарий