А чей та за глюк такой интересный на ровном месте, в мигании диодом ?

vlkam
Offline
Зарегистрирован: 17.02.2013

Так работает

void loop()
{
    const char *msg = "hello";
    digitalWrite(13, true ); // Flash a light to show transmitting
    Serial.println("test");
    digitalWrite(13, false);
    delay(200);
}

а вот так не работает

void loop()
{
    const char *msg = "hello";
    digitalWrite(13, true ); // Flash a light to show transmitting
    
    //Serial.println("test");

    digitalWrite(13, false);
    delay(200);
}

 

vlkam
Offline
Зарегистрирован: 17.02.2013

 Полный текст рабочей программы

#include <VirtualWire.h>

void setup()
{
    Serial.begin(9600);	  // Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    //vw_set_ptt_inverted(true); // Required for DR3100
    //vw_setup(2000);	 // Bits per sec
}

void loop()
{
    const char *msg = "hello";

    digitalWrite(13, true ); // Flash a light to show transmitting
 

    Serial.println("test");
    
    //vw_send((uint8_t *)msg, strlen(msg));
    //vw_wait_tx(); // Wait until the whole message is gone
    digitalWrite(13, false);
    delay(200);
}

 

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

А в чем проблема то?

Он у вас горит, только очень кроткое время. Присмотритесь в темноте, может увидите.

leshak
Offline
Зарегистрирован: 29.09.2011

В первом варианте Serial.println("test"); 
дает вам небольшую задержку между между "включили диод" и "выключили". Выполнение println - занимает какое-то время.
А во втором - задержки нет. Включили диод и сразу выключили. Тупо не успевает загореться.

leshak
Offline
Зарегистрирован: 29.09.2011

Сделайте delay(200) не в конце, а перед digitalWrite(13, false);

vlkam
Offline
Зарегистрирован: 17.02.2013

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