Skocz do zawartości

Programowanie ATmegi328


akimata

Pomocna odpowiedź

To co Twoim zdaniem jest problemem? W pewnym momencie po prostu mikrokontroler sie zawiesza, nie wystawia zadnych napięc nic sie nie dzieje. Zauwazylem tez znaczne spadki napięc ;/

Link do komentarza
Share on other sites

Transmiter

#include <VirtualWire.h>
int guzik=4;
void setup()
{
 pinMode(guzik, OUTPUT); 
 vw_set_tx_pin(9);
   vw_setup(2000);	 // Bits per sec
}

void loop()
{
 char *msg;
 digitalWrite(13, true);

if (digitalRead (guzik)==HIGH) {msg="on"; }
else {msg="off"; } ;

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

Receiver

#include <VirtualWire.h>
int LED=2;
boolean LEDON=false;
char stan;
void setup()
{

 Serial.begin(9600);
 pinMode (LED,OUTPUT);
 vw_setup(2000);	 
 vw_set_rx_pin(4);
 vw_rx_start();     
}

void loop()
{
   uint8_t buf[VW_MAX_MESSAGE_LEN];
   uint8_t buflen = VW_MAX_MESSAGE_LEN;

   if (vw_get_message(buf, &buflen)) 
   {
int i;
      String stan;
 	for (i = 0; i < buflen; i++)
 { 
 stan +=char(buf[i]);
 }
    if ( stan =="on")
    {

digitalWrite (LED, HIGH);
 delay(100);
  }
  else
  {
   digitalWrite (LED, LOW);
  }
  } }
Link do komentarza
Share on other sites

Myślałeś może, żeby ten kod trochę sformatować, żeby to się dało czytać?

Zakładam, że "zawiesza" ci się odbiornik?

Jesteś pewien, że powinieneś do "stan" przepisywać wszystkie "buflen" bajtów? Zastanów się co się stanie jak najpierw wyślesz dłuższy ciąg znaków, a po nim krótszy? Jaka będzie wtedy zawartość bufora?

Może wstaw tam parę Serial.print() żeby zobaczyć dokładnie co się dzieje?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.