Skocz do zawartości

FlyingDutch

Użytkownicy
  • Zawartość

    729
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    31

Wszystko napisane przez FlyingDutch

  1. Cześć, może kup jakąś książkę z tej dziedziny np. w księgarni Helion: https://helion.pl/kategorie/big-data https://helion.pl/kategorie/programowanie/python https://helion.pl/kategorie/programowanie/r Część z narzędzi do "Big Data" można odpalić nawet na "Raspberry Pi" (nie mówię, że będzie to wygodne w użyciu). Jeśli nie chcesz wydawać kasy to poszukaj jakiegoś tutoriala np. na TouTube: https://www.youtube.com/results?search_query=big+data+tutorial W sieci można znaleźć wszystko - wystarczy poszukać Pozdrawiam
  2. Cześć, czy ten błąd występuje dla jakiegoś ATtiny?Może ten post coś rozjaśni: https://www.avrfreaks.net/forum/use-memx-how-can-i-resolve-code-issue Pozdrawiam
  3. Cześć, dużo zależy od tego "jak inteligentny" masz sterownik (sprzętowy) do twojego silnika krokowego. Najprostsze sterowanie jest w trybie "pulse and direction" (impulsy sterująace i kierunek ruchu, ewentualnie jeszcze wejście typu Enable dodatkowo). Inne tryby to np. podanie funkcji "trajektorii ruchu" - ten tryb mają tylko bardziej zaawansowane sterowniki. No i można mieć po prostu "goły" silnik krokowy z wyprowadzonymi końcówkami cewek - wtedy trzeba się sporo nagimnastykować (szczególnie jeśli chcesz używać mikro-kroków). Podaj typ silnika krokowego i sterownika sprzętowego który chcesz używać, wtedy będzie można coś podpowiedzieć. W przypadku gdybyś miał sterowanie ""pulse and direction" mogę coś podpowiedzieć, bo robiłem to na Arduino. Pozdrawiam
  4. Cześć, tak właśnie to działa pod Win10. Sprawdź, czy nie dzieje się to podczas syntezy (i fazy implementacji). Mi np. nie działa w ISE pod Win10 symulacja układu, a bez tego nie możesz być pewnym, że zaprojektowany układ działa prawidłowo. Kiedyś działała symulacja - przestała działać po którejś aktualizacji Windows 10 Pozdrawiam.
  5. Cześć, chciałem spojrzeć w kod, ale archiwum rar jest puste .. A mógłbyś spakować zip'em ? Pozdrawiam
  6. Cześć, może komendy chown lub chmod mogą pomóc - chown zmienia właściciela pliku, a chmod konkretne uprawnienia. Patrz link: http://ni.recoverydata.pl/content/chmod-chown-zaawansowna-zmiana-uprawnień Pozdrawiam
  7. Cześć @Ethanak, nie tylko z policją można wiązać swoją przyszłość, można jeśli jest się dobrym zostać niezależnym specjalistą od testów penetracyjnych i być wynajmowanym przez firmy do oceny bezpieczeństwa ich sieci. Powstają też "Wojska Obrony Cyberoprzestrzeni" co według mnie jest ciekawszą opcją niż praca w policji. No i można też przejść na "ciemną stronę mocy" i zostać złym crackerem (bo wszyscy wiemy, że hakerzy są zawsze dobrzy) i zarabiać krocie - czego nikomu nie polecamy bo to niebezpieczna praca Pozdrawiam
  8. Cześć, jeśli chodzi o konkretne umiejętności to "the must" jest: bardzo dobra znajomość programowania w języku C dobra znajomość budowy sieci komputerowych (nie tylko TCP/IP) dobra znajomość sytemu operacyjnego Linux umiejętność programowania w języku Python (cżęsto używany w narzędziach hakerskich) znajomość framework'ów do testów penetracyjnych i dystrybucji Linux stosowanych do tego celu (np. Kali Linux) Oosbiście uważam, że ten zawód ma sens jedynie gdy jest się wyróżniającym informatykiem i ma się w tym kierunku zainteresowania. Nie jest to zawód dla "średniaków". Pozdrawiam
  9. Cześć, niezbyt poprawny bo digitalRead i digital Write są same wykonywane za pomocą przerwań. Lepiej ustaw sobie jakąś zmienną typu bool na true i na jej podstawie rób digitalWrite w pętli głównej. Pozdrawiam
  10. Cześć, podobno dobre przetworniki ADC/DAC do zastosowań audio robi firma "Burr-Brown" (jest z tego znana od wielu lat - co najmniej od początku lat 90-tych). Jeśli nie liczysz się z kosztami możesz sobie kupić np. taką nakładkę dla RPI: https://allegro.pl/oferta/hifiberry-dac-adc-karta-dzwiekowa-do-rpi-8208809322 Jeśli sama chcesz kombinować z przetwornikami ADC/DAC to wybór jest duży, np. tutaj kilka linków: https://pl.farnell.com/texas-instruments/pcm4201pw/ic-adc-24-bit-audio-1ch-16-tssop/dp/3116706?MER=sy-me-pd-mi-alte https://www.analog.com/media/en/technical-documentation/data-sheets/AD1871.pdf http://www.ti.com/product/PCM3010# https://www.beis.de/Elektronik/ADDA24QS/AD24QS.html https://www.profusionplc.com/images/data-sheets/at12612.pdf Jednak zrobienie samemu dobrze brzmiącej karty dźwiękowej wymaga dużego doświadczenia w elektronice (i kilku pokrewnych dziedzinach). Pozdrawiam
  11. Cześć @atMegaTona ale ja jeszcze nie odpowiedziałem na tą drugą część pytania(związaną z funkcjami), chciałem to zrobić dzisiaj Dzięki za dokładne wytłumaczenie - przyda się na pewno wielu osobom z forum. Pozdrawiam
  12. Cześć, jakiś czas temu w firmie w której pracuję wspomniałem, że przydałby się "MATLAB"+"Simulink" do prototypowania i symulacji nowych projektów. Nie liczyłem, że będzie jakiś odzew. Ku mojemu zdumieniu w zeszłym tygodniu dostałem płytkę DVD z komercyjną wersją programu "Polymath" (wersja 2.20 pod WindowsXP). Oto link do strony producenta tego oprogramowania: https://www.polymath-software.com/ Zainstalowałem tą wersję na jakimś starym laptopie z Windows XP i przyjrzałem się przykładowym projektom. Z tego co zobaczyłem ten program ma importy/eksporty do Matlab'a i dość rozbudowane moduły do wizualizacji danych. Czy ktoś z Was używał może tego programu i mógłby się podzielić doświadczeniami? Pozdrawiam
  13. Cześć, według mnie te konstrukcje są poprawne - deklarujemy tu 3 typy: union_u, structa_t, structb_t. Pierwszy z nich jest unią a dwa pozostałe strukturami. Rozumiem, ze chodzi Ci o różnicę między kontenerami: structa_t, structb_t - tak różnią się. Dlaczego ponieważ pierwszy typ ma dwie składowe: int x; int y; a drugi trzy, z których pierwsza to unia: un (może przechowywać zarówno zmienną int jak i char), druga składowa to int a trzecia to wskaźnik na samą siebie. Gdybyśmy w definicji typu structb_t usunęli słowo kluczowe struct w trzeciej linii: typedef struct structb_t{ union_u un; int x; structb_t *this; }structb_t; To będzie błąd mówiący o tym, że typ structb_t nie został zdefiniowany, bo tak naprawdę jego definicja nie została jeszcze zakończona. Natomiast nic nie stoi na przeszkodzie, żeby użyć takiej definicji poz zakończeniu definicji typu structb_t: typedef struct{ structb_t a; }struct1; Te wszystkie odpowiedzi można podsumować takim kodem programu: #include <stdio.h> typedef union{ int b; char a; }union_u; typedef struct{ int x; int y; }structa_t; typedef struct structb_t{ union_u un; int x; struct structb_t *this; }structb_t; typedef struct{ structb_t a; }struct1; int main() { structa_t aa; structb_t bb; aa.x =3; aa.y = 4; bb.un.a = 'z'; bb.x = 6; printf("Start\n\n"); return 0; }
  14. Cześć @atMegaTona, dzięki za pytania, muszę przyznać, że będę się musiał dłużej zastanowić - ale o to właśnie chodziło Wczoraj już byłem zmęczony, ale dzisiaj można do tego podejść z nowymi siłami. Pozdrawiam
  15. Cześć, to przepraszam z zamieszanie spowodowane moim postem i za podejrzenie. Pozdrawiam
  16. Cześć, co to za dziwny adres: https:\\youtu.be - jak widzę coś takiego to od razu mam podejrzenie, że jest to strona zawierająca malware?
  17. Cześć, według mnie jest prawidłowy, bo zadeklarowaliśmy nowy wskaźnik - wsk, który nie ma tych narzuconych ograniczeń co wskaźnik wskD. Czy to się zgadza? Co do twojej odpowiedzi, to jest prawidłowa, uzasadnienie jest jak najbardziej trafne Pozdrawiam
  18. Cześć, szkoda, że nikt więcej nie ma pomysłu na pytanie z języka C (czy C++). To może ja podam jeszcze jedno pytanie: Załóżmy, że mamy następujące definicje tablicy double i wskaźnika na double: double tabD[5] = {21.99, 178.22, 100.12, 56.77, 0.,034}; const double * const wskD = tabD; Powiedz, która z dwóch powyższych operacji jest prawidłowa, a która nie: wskD = &tabD[3]; *wskD = 98.79; Odpowiedź uzasadnij Pozdrawiam
  19. Cześć, to jest sposób definiowania funkcji sprzed ANSI C, czyli krótko mówiąc prehistoria. Patrz ten link: https://pl.wikibooks.org/wiki/C/Funkcje Pozdrawiam
  20. Cześć, firma "GigaDevice" wprowadziła do sprzedaży mikro-kontrolery i zestawy uruchomieniowe (14 modeli) dla 32-bitowej architektury "RISC-V". Co najciekawsze układy są podobno "pin-compatible" z układami serii STM32F100. Tutaj link do opisu: https://www.cnx-software.com/2019/08/23/gigadevice-gd32v-risc-v-mcu-development-board/amp/ A tutaj link do datasheet i bardziej szczegółowych informacji: http://gd32mcu.21ic.com/en/ Pozdrawiam
  21. Cześć, do programowania MCU ARM (głównie STM32xx) hobbystycznie (poza pracą) używam "STM32CubeMX" + "System Workbench for STM32" i ogólnie jestem zadowolony (jest kilka kwestii, które mi trochę nie pasują). Chciałbym spróbować jak spisuje się "Segger Embedded Studio" - które z opisu wygląda bardzo ciekawie i jest w pełni darmowe (bez ograniczeń) do zastosowań "nie komercyjnych". Następną zaletą jest fakt, że jest także dostępna wersja dla OS Linux. Kolejna sprawa - jest dostępna wersja tego IDE dla procesorów "RISC-V" co może stanowić dodatkowy bodziec do nauki tego IDE. Czy ktoś z Was może używa tego IDE i mógłby się podzielić doświadczeniami z użytkowania. Tutaj link do opisu tego IDE: https://www.segger.com/products/development-tools/embedded-studio/ Pozdrawiam
  22. Cześć, według mojej wiedzy aktualnie żadna wersja ISE (14.7) nie działa poprawnie w Windows 10 (64 bit). Poprzednia wersja ISE 14.7 ta bez maszyny virtualnej działała OK w momencie pisania kursu Forbota. Od kilku miesięcy po wczytaniu update dla Windows 10 przestał całkowicie działać symulator. Sama synteza działa (zarówno dla Spartana3 jak i 6), ale tylko w wersji 32-bit (odpalasz 32-bitową wersję Project Navigatora). Polecam instalację Linuksa (np. Mint czy Debian) tam ISE działa OK. Alternatywa to używanie Linuksa na maszynie wirtualnej i instalacja ISE na tej maszynie. Pozdrawiam
  23. Cześć, odpowiedź jest bardzo dobra i uzasadnienie także. Raczej rzadko używa się "podwójnych" wskaźników do poruszania się po tablicy dwuwymiarowej, łatwiej jest użyć indeksów. Niemniej warto wiedzieć jak to działa na wskaźnikach (przenoszą się te zależności także na tablice o większej liczbie wymiarów - wynika to wprost z rozmieszczenia danych tablicy w pamięci. I tak dla tablic trzy wymiarowych mamy już potrójną a nie podwójną de-referencję. To może teraz kolega zada jakieś pytanie - zobaczymy, czy uda się odpowiedzieć poprawnie Pozdrawiam
  24. Cześć, każdy z nas musi od czasu do czasu odświeżać sobie znane już wiadomości z używanego języka programowania (szczególnie, że "na co dzień" nie używamy wszystkich z zaawansowanych konstrukcji języka) lub uczyć się nowych rzeczy dla szybko zmieniających się standardów. Ja "na co dzień" używam języka C (nieobiektowego ponieważ w programowaniu mikro-kontrolerów nadal rzadko korzysta się z C++). Pomyślałem sobie, że fajnie byłoby na forum, gdybyśmy co jakiś czas zadawali sobie pytania dotyczące programowania w Językach C/C++ dotyczące jakichś trudniejszych do zrozumienia konstrukcji języka. Oto moje pierwsze pytanie: Załóżmy, że mamy definicję tablicy tab: int tab[5][4] = { {23, 2, 7, 1}, {4, 1}, {[2]=2, 11}, {[1]=27, 0, 7}, {9, 2, 1} }; Kto wie jaka będzie wartość wyrażenia: *(*(tab+2)+1) Zakładamy, że używamy kompilatora C zgodnego przynajmniej ze standardem C99 np. popularnego gcc (Linux, można go też uzywać pod Windows instalując pakiet "mingw"). Proszę, o krótkie uzasadnienie teoretyczne odpowiedzi (ponieważ można napisać prosty program i sprawdzić wartość). Czekam też na ciekawe pytania dotyczące programowania w C/C++ od Was Pozdrawiam
  25. Cześć, to może jako zasilanie użyć np. pięć takich zasilaczy: https://www.banggood.com/AC-110-220V-To-DC-5V-20A-100W-Driver-Switch-Power-Supply-Transformer-For-LED-Strip-Light-p-1094565.html?rmmds=search&cur_warehouse=CN Natomiast odnośnie multipleksowania sygnałów UART to ja bym to zrobił na małym układzie FPGA (na CPLD też by się udało). Pozdrawiam.
×
×
  • Utwórz nowe...