-
Data: 2017-10-31 09:07:47
Temat: Re: programowanie w C - bardzo ogólne pytanie o filozofię. Arduino w roli programatora pralki
Od: Mateusz Viste <m...@w...tell> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Mon, 30 Oct 2017 21:44:06 +0100, ToMasz wrote:
> ale to nie jest wskazówka. pisanie że goto jest do zastąpienia w inny
> sposób już od lat 70 to też nie wskazówka. a analiza mojej rodziny to
> już granica dobrego wychowania.
Kopiesz się z koniem - nie wygrasz :)
Koń (lub troll) - ma to do siebie że w kopaniu się ma dużą wprawę, tyle
że na tym kończą się jego umiejętności. Nie trać czasu - użyj killfile.
> no więc prosiłem o napisanie jak w c obejść goto (gosub)
Mowa tutaj o pralce, a nie o kontrolerze lotów kosmicznych, więc nie ma
sensu wiele kombinować. Jeśli goto pasuje do tego co chcesz osiągnąć i
działa - nie ma powodu by go nie użyć. Zawsze najsłuszniej korzystać z
narzędzi które się zna i nad którymi ma się kontrolę.
Nie jestem co prawda jednym z tych zagorzałych przeciwników goto, ale sam
raczej w tym kontekście zrobiłbym to inaczej: "program" pralki to nic
innego jak ciąg różnych akcji o pewnej długości. Być może coś takiego
miałoby sens:
void wirowanie(int czas, int szybkosc) {
...
}
void plukanie(int czas, int szybkosc) {
...
}
void grzanie(int temperatura) {
for (;;) {
int t = zmierz_temp_wody();
if (t >= temperatura) break;
wlacz_grzalke();/* grzałka jest "włączana" w kółko, gdyż z */
/* powodów bezpieczeństwa wyłącza się sama */
/* po kilkunastu sekundach bez sygnału */
sleep(5);
}
wylacz_grzalke();
}
void pranie(int czas, int szybkosc) {
...
}
Czyli definiujesz zestaw funkcji które odpowiadają za "podstawowe"
czynności które pralka potrafi wykonać. Następnie programujesz cykle
wywołując powyższe funkcje w odpowiedniej kolejności i ze stosownymi
parametrami:
void program_prawie_czysta_odziez(void) {
grzanie(40);
pranie(600, 600);
plukanie(60, 400);
wirowanie(60, 800);
}
void program_mega_brud(void) {
grzanie(70);
pranie(600, 600);
plukanie(120, 800)
grzanie(70);
pranie(900, 800);
plukanie(120, 800);
wirowanie(60, 1000);
}
void program_moja_flanelowa_koszula(void) {
grzanie(40);
pranie(900, 400);
plukanie(120, 400);
wirowanie(60, 400);
}
Mateusz
Następne wpisy z tego wątku
- 31.10.17 11:09 Piotr Gałka
- 31.10.17 18:01 slawek
- 31.10.17 18:15 slawek
- 31.10.17 18:40 slawek
- 31.10.17 20:32 Piotr Gałka
- 31.10.17 22:34 ToMasz
- 01.11.17 03:37 Jacek Radzikowski
- 01.11.17 08:00 slawek
- 01.11.17 08:03 slawek
- 01.11.17 09:04 jacek
- 01.11.17 17:21 Jacek Radzikowski
- 01.11.17 21:06 slawek
- 01.11.17 21:07 slawek
- 01.11.17 21:09 slawek
- 01.11.17 21:46 Jacek Radzikowski
Najnowsze wątki z tej grupy
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
Najnowsze wątki
- 2025-01-20 Gdańsk => Programista Full Stack .Net <=
- 2025-01-20 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-20 Warszawa => Full Stack .Net Engineer <=
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)