Альтернативный arduino монитор для отладки кода.
Выводит бинарные данные в десятичном или шестнадцатеричном виде , а не в символьном как в родном IDE.
Отправлять в порт можно значения от 0 до 255(0xFF) за одну посылку.
Отправлять можно даже если прием данных установлен на паузу.
Для отправки данных можно нажать кнопку "Send" или кнопку Enter на клавиатуре
Написал тестовый Скетч для проверки Carduino Monitor
Отправляемые из порта значения будут влиять на яркость светодиода D13
И будут возвращатся из Arduino и отображатся в Carduino мониторе
PHP код:
#define D13_High PORTB |=B00100000
#define D13_LOW PORTB &= B11011111
volatile unsigned int tcnt2;
volatile byte pwm_time;
byte bytes[] = {10};
void setup()
{
TIMSK2 &= ~(1<<TOIE2); //разрешения прерывания по переполнению таймера/счетчика Т2
TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика
TCCR2B &= ~(1<<WGM22);// Режим работы таймера/счетчика
ASSR &= ~(1<<AS2); //Выбор источника синхронизации таймера если AS2=0 от системного генератора
tcnt2 = 251; // 16000000/31000/64=8 tcnt2=256-8=248.
TIMSK2 |= (1<<TOIE2);//Разрешение прерывания по переполнению Т2.
Serial.begin (115200);
}
void loop()
{
if (Serial.available() > 0) bytes[0] = Serial.read(); // прочитать данные
Serial.write( bytes,1); //отправить данные
}
//****************обработчик прерывания********************
ISR(TIMER2_OVF_vect)
{
TCNT2 = tcnt2;
pwm_time++;
if(bytes[0] > pwm_time) D13_High; else D13_LOW;
}