Проблема с printf или serial?

coockie
Offline
Зарегистрирован: 24.04.2017

Переустановил компилятор ардуино и появились проблемы с выводом в ком-порт (монитор порта, использую для отладки). Для вывода использовал printf  и serial ( файл "printf.h"  на всякий случай привожу ниже),

после проявления проблемы программа гонит в порт набор бессмысленных символов то-ли на другой скорости, то ли с другим фреймом. В программе serial инициализирован Serial.begin(57600);

До переустановки компилятора дуино платы на ком-портах отображались как prolific COM, а после переустановки используется встроенный драйвер.

Посмотрел в windows настройки портов по умолчанию -  9600, 8,N,1.   Установил на всякий случай 57600, 8,N,1 - ничего не изменилось, да и не ожидалось тк инициализация порта на 57600 происходит в программе.

PS: сейчас уже не помню по какой причине был вынужден когда-то поместить файл printf.h в один каталог с текстом основной программы (по-моему компилятор не находил его), но все до переустановки компилятора все работало.

/*
 Copyright (C) 2011 J. Coliz <maniacbug@ymail.com>
 
 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License
 version 2 as published by the Free Software Foundation.
 */
 
/**
 * @file printf.h
 *
 * Setup necessary to direct stdout to the Arduino Serial library, which
 * enables 'printf'
 */

#ifndef __PRINTF_H__
#define __PRINTF_H__

#ifdef ARDUINO

int serial_putc( char c, FILE * ) 
{
  Serial.write( c );

  return c;
} 

void printf_begin(void)
{
  fdevopen( &serial_putc, 0 );
}

#else
#error This example is only for use on Arduino.
#endif // ARDUINO

#endif // __PRINTF_H__


 

 

 

 

 

 

coockie
Offline
Зарегистрирован: 24.04.2017

Посоветуйте как восстановить работоспособность монитора порта, очень нужно для отладки