Siemka, robie kurs arduino na forbocie i nwm czemu jest błąd. Podam treść zadania i cały kod jaki mam

Zadanie domowe 4.5
Spróbuj napisać prostą gre. Po uruchomieniu programu należy przekręcić potencjometr w losowe miejsce i wcisnąć przycisk. Wtedy Arduino powinno wyświetlić na PC komunikat:

Podaj liczbę:
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@tomekszz: po pierwsze primo nie wklejaj kodu na wykop jest wiele dedykowanych stron np pastebin.

Po drugie primo wróć jak zaimplementujesz debouncing i asynchroniczny UART bo będziesz się dziwił czemu to się dziwnie zachowuje. Jak ci wolno w zadaniu użyć bibliotek to idź na skróty i użyj, do przycisków jest tego masa. Do uarta wystarczy przeczytać API Serial w dokumentacji Arduino.

Dopiero jak szkielet będzie poprawny można brać się za
  • Odpowiedz
String podanaliczba = 0; // liczba podana przez gracza

Zdaje się że powinno tu być 0 w " "
Problem leży gdzieś że próbujesz przypisać inta do stringa
  • Odpowiedz
@Hauleth: GPL można wykorzystywać wewnątrz firmy, jeśli nie dystrybuuje się aplikacji poza nią.

Oryginalnego wątku w którym o tym przeczytałem nie mogę znaleźć(chyba gdzieś na Reddicie), ale jest np. oferta z pracą z Apple dotycząca grzebaniu w kernelu Linux - https://jobs.apple.com/en-us/details/200141508/silicon-validation-software-engineer-linux-driver-and-kernel-developer (nie dotyczy serwerów jak w pierwszym linku, ale tworzeniu sterowników na SoC w szczególności ARM)
  • Odpowiedz
Mireczki podzielę się z Wami takim małym a przydatnym trickiem kucowniczym o którym jak mawiał mój mentor i autorytet moralny Klocuch12:

Mało ludzi wie, a dużo ludzi nie wie


Jak kiedyś będziecie potrzebowali testowej tablicy na przykład z przebiegiem wartości napięcia do liczenia wartości THD, sygnałem audio, czy co tam innego potrzebujecie to zapewne sobie taki przebieg wygenerujecie w Matlabie/Scilabie/Octave/Excelu i tera tak...

1.
QBA_ - Mireczki podzielę się z Wami takim małym a przydatnym trickiem kucowniczym o k...

źródło: comment_1599810823kYLaxF3dZVien7wr0RVggB.jpg

Pobierz
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#vscode #programowanie #jezykc #cpp

Jest taki fajny pliczek c_cpp_properties.json, tylko że niefajne jest to, że on jest per-workspace. A ja mam kilka predefiniowanych konfiguracji, które chcę mieć dostępne globalnie. W tej chwili linkuję w każdym projekcie globalny c_cpp_properties.json, który sobie gdzieś trzymam i wybieram odpowiednią.

Z tego, co udało mi się znaleźć, to raczej nie jest możliwe w tej chwili mieć tych
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@fefler: Nie. Wskaźniki są realizowane w zupełnie inny sposób. Tj. wskazują na obszar pamięci. Tu jest po prostu implementacja bardzo prymitywnej listy w zbliżony sposób, jak to się robi w C na wskaźnikach.
  • Odpowiedz
Cytat z książki o programowaniu w C:

Dobrze, ale w jaki sposób zdefiniować stałą symboliczną? Jednym z możliwych sposobów jest zadeklarowanie zmiennej i przypisanie jej odpowiedniej wartości. Wyglądałoby to tak:

float podatek;
podatek = 0.015
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@horus666: zalezy. Ogolnie pomysl zmiennej jest slaby, jak juz to stala bym dal, jest wieksza mozliwosc optymalizacji przy kompilacji.

Jesli chodzi o szybkosc dzialania, szybsze ma szanse (w zaleznosci od zastosowania) moze byc ten z #define W nowych kompilatorach podobna optymalizacje powinien dac const, a define jest bardziej niebezieczne - kompilator ma mniejsze szanse na wylapanie niektorych bledow, dodatkowo zajmujemy przestrzen nazw.
  • Odpowiedz
@horus666: preprocesor nie sprawdza typów. W pierwszym przykładzie chyba miało być const float.
Na przykładzie avr-gcc porównywałem kod asemblera, który wypuścił kompilator, i stwierdzam że:
1. kompilator umie wrzucić se wartość zmiennej do rejestru CPU i potem bezpośrednio z niego korzystać, nie odwołując się do RAM, nawet bez użycia volatile (*weź pod uwagę, że sprawdzałem dla procesora typu RISC, któy ma dużo rejestrów ogólnego przeznaczenia, w przeciwieństwie do CISC np x86)
2.
  • Odpowiedz
@zwei: Widziałem to już wcześniej i próbowałem. Z musi być wyzerowane, bo nie wiem co za śmieci dostaję z zewnątrz. Są jakieś bardziej eleganckie metody?
Segfaulty wyrzuca dopiero przy którymś kolejnym teście. Jeśli masz błąd już w pierwszym z nich to dalsze nie są przeprowadzane i dlatego nie pojawia się segfault ;)
  • Odpowiedz
Z musi być wyzerowane, bo nie wiem co za śmieci dostaję z zewnątrz. Są jakieś bardziej eleganckie metody?


No tak, ja zmieniam z na 1 na samym końcu przed returnem jeśli jest 0.

Jeśli masz błąd już w pierwszym z nich to dalsze nie są przeprowadzane i dlatego nie pojawia się segfault ;)


@TheCao: no to wykluczyłem wstawiając 1 tylko wtedy, gdy z wychodzi na końcu 0. Z tym że
  • Odpowiedz
Znalazłem na internecie ciekawe zestawienie cech projektów open source(głównie pisanych w językach C/C++)

Legenda(po angielsku, nie chce mi się tłumaczyć):

1. Language - all efficient languages, i.e. C/C++/C#/Rust etc., are scored positively. Writing programs may be more difficult, but they should provide very good performance and little resources for

2.
q.....n - Znalazłem na internecie ciekawe zestawienie cech projektów open source(głów...

źródło: comment_1596969872VVhPbenloR7v1PVlSR94Gl.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Unfortunately, some projects use different methods or use Mailing Lists


@qarmin: nie powiedziałbym, że "unfortunately". To podejście ma sporo zalet wobec scentralizowanego rozwiązania.
  • Odpowiedz
Troche mnie już zaczyna denerwować siedzenie w czystym VIMie i pisanie w nim kodu w C/C++. Warto kupić sobie CLiona głównie od projektów hobbystycznych? Czy może znacie jakieś fajne configi do NeoVIMa/VIMa żeby uzyskać podobną "funkcjonalność"?
#jezykc #cpp #linux #jetbrains #vim
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 2
@lisiarz: nvim + coc.vim, własne bindingi + :bp do cofania się po bufferach + nerdtree. Jedyne czego mi brak to wizualne pierdoły z vscode i integracji z gitem ale to ogarnę na dniach.
  • Odpowiedz
@lisiarz: pisanie w vimie kodu to patola i cofanie się w rozwoju imo
jeszcze trochę i może linuksiarze odkryją GUI ( ͡° ͜ʖ ͡°)
jakbyś pisał na windowsie to poleciłbym najlepsze środowisko do c++, czyli visual studio
a na linuksie to qt creator jest spoko. clion też, ale trochę zasobożerne. do celów hobbystycznych raczej nie warto za to płacić.
  • Odpowiedz
'gmacdevice' has a field 'gmacdevice::p_hw' whose type depends on the type 'Gmac {aka volatile}' which has no linkage [-Wsubobject-linkage]

O czym świadczy taki błąd? Pierwszy raz się z tym spotykam. #cplusplus #jezykc

  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak to się stało, że w programowaniu używamy nawiasów klamrowych? Poznaj historię wczesnych języków programowania i zobacz, jaki miały wpływ na pojawienie się nawiasów klamrowych we współczesnym kodzie.

https://bulldogjob.pl/news/1127-historia-nawiasow-klamrowych-w-programowaniu

#programowanie #naukaprogramowania #jezykc #javascript
Bulldogjob - Jak to się stało, że w programowaniu używamy nawiasów klamrowych? Poznaj...

źródło: comment_1591186858fjVEGm0DnjeEJJW90lfS9Q.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach