IAR EW ARM: как перенаправить вывод printf и putchar |
|
Написал microsin
|
28.12.2008 |
По умолчанию printf и putchar выводят символы в порт DBGU. Если Вы у себя в прграмме настроите этот порт (как это делать, см. в примерах от IAR - PIO_Configure (pPinsDBGU, PIO_LISTSIZE(pPinsDBGU)); DBGU_Configure (DBGU_STANDARD, 115200, BOARD_MCK);), и подключите к COM-порту компьютера, то увидите в консольной программе вывод printf.
Но иногда нужно сделать вывод на другое пользовательское устройство - например, LCD или UART. Чтобы это сделать, нужно добавить в проект файл write.c (c:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\src\lib\write.c), подправить код функции __write (закомментировать #if 0/#endif), и написать код для функции int MyLowLevelPutchar(int x). Она как раз и должна выводить символ на индикатор. На входе у этой функции символ, а на выходе, если все в порядке, то должен быть тоже символ. Если произошла ошибка, то нужно вернуть отрицательное значение.
[Ссылки]
1. myARMprintf.zip - пример перенаправления printf для ЖКИ индикатора WG240128B и микроконтроллера AT91SAM7X256 (проект IAR EW ARM 5.20).
2. Как делать шрифты для устройств на микроконтроллерах
3. Макетная плата AT91SAM7X.
4.
IAR EW ARM: DBGU, хитрости в использовании printf.
|
Последнее обновление ( 26.05.2010 )
|