Skocz do zawartości

mkopek

Forumowicze
  • Liczba zawartości

    13
  • Rejestracja

  • Ostatnia wizyta

Odpowiedzi dodane przez mkopek


  1. Ja bym zaczal od dania Speed jako volatile, bo w petli sie ono nigdzie nie zmienia i kompilator nie ma powodu odczytywac Speed z RAMu. Albo jeszcze lepiej, przenies obliczanie Speed do loop(). Zastanawiam sie po co przestawiales PWM na 30 kHz? Czy standardowe 490 HZ nie bylo by OK? Tak jak pytał przedmowca jakie wartosci counterStan pokazuje? Sprawdziles czy LiquidCrystal_I2C nie uzywa Timer2, ewentualnei jakos w niego ingeruje? Lub w timer1, uzywany przez twoje przerwanie? Sprawdzales jak sie zmienia napiecie na silniku wraz ze zmiana ustawien? Czy przy większej predkosci kartonik nie odkształca się tak, ze sensor nie lapie wszystkich otworow? Skoro to wentylaor 4 pin, to nie ma on wbudowanego sensora obrotow?

    Edytka:

    Jeszcze zmien aktualTime i setTime na long unsigned, mozesz tez dla pewnosci timeToWait zmienić, bo nie wiem jak kompilator skonwertuje sume tych dwoch. Oczywiscie wiesz, ze nadal bedziesz mial przepelnienie po 50 dniach i przez sekunde petla while nie podziala prawidlowo (dwrotnie zadziala warunek if).

×
×
  • Dodaj nową pozycję...