Strona 1 z 1
Arduino BT - wykrywanie sparowania...
: czwartek 07 lut 2019, 16:05
autor: Jakub Jewuła
HEJ
Podlaczylem do Arduino BT zeby przesylac sobie dane radiem a nie gonic po karte SD.
Transmisja dziala. Brakuje mi tylko jednego - jak z poziomu Arduino rozpoznac ze:
a) cos sie sparowalo z BT,
b) terminal na tym czyms jest gotowy do odbioru danych.
...
PS. OK wiem. Pin STATE przyjmuje wartosc HIGH jesli adapter jest sparowany ORAZ jest aktywny terminal odbierajacy...
Fajnie :)
Nie do konca, zawiesilem sie na tym, ze warunek IF sprawdzajacy czy STATE=HIGH nie dziala poprawnie.
Podlaczylem STATE do wejscia analogowego 2, gdy STATE = high, wartosc odczytu wynosi u mnie 667.
Kod: Zaznacz cały
if (analogRead(2) > 500); {
if (SD.begin(10)) { // jesli jest karta
File dataFile = SD.open("pomiary.csv");
if (dataFile) {
LCD_Line1("Przesylam dane ");
LCD_Line2("przez BT ");
while (dataFile.available()) {
Serial3.write(dataFile.read());}
dataFile.close();
delay(100);
}
}
}
Problem w tym, ze analogRead(2) = 0 a mimo to, zawarosc IF jest realizowana - program probuje wyslac dane na BT...
Zglupialem - dlaczego program wchodzi w IF pomimo niespelnienia warunku?
q
Re: Arduino BT - wykrywanie sparowania...
: czwartek 07 lut 2019, 18:14
autor: pawelsky
Srednik
Re: Arduino BT - wykrywanie sparowania...
: czwartek 07 lut 2019, 18:25
autor: Jakub Jewuła
Dzieki!
Jak ja nie cierpie skladni C++. Po grzyba te sredniki i klamry? :(
q
Re: Arduino BT - wykrywanie sparowania...
: środa 13 lut 2019, 20:38
autor: df2
Lepszy BASIC? Z numerowanymi liniami?
ja kiedyś tak myślałem...
Re: Arduino BT - wykrywanie sparowania...
: środa 13 lut 2019, 22:02
autor: Jakub Jewuła
Nie - Brainfuck jest lepszy.
A powazniej - potrafisz podac jakis racjonalny powod dla uzywania {}? Ja nie.
Gdyby zamiast :
bylo:
To co zlego by sie stalo? Program bylby czytelniejszy.
Ile ja czasu zmarnowalem szukajac bledu gdy jaka pier....a klamerka byla w zlym miejscu...
q
Re: Arduino BT - wykrywanie sparowania...
: sobota 16 lut 2019, 23:25
autor: df2
Tak. Brainfuck rządzi. Aż mi się przypomniało pisanie os dla risc na laborkach...
Klamerki to takie podprocedury.
Wystarczy zastosować wcięcia podczas pisania programu i wszystko staje się czytelne.
Jeśli masz tylko jedną instrukcję do wykonania warunkowego, to są niepotrzebne - można tak się umówić.
Ale ktoś o tym dużo myślał i są, bo są potrzebne. Da się wszystko zrobić pewnie też w innym języku. Ale przyzwyczaisz się, zobaczysz.
BTW do Twojego przykładu wcięcia aż się proszą, kod byłby czytelniejszy i uniknalbys błędu.
Re: Arduino BT - wykrywanie sparowania...
: niedziela 17 lut 2019, 08:01
autor: Jakub Jewuła
Ja mam przeciwne wrażenie - im więcej zagnieżdżonych warunków tym ciemniej mi się przed oczami robi od samych klamerek :)
Żeby potem jeszcze kompilator dawał jednoznaczny komunikat o błędzie, ale nie - to by było zbyt proste :)
Pluje się, że błąd, szukam pół godziny - okazuje się, ze któraś z dziesięciu klamerek jest w złym miejscu :)
Co gorsza złe postawienie klamerki może nie generować błędu tylko ominiecie warunku etc...
W desperacji zacząłem nawet myśleć o napisaniu translatora z języka ludzkiego na klamerekowy - żeby można
było pisać kod po ludzku, a przed kompilowaniem translator tłumaczył na mudźiński ;)
q
Re: Arduino BT - wykrywanie sparowania...
: niedziela 17 lut 2019, 09:42
autor: kuczy
Jakub Jewuła, jak będziesz pisał w jakimś innym edytorze - na inne procki (chociaz pewnie na ardu tez sie da), to klamerki pozwolą na "zwiniecie" kodu ktory ciebie aktualnie nie interesuje, albo zaznaczenie gdzie jest "zasieg" danej klamerki.
Ja ostatnio pisałem w Pythonie Bardzo prostą apke i juz się zacząłem wkurzac na wcięcia - póki piszesz kod bez zmian to jest ok, ale jak część kodu chcesz objąć po jego napisaniu osobnym warunkiem, albo dwoma zagniezdzonymi - to cholera bierze z tymi wcięciami - więcej czasu zajmuje taka kosmetyka aniżeli dodanie 2-4 klamr.
- Oczywiście przy klamrach też wcinam kod, ale najczęściej taką kosmetykę stosuję na koniec, i bez znaczenia jest czy dam jednego "taba" dwie czy trzy spacje czy ktokolwiek... byle było czytelne
Re: Arduino BT - wykrywanie sparowania...
: niedziela 17 lut 2019, 13:40
autor: pawelsky
Jakub Jewuła pisze:W desperacji zacząłem nawet myśleć o napisaniu translatora z języka ludzkiego na klamerekowy - żeby można
było pisać kod po ludzku, a przed kompilowaniem translator tłumaczył na mudźiński ;)
Przychodzi na mysl powiedzenie o pewnej baletnicy...
Re: Arduino BT - wykrywanie sparowania...
: niedziela 17 lut 2019, 18:11
autor: majek
Jak ktoś próbuje wbijać gwoździe kuflem od piwa, to wiadomo, że nie obędzie się bez problemów ;)
Trzeba po prostu odpowiedniego narzędzia do danej pracy. W tym wypadku trzeba po prostu zacząć używać jakiegoś edytora dla programistów, który bedzie sam uzupełniał nawiasy, wciecia, podświetlał i podpowiadał składnię.
U mnie w pracy większość używa Atom-a (jest na każdy system).
Ja osobiście używam Notepadqq, bo jest mniejszy i nie przeszkadza mi brak pewnych 'ficzerów'. Ale składnię podświetla, a sekcje jest w stanie pozwijać.