Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: prinf и USART1 в Mega64
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
messenger
Подскажите пожалуйста как в CodeVision добавить функцию printf_2 для работы со вторым UART-ом в Mega64.
megajohn
Цитата(messenger @ May 10 2014, 14:55) *
Подскажите пожалуйста как в CodeVision добавить функцию printf_2 для работы со вторым UART-ом в Mega64.


CodeVision не юзаю, но можно так
Код
void printf_2( char const* fmt, ... )
{
    char buff[100]; // или malloc
    va_list uk_arg;
    va_start( uk_arg, fmt );
    int len = vsnprintf( buff, sizeof( buff ) - 1, fmt, uk_arg );
    assert( len > ( sizeof( buff ) - 1 ) );
    uart2.send( buff, len );
}
messenger
вы упростили до минимума)
изначально функция позволяет выводить любые типы переменных с возможнстью форматирования
megajohn
Цитата(messenger @ May 11 2014, 12:33) *
вы упростили до минимума)
изначально функция позволяет выводить любые типы переменных с возможнстью форматирования


это вы не увидели vsnprintf, которая всё и делает
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.