Skocz do zawartości

Zmienne millis, prośba o pomoc


SOYER

Pomocna odpowiedź

Chłopaki miejcie litość, uczę się programować od 10 dni. W wolnym czasie między pracą, trójką dzieci i żoną.

Ethanak daruj Elvisowi, chłop jest wymagający ale bardzo pomocny.

Dzięki za wszelkie sugestie.

Link do komentarza
Share on other sites

SOYER, gratuluję programu, nie zamierzam więcej o stylu kodowania pisać. Po prostu nie chciałem żebyś uczył się ze złych przykładów.

ethanak, nie wiem co Ci odpisać - poza tym że życzę powodzenia z takim podejściem. Może w małym, amatorskim projekcie to zadziała ale jak spróbujesz tak pisać coś na poważnie szybko zmienisz zdanie. Albo chociaż padniesz ze szczęścia jak dostaniesz od kogoś taki kod do zmian.

Link do komentarza
Share on other sites

No ale to, że instrukcja podstawienia oddaje wartość było celowym zamysłem twórców C i zostało zrobione po coś. W moim rozumieniu właśnie m.in. do takich celów. C nie musi wyglądać jak nadobny Algol. Dla każdego kto C zna i rozumie, konstrukcja ethanaka jest oczywista. A nieczytelność kodu powstaje (pomijając konkursy i celowe działania) z bezsensownych nazw zmiennych, idiotycznego formatowania czy używania konstrukcji np. ewidentnie niepasujących do algorytmu. To właśnie zakłóca naturalny flow odczytywania obcego kodu. Choć być może jest to dyskusja o tym który kolor jest ładniejszy..

No i szacun SOYER za zacięcie. A biegłość w formułowaniu kodu w C przyjdzie z czasem, język jak każdy inny, trzeba w nim gadać.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dzięki chłopaki za dobre słowo, nie jedźcie za bardzo po Elvisie 😉 , gdyby nie on nie wiedziałbym dalej o co chodzi z millis...

Elvis pisz, poprawiaj, krzycz, UCZ MNIE DALEJ 😃 . Co znaczą Twoje słowa: "ale używanie przypisania w parametrach wywołania funkcji nie świadczy dobrze o kodzie", pokaż mi konkretny fragment, bo nie wiem o czym dyskutujecie 🙁 .

Pytałem też o to czy delay wstrzymuje odliczanie millis? czy millis liczy zawsze od początku uruchomienia i nic na ten czas nie wpływa?

Link do komentarza
Share on other sites

@Elvis: wybacz, parę programów C napisałem, nie mam zamiaru na tym forum się chwalić (bo zmierzenie się z robotyką to dla mnie nowe pole do eksperymentów) - ale znajdź sobie któregoś pięknego dnia programik o wdzięcznej nazwie "Milena". Potem pogadamy o pisaniu amatorskich programów na poważnie.

A SOYERowi gratuluję - tak trzymać!

(Edytka) @SOYER: delay ani żadna inna funkcja nie blokuje odliczania millis/micros. Do tego musiałbyś zablokować przerwania na dłuższy czas.

Jedyna znana mi biblioteka która to robi to NeoPixel w wersji Adafruit - ale to wynika z wymagań podłączonego hardware'u.

Link do komentarza
Share on other sites

Ethanak chodziło ci by to:

if (stanz == LOW) { 
     stanz = HIGH; 
   } else { 
     stanz = LOW; 
   } 
  digitalWrite(zielona, stanz); 

zastąpić: digitalWrite(zielona, stanz =!stanz);

w sumie krócej 😅 ale niepoprawnie?

Link do komentarza
Share on other sites

SOYER, cała dyskusja dotyczy kod zaproponowanego przez ethanak-a. Twój program zaginął w potoku postów.

marek1707, nie do końca się z Tobą zgodzę. C zawiera wiele kontrukcji, których użycie nie zawsze jest wskazane, jak chociażby słynne goto (które czasem bardzo się przydaje). Nie należy używać wszystkiego tylko dlatego że można. Natomiast to co uważam za nieopranwe jest zanegowanie zmiennej przekazywanej jako kolejny parametr wywołania. Taki kod jest mało czytelny jeśli czytamy większy kod i łatwo jest w nim popełnić błąd. A co do stylu kodowania to każdy może mieć własny, są jednak pewne zalecenia i sprawdzone reguły - których czasem warto się trzymać.

ethanak, nie tylko Ty napisałeś w życiu kilka programów, ale skoro chwalimy się osiągnięciami to może podasz linka do tej Mileny? Nazwa niezbyt wdzięczna do wyszukiwania 🙂

Link do komentarza
Share on other sites

Nie.

Operator negacji logicznej (inaczej wykrzyknik) działa wyłącznie na typach int. Float będzie skonwertowany na int - a to nie zawsze wychodzi na zdrowie... Np. 0.0031 skonwertowane na int to będzie zero... A pewnie nie tego byś chciał.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.