STM32F0 UART - printf
Michal Grunt
michal.grunt na vynet.cz
Čtvrtek Srpen 22 15:51:22 CEST 2013
Tak jsem to vyřešil jinak. Použil jsem xprintf a běží to.
http://elm-chan.org/fsw/strf/xprintf.html
-----Original Message-----
From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Michal Grunt
Sent: Thursday, August 22, 2013 11:50 AM
To: hw-list na list.hw.cz
Subject: STM32F0 UART - printf
Zdravím,
potřeboval bych poradit ohledně UARTu resp. použití funkce printf. GPIO pro UART mám nastavené a UART je funkční (nakonfigurováno bez přerušení, nevím zda je zrovna pro tento případ nutné). Když použiji funkci USART_SendData(USART1, 'X') v terminálu na PC se mi znak X ukáže, ale nějak nemůžu donutit k funkci printf. V projektu mám soubor https://github.com/danepowell/stm32f0/blob/master/src/syscalls.c (UART2 jsem v definicích přepsal na UART1). V hlavním kódu mám mimo definice GPIO ještě toto (na konci emailu). Jinak tam v podstatě nic není (konfigurace GPIO, to co je dole a printf("test"). Neschází mi tam ještě něco?
Děkuji
#ifdef __GNUC__
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif /* __GNUC__ */
PUTCHAR_PROTOTYPE
{
/* Place your implementation of fputc here */
/* e.g. write a character to the USART */
USART_SendData(USART1, (uint8_t) ch);
/* Loop until the end of transmission */
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET)
{}
return ch;
}
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz Hw-list na list.hw.cz http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list