Gast
#2768222
Gibt es eine Möglichkeit, printf auch mit anderen USARTS wie USART1 zu benutzen und falls ja, wie und wo stellt man das ein? Danke und schöne Grüße
|
Anzeige
|
CooCox printf auf andere UART umleiten
Gast
#2768222
Gibt es eine Möglichkeit, printf auch mit anderen USARTS wie USART1 zu benutzen und falls ja, wie und wo stellt man das ein? Danke und schöne Grüße Die Ausgabe der einzelnen Zeichen ist in einer Funktion PutChar. Dort muß dann das entsprechende Register stehen. Der Port muß entsprechend initialisiert sein und der Takt für die genuzten Baugruppen aktiv sein. Welcher Contröller ist es denn?
Gast
#2768260
Der STM32F407.
Gast
#2769614
PUTCHAR_PROTOTYPE
{
/* Place your implementation of fputc here */
/* e.g. write a character to the USART */
USART_SendData(EVAL_COM3, (uint8_t) ch);
/* Loop until the end of transmission */
while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET)
{}
return ch;
}
Diese Funktion in main.c einbinden und anpassen ..
Gast
#2769628
Korrektur:
#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 //printf UART umleiten
{
/* Place your implementation of fputc here */
/* e.g. write a character to the USART */
USART_SendData(USART3, (uint8_t) ch);
/* Loop until the end of transmission */
while (USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET)
{}
return ch;
}
Gruß
Gast
#2769630
Viele Dank funzt! Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|