Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'switch'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino, ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - roboty
    • Projekty - DIY
    • Projekty - DIY (początkujący)
    • Projekty - w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Znaleziono 2 wyniki

  1. Witam! Pewnie problem na zasadzie początkującego użytkownika STM32 ale co poradzę - wystąpił ! Mianowicie, mam podłączone 3 przyciski do STM32F103CBT6, przyciski podłączone z rezystorem pull-up i poprzez kondensator filtrujący. W procesorze włączony również pull-up na wejściu od przycisku. Reakcja na wciśnięcie (zbocze opadające) miała być uruchamiana z wykorzystaniem przerwań zewnętrznych. I tu pojawia się problem bo o ile program nie zajmuje się czymś innym albo tylko jakimiś drobnymi rzeczami to wszystko jest w porządku - reakcja następuje od razu. Jeśli tylko zacznę np. więcej rzeczy wyświetlać na OLEDzie to reakcja następuje losowo. Wszystkie przerwania mają priorytety i grupy ustawione na 0. Dodam, że sprawdzałem na oscyloskopie czy występują jakiekolwiek drgania styków - zbocze opadające jest gładziutkie, nie ma możliwości, ze tu coś jest nie halo. Program pisany w HALu tak jak w kursie Forbota. Jeśli będzie potrzeba to dodam listing. Dodatkowo również w ten sam sposób uruchomione są przerwania z zewnętrznego urządzenia i tam wszystko śmiga, no a na przyciskach nie chce - ciekawe. Proszę o jakieś sugestie co to może być, czy ktoś się z czymś spotkał.
  2. Witam, Natknąłem się problem z odpowiednim wykonywaniem warunków w funkcji SwitchCase. w poniższym kodzie program nie chce wejść w case 2, oraz case 3. void sensorTypeUpDate () { switch (actualSensor) { case 1: Serial.print("wszedl w 1 petle"); int odczyt = analogRead(lightSensor); light = map(odczyt, 0, 1023, 0, 100); sensorType = "Jasnosc:"; sensorValue = String(light) + "%"; break; case 2: Serial.print("wszedl w 2 petle"); humidity = dht.getHumidity(); if (dht.getStatusString() == "OK") { sensorType = "Wilgotnosc:"; sensorValue = String(humidity) + "RH%"; } break; case 3: Serial.print("wszedl w 3 petle"); temperature = dht.getTemperature(); if (dht.getStatusString() == "OK") { sensorType = "Temperatura:"; sensorValue = String(temperature) + "*C"; } break; } } Linia Serial.print potrzebna mi była do sprawdzenia czy program wchodzi w dany warunek. O dziwo gdy zmienię kolejność warunków program działa poprawnie. Nie jest to pierwszy raz, jak się z tym spotykam. Poniższy kod działa. void sensorTypeUpDate () { switch (actualSensor) { case 3: Serial.print("wszedl w 3 petle"); temperature = dht.getTemperature(); if (dht.getStatusString() == "OK") { sensorType = "Temperatura:"; sensorValue = String(temperature) + "*C"; } break; case 2: Serial.print("wszedl w 2 petle"); humidity = dht.getHumidity(); if (dht.getStatusString() == "OK") { sensorType = "Wilgotnosc:"; sensorValue = String(humidity) + "RH%"; } break; case 1: Serial.print("wszedl w 1 petle"); int odczyt = analogRead(lightSensor); light = map(odczyt, 0, 1023, 0, 100); sensorType = "Jasnosc:"; sensorValue = String(light) + "%"; break; } } Z góry dziękuje za pomoc.
×
×
  • Utwórz nowe...