• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Leonardo + sim800H DFRobot
#1
Cześć,

czy ktoś mógłby mi wytłumaczyć dlaczego to:
Kod:
#include <sim800cmd.h>
Sim800Cmd sim800demo(fundebug);

void setup()
{
     while((sim800demo.sim800init()) == 0);
     delay(1000);
     sim800demo.setSMSEnablePrompt(OPEN);
     pinMode(13, OUTPUT);
     pinMode(0, INPUT);
}

void loop()
{
 if (digitalRead(0) == HIGH)
 {
   digitalWrite(13, HIGH);
   sim800demo.sendSMS("xxx","xxx");
   while(1);
   digitalWrite(13, LOW);
 }
}

void fundebug(void)
{
}

nie działa? To zmodyfikowana biblioteka do płytki DFRobot sim800H do wysyłania SMS. Założenie jest takie: po wciśnięciu przycisku tact swith (Pullup) zaświeca się dioda, wysłany jest sms, dioda gaśnie.

To działa:
Kod:
#include <sim800cmd.h>
Sim800Cmd sim800demo(fundebug);

void setup()
{
     while((sim800demo.sim800init()) == 0);
     delay(1000);
     sim800demo.setSMSEnablePrompt(OPEN);
}

void loop()
{
   sim800demo.sendSMS("xxx","xxx");
   while(1);
}

void fundebug(void)
{
}

Czy ktoś ma jakieś pomysły?

PS. W miejscach 'xxx' podałem swój nr telefonu i co ma wysłać, nie chciałem publikować tutaj.
 
Odpowiedź
#2
Wywal while(1);
To jest nieskończona pętla, która zatrzymuje program.
Ardu jest szybkie, a Ty nie zdążysz z wciśnięciem przycisku.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości