21-12-2020, 20:01
Drodzy forumowicze.
Mam problem z kodem. Mianowicie po kompilacji otrzymuję komunikat:
warning: invalid conversion from 'int' to 'void (*)()' [-fpermissive] attachInterrupt(digitalPinToPinChangeInterrupt(2), zO, FALLING);
Efekt jaki chcę uzyskać to detekcja zbocza opadającego, przerwa i powrót do wykonywania kodu. Niestety ciągle wyrzuca ostrzeżenie. W czym tkwi błąd? Wczytuję się dostepne materiały lecz nie wiem jak z tego wybrnąć.
int odczytanaWartosc = 0;
int czas = 0;
int x = 0;
volatile int zO;
const int podajImpuls = 8;
int time = 0;
#include "PinChangeInterrupt.h"
void setup()
{
pinMode(6, OUTPUT);
pinMode(5, INPUT_PULLUP);
attachInterrupt(digitalPinToPinChangeInterrupt(2), zO, FALLING); //detekcja zbocza opadajacego
}
void loop(void)
{
void zO();
{
time==5;
return;
}
if (digitalRead(5) == LOW) //
{
digitalWrite(6, HIGH); //praca
delay(czas);
}
else {
digitalWrite(6, LOW); //Wyłączenie
}
Mam problem z kodem. Mianowicie po kompilacji otrzymuję komunikat:
warning: invalid conversion from 'int' to 'void (*)()' [-fpermissive] attachInterrupt(digitalPinToPinChangeInterrupt(2), zO, FALLING);
Efekt jaki chcę uzyskać to detekcja zbocza opadającego, przerwa i powrót do wykonywania kodu. Niestety ciągle wyrzuca ostrzeżenie. W czym tkwi błąd? Wczytuję się dostepne materiały lecz nie wiem jak z tego wybrnąć.
int odczytanaWartosc = 0;
int czas = 0;
int x = 0;
volatile int zO;
const int podajImpuls = 8;
int time = 0;
#include "PinChangeInterrupt.h"
void setup()
{
pinMode(6, OUTPUT);
pinMode(5, INPUT_PULLUP);
attachInterrupt(digitalPinToPinChangeInterrupt(2), zO, FALLING); //detekcja zbocza opadajacego
}
void loop(void)
{
void zO();
{
time==5;
return;
}
if (digitalRead(5) == LOW) //
{
digitalWrite(6, HIGH); //praca
delay(czas);
}
else {
digitalWrite(6, LOW); //Wyłączenie
}