GSM M590 тест сети при помощи библиотеке TimerOne

Тема в разделе "Arduino & Shields", создана пользователем Andrei brest, 7 окт 2016.

  1. Andrei brest

    Andrei brest Нерд

    Привет
    У меня новая проблема дело в том что хочу понять и научиться использовать таймер 1
    скачал библиотеку TimerOne.
    вот пример из этой библиотеки для работы одновременно 2 х светодиодов

    // Таймер 1 мигание 2 светодиодами одновремено
    Код (C++):
    #include <TimerOne.h>
    void setup()
    {
        pinMode(7, OUTPUT);
        pinMode(13, OUTPUT);

      Timer1.initialize(1000000); //время работы таймера 1 секунда
      Timer1.attachInterrupt( timerIsr ); // активация таймера

    }

    void timerIsr()//то чем упровляет таймер
    {
            digitalWrite(7, !digitalRead( 7 ));
    }

    void loop()
    {
      digitalWrite( 13, !digitalRead( 13 ));
      delay (2000);
    }
    а вот и проблема я взял за основу этот пример и хотел чтобы Ардуино УНО постоянно опрашивал gsm m590 о состоянии сети и если сеть ОК то вкл 13 пин
    А в основном цикле идет опрос кнопки (с этим в порядке )
    а УНО не хочет работать ПОЧЕМУ?????
    Код (C++):
    #include <SoftwareSerial.h>
    #include <TimerOne.h>
    SoftwareSerial gsm(7, 8); // RX, TX


    void setup() {
      Serial.begin(9600);
      gsm.begin(9600);
       pinMode(13, OUTPUT);
      Timer1.initialize(10000000); //время работы таймера 1 секунда
      Timer1.attachInterrupt( timerIsr ); // активация таймера
    }
    void timerIsr(){
      gsm.println("AT+COPS?");
       if(gsm.find("OK")){
        digitalWrite(13,HIGH);
       }
       else{ digitalWrite(13,LOW);
    }}

    void loop() {
       }
     
  2. Sturia

    Sturia Нуб

    #include <SoftwareSerial.h>
    #include <TimerOne.h>
    SoftwareSerial gsm(7, 8);// RX, TX


    void setup(){
    Serial.begin(9600);
    gsm.begin(9600);
    pinMode(13, OUTPUT);
    ___________________________________________________________________________
    Timer1.initialize(10000000);//время работы таймера 1 секунда*******ето не 1 секунда
    ___________________________________________________________________________
    Timer1.attachInterrupt( timerIsr );// активация таймера
    ************************************************************************************************************************
    надо написать Timer1.initialize(1000);