STM32F0 UART - printf
Michal Grunt
michal.grunt na vynet.cz
Čtvrtek Srpen 22 11:50:23 CEST 2013
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;
}
Další informace o konferenci Hw-list