-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!usenet.goja.nl.eu.or
g!aioe.org!fJ3fCem/Ge388nCVHersJA.user.46.165.242.75.POSTED!not-for-mail
From: Mateusz Viste <m...@x...invalid>
Newsgroups: pl.misc.elektronika
Subject: Re: AVR po latach
Date: Fri, 19 Nov 2021 08:57:19 +0100
Organization: . . .
Message-ID: <20211119085719.54466a8e@mateusz>
References: <smreh5$3aj$1@dont-email.me> <61938d47$0$518$65785112@news.neostrada.pl>
<a...@n...neostrada.pl>
<619508e5$0$552$65785112@news.neostrada.pl>
<a...@n...neostrada.pl>
<sn3drv$13k$2@dont-email.me>
<a...@n...neostrada.pl>
<sn3h62$qna$1@dont-email.me>
<a...@n...neostrada.pl>
<sn3lbt$q5v$1@dont-email.me>
<0...@g...com>
<sn5ul0$2vi$1@dont-email.me> <2...@m...lan>
<sn602a$cil$1@dont-email.me> <20211118180102.29f911cc@mateusz>
<sn61hi$q5d$1@dont-email.me> <20211118182857.67ab36fc@mateusz>
<sn632k$7cr$1@dont-email.me> <20211118191941.5cd5cbc8@mateusz>
<sn66n0$2i0$1@dont-email.me> <20211118203536.2ed957df@mateusz>
<1eohq79peodw1.1sh0vipcxxlku$.dlg@40tude.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Injection-Info: gioia.aioe.org; logging-data="36015";
posting-host="fJ3fCem/Ge388nCVHersJA.user.gioia.aioe.org";
mail-complaints-to="a...@a...org";
X-Newsreader: Claws Mail 3.18.0 (GTK+ 2.24.32; x86_64-suse-linux-gnu)
X-Notice: Filtered by postfilter v. 0.9.2
Xref: news-archive.icm.edu.pl pl.misc.elektronika:768509
[ ukryj nagłówki ]2021-11-18 o 20:56 +0100, J.F napisał:
> Jak mam obsluge bledow w funkcji, to sie zaczynaja wyjscia mnozyc.
> Bo bledow moze byc mnostwo - np brak portu, brak prawa dostepu do
> portu, brak odpowiedzi w zalozonym czasie, niezrozumiala odpowiedz,
> zgloszony bład przez urzadzenie na porcie, błędna wartosc.
W tym wypadku też mnogość wyjść może być problemem, bo szybko wychodzą
tego typu rzeczy:
if (!alokuj_bufor()) return(fail);
if (!otworz_port()) {
zwolnij_bufor();
return(fail);
}
if (!napisz_na_port()) {
zwolnij_bufor();
zamknij_port();
return(fail);
}
if (!odbierz_z_portu()) {
zwolnij_bufor();
zamknij_port();
return(fail);
}
i prędzej czy później o czymś zapomnisz. Tzn. może nie ty, ale ja
na pewno. Zamiast tego można w ten sposób:
void *buf = NULL;
int port = 0;
buf = alokuj_bufor();
if (!buf) goto poleglem;
if (!napisz_na_port() goto poleglem;
if (!odbierz_z_portu() goto poleglem;
return(sukces);
poleglem:
if (buf) zwolnij_bufor();
if (port) zamknij_port();
return(fail);
albo, jeśli kto naprawdę uczulony na goto, to całość ubrać w jakąś
niby-pętlę która wykonuje się raz, a wychodzić z niej breakiem... Ale
to już kombinowanie na siłę, aby tylko nie zhańbić się goto przed
pryszczatą młodzieżą.
Mateusz
Następne wpisy z tego wątku
- 19.11.21 09:33 Mateusz Viste
- 19.11.21 09:43 J.F
- 19.11.21 09:44 heby
- 19.11.21 10:01 Mateusz Viste
- 19.11.21 10:18 heby
- 19.11.21 10:53 J.F
- 19.11.21 10:59 Mateusz Viste
- 19.11.21 11:07 Mateusz Viste
- 19.11.21 11:34 Mateusz Viste
- 19.11.21 13:37 Astralny Rębajło
- 19.11.21 17:08 heby
- 19.11.21 20:38 Mateusz Viste
- 19.11.21 21:19 heby
- 19.11.21 21:54 Mateusz Viste
- 19.11.21 22:00 Marek
Najnowsze wątki z tej grupy
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
Najnowsze wątki
- 2025-02-06 PROGRAM DOPŁAT DO AUT ELEKTRYCZNYCH TO ABSURD. ZA ŚRODKI Z KPO KUPIMY NIEMIECKIE I CHIŃSKIE AUTA
- 2025-02-05 ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-07 Smar do video
- 2025-02-06 Litowe baterie AA Li/FeS2 a alkaliczne
- 2025-02-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-07 Warszawa => System Architect (Java background) <=
- 2025-02-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-07 Warszawa => Solution Architect (Java background) <=
- 2025-02-07 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-07 Lublin => Programista Delphi <=
- 2025-02-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-07 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-07 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo