Skocz do zawartości

mareq

Użytkownicy
  • Zawartość

    5
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O mareq

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Bielsko-Biała
  1. Przerobiłem twój program: void setup() { pinMode(8, OUTPUT); //Konfiguracja pinu 8 jako wyjscie pinMode(7, OUTPUT); } void loop () { digitalWrite(8, HIGH); //włączenie diody digitalWrite(7, HIGH); delay(1000); // odczekanie 1 sekundy digitalWrite(8, LOW); //Wyłączenie diody digitalWrite(7, LOW); delay(1000); //odczekanie jednej sekundy }
  2. Chodzi mi o kod dostępny jako przykład dla enkodera od WaveShare: #define PinA 2 #define PinB 3 unsigned long time = 0; long count = 0; long num = 0; void setup() { Serial.begin(9600); pinMode(PinA,INPUT); pinMode(PinB,INPUT); attachInterrupt(0, blinkA, LOW); attachInterrupt(1, blinkB, LOW); time = millis(); } void loop() { while (num != count) { num = count; Serial.println(num); } } void blinkA() { if ((millis() - time) > 3) count ++; time = millis(); } void blinkB() { if ((millis() - time) > 3) count --; time = millis(); } Ten kod w realu działa, spawdzone. Po pierwsze: dlaczego przerwanie aktywowane jest stanem a nie zboczem. Toż to te przerwania powinny się wykonywać niemal na okrągło. Po drugie: n=mamy funkcję "blinkA", która zwiększa licznik oraz "blinkB", która zmniejsza. Przecież kręcąc osią enkodera w jedną stronę stan niski pojawia się sekwencyjnie na obu wejściach a tymczasem licznik zlicza właściwie a na chłopski rozum nie powinien. Gdzie robię błąd w rozumowaniu?
  3. Sprawiłem sobie nowy komputer z windows 10 i teraz gdy tworzę projekt w cubemx lub eclipse to mam problem ze ściągnięciem firmware do HAL. Całość ściąga się, rozpakowuje a potem wyskakuje mi błąd związany prawdopodobnie z prawami dostępu do folderu, w którym pliki mają wylądować. Znacie jakieś rozwiązanie? Wszystko robię na koncie administratora. Próbowałem również uruchamiać eclipse i cubemx z prawym klawiszem jako administrator.
  4. Mimo istnienia elementów RC w obwodzie klawisza "User" u mnie daje się odczuć drgania styków. Zastanawiam się jak najlepiej rozwiązać debouncing. Z tego co widzę flaga przerwania jest kasowana przed wywołaniem funkcji callback. Modyfikować pliki biblioteczne, czy da się temu zaradzić we własnych plikach?
  5. Witam. Osobiście przerabiam ten kurs na stm32f0 discovery. Do tej pory większość zmian to była kosmetyka. Teraz utknąłem na: i2c.I2C_ClockSpeed = 100000 SPL dla F0 nie przewiduje tej opcji. Jak to obejść?
×
×
  • Utwórz nowe...