Skocz do zawartości

Elvis

Użytkownicy
  • Zawartość

    2435
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    171

Posty napisane przez Elvis


  1. W sumie zupełnie nie o to chyba chodziło - wprowadzenie poziomu nie miało służyć chwaleniu się, ani leczeniu własnych kompleksów, tą rolę spełniają ostatnio bardzo dobrze zwykłe wpisy na forum.

    O ile rozumiem chodziło raczej o pomoc odpowiadającym - bo w zależności od "poziomu" można udzielić zupełnie innej rady. W sumie jeśli taki jest cel "poziomów", to może warto byłoby to uwzględnić w podziale? Czyli poziom 0 jest prosto - nie chcę wykładu, schematu, nic, tylko gotowca. Poziom 1 - proszę o wyrozumiałość i wytłumaczenie od podstaw itd...

    • Lubię! 2

  2. To ja proponuję jeszcze inaczej podejść do tematu - może dałoby się ułożyć test / ankietę, gdzie odpowiedzi na pytania dawałyby odpowiednie poziomy.

    Przykładowo: interesujesz się elektroniką, czy poszukujesz tylko gotowych rozwiązań bez wnikania w szczegółych ich działania? -> poziom 0

    Kolejny przykład: mamy układ z zasilaniem 5V, diodą LED o spadku napięcia 2V, oraz rezystorem - jaką wartość należy wybrać, aby prąd diody wynosił w przybliżeniu 3mA: 100 Ohm, 1k, 10k.

    itd.

    • Lubię! 1

  3. Chodziło mi tylko o poziom "odniesienia" - każdy może rzucić okiem na kurs, jak wszystko zna i rozumie, to nie musi go przecież robić 🙂 Może dałoby się ładniej sformułować sam opis, np opanowałem materiał z kursu?

    Nie aspiruję do ustalania ostatecznych nazw poziomów znajomości elektroniki - to była tylko propozycja i sposób w jaki ja zrozumiałem rozbudowane opisy zaprezentowane wcześniej.

    • Lubię! 1

  4. Jak dla mnie długie opisy są potrzebne i powinny zostać - napisałem o "skróconych" wersjach, bo przy takim formatowaniu jak było w pierwszym poście po prostu zupełnie zgubiłem się w okolicy poziomu "elektronika 3" 😉 Długie opisy wymagają więcej uwagi, ich treść jest podobna, więc czytając łatwo się "wyłączyć" - i przeskoczyć do ostatniego poziomu.

    Jak dla mnie kolejne poziomy mogłyby mieć np takie nazwy:

    • Elektronika 2. Znam podstawową teorię
    • Elektronika 3. Opanowałem kurs podstaw elektroniki poziom 1
    • Elektronika 4. Opanowałem kurs podstaw elektroniki poziom 2
    • Elektronika 5. Potrafię zaprojektować i uruchomić własny układ
    • Elektronika 6. Elektronika nie ma przede mną tajemnic, chętnie pomogę innym

    Ewentualnie punkt 6 można byłoby rozbić na dwa, bo chęć i umiejętność pomagania innym to moim zdaniem oddzielny poziom 😉


  5. Jak dla mnie warto byłoby trochę inaczej sformułować kryteria - w szczególności może dałoby się je skrócić.

    Przykładowo:

    • Elektronika 0. Nie interesuję się elektroniką
    • Elektronika 1. Zaczynam naukę elektroniki

    Natomiast punkt 2 jest bardzo podstępny:

    27 minut temu, Treker napisał:

    wiem czym jest prąd, napięcie i opór.

    Jak dla mnie to poziom zdecydowanie powyżej zdefiniowanych sześciu 😉

    Jeśli potrzebna jest "pomoc" w wyjaśnieniu co, który punkt znaczy, albo jak wybrac odpowiedni - może lepiej przenieść takie informacje do oddzielnego artykułu? Łatwiej się czyta i zapamietuje krótkie opisy. Natomiast w osobnym artykule można napisać dużo więcej o znaczeniu każdego poziomu, może nawet jakiś prosty test dołączyć?


  6. @atMegaTona To nie jest filozofia - to zwykła inżynieria. Informatyka już dawno wyrosła z wieku dziecięcego, kiedy chodziło tylko o napisanie programu który czasem działał i gdy autor był zadowolony z uzystkiwanych wyników można było uznać dzieło za skończone. Obecnie pisanie programów to zwykła, często nudna praca. Natomiast co do konkursów to ze względów formalnych niezbędne są jasne i obiektywnie mierzalne kryteria. Stąd poprawne wyniki oraz czas działania są dobrymi kandydatami - chociaż daleko im od ideału, bo szybko działający kod wcale nie musi oznaczać programu wartego jakiejkolwiek uwagi. W przypadku olimpiady ważny jest algorytm i jego wybór ma zasadnicze znaczeni - stąd w przypadku prostych bibliotek taki system może się nie sprawdzić. Ale chciałem zwrócić uwagę że OI wypracowały przez lata pewne metody organizacji i oceniania konkursów, może warto skorzystać z ich doświadczenia.


  7. @ethanak Ja nie jestem i nie chcę być jurorem w tym konkursie 🙂 Ale IO mają swoje regulaminy, zasady oceny prac i od lat sobie radzą. Jedna z opcji jest - ustalić konkretne zadanie, na konkretnym sprzęcie - i tutaj gotowe zestawy są całkiem na miejscu. Następnie trzeba ustalić jak prównywać kod - można po pierwsze wymagać poprawnych odpowiedzi dla serii testów, a następnie oceniać czas działania. To oczywiście dalekie od ideału, ale w IO się sprawdza, więc liczyłem że może niektóre pomysły warto podpatrzeć 🙂


  8. Nie mówię, że Forbot powinien uruchamiać swoją olipiadę informatyczną, absolutnie nie miałem tego na myśli 🙂 Chciałem tylko pokazać że istnieją konkursy informatyczne, które od lat mają sprawdzoną formułę i całkiem dobrze sobie radzą. Co z tego można wykorzystać - tego nie wiem, to była tylko sugestia że "da się".

    Wiem, że ocenianie czasu działania kodu ma ogromne wady - ale to zawsze jakaś opcja i na OI całkiem dobrze działa.


  9. 10 minut temu, ethanak napisał:

    Powiem tak: programowanie jest sztuką, i jako taka powinno być oceniane.

    Wydaje mi się że to stwierdzenie to jedynie opinia, od dawna programowanie jest rzemiosłem, czyli pracą jak każda inna - nie ma w sobie ani trochę więcej sztuki niż praca inżyniera elektryka, mechanika, czy elektronika. Co więcej programowanie podlega takim samym regułom jak inne dziedziny inżynierii. Stąd można oceniać jakość oprogramownia, tak samo jak można mówić o jakości np. projektu mostu. Niestety wielu klepaczy kodu nadal uważa że cokolwiek zadziała to piękna i niezmącona wiedzą sztuka 😞


  10. Jak dla mnie pomysł ze schematem brzmi bardzo ciekawie. Może dałoby się takie schematy oferować w formie gotowego modułu albo zestawu do złożenia? Wówczas osoby mniej obeznane z elektroniką miałyby szansę na udział w konkursie. Chociaż dla osób ograniczonych ilością wolnego czasu gotowy moduł również byłby chyba dobrym rozwiązaniem 🙂


  11. @szczepulek nie chodziło mi o obrażanie się, ani kogokolwiek innego. Po prostu pojawiła się negatywna opinia nie o samej bibliotece, ale osobie - czyli autorze tej biblioteki mówiąc dokładniej. Moim zdaniem powinniśmy takich opinii unikać. Można skomentować czyjś kod, ale pisanie o kimś że jest kiepski w tym co robi jest co najmniej nieeleganckie. Co więcej wyrażając takie opinie o innych powinniśmy być świadomi, że to może sprowokować kogoś do oceny nas - i to niekoniecznie zgodnej z własną samooceną.

    • Lubię! 2

  12. Ciekawa sprawa z tymi PWM-ami, może dałoby się krótki programik przykładowy napisać, żeby pokazać kiedy to występuje? 

    Natomiast co do ostatniego zdania, które dopisałem we wpisie o volatile to chodziło mi o ten konkretny przypadek, przecież napisałem wcześniej że volatile wyłącza optymalizację - co oczywiście może mieć wpływ na kod wynikowy. Zostawmy może to czepianie się słówek - w sumie to ciekawa dyskusja, a wpływ millis() na PWM bardzo interesujący. Tylko proponuję wyłączyć niepotrzebne napinanie się i kłótnie - może wtedy zamiast marnować czas i siły nauczymy się od siebie czegoś interesującego.


  13. Tytuł tematu nie jest najlepszy - ale nie miałem pomysłu co napisać, jeśli ktoś ma lepszy pomysł to zachęcam do podzielenia się. Nie chciałem pisać o tym jak obijać się w pracy, raczej podzielić się doświadczeniami. Wydawało mi się to po prostu ciekawe i mam nadzieję byłoby też interesujące dla innych. A temat - miał po prostu trochę zaintrygować i zachęcić do dyskusji.

    Mam nadzieję że znajdę wolną chwilę i podzielę się moją krótką przygodą z portalem freelancer.com - może to nie praca na etacie, ale też ciekawe doświadczenie 😉

    • Lubię! 1

  14. Ostatnie dyskusje na forum były stanowczo zbyt burzliwe, ale pomyślałem nawet negatywne emocje z nimi związane może dałoby się spożytkować w lepszym celu. Podczas dyskusji pojawiło się dużo linków do wykonanych projektów, co skłoniło mnie do zaproponowania nowego tematu dyskusji.

    Pomyślałem że może ciekawe byłoby podzielenie się przez osoby mające już za sobą jakieś doświadczenie zawodowe swoimi przemyśleniami, historiami z pracy, czy też opisami projektów, przy których pracowały. Nie chciałbym żeby ktoś posądził mnie o próbę przechwalania się, albo skłaniania do tego innych - po prostu co jakiś czas na forum pojawiają się pytania o możliwość znalezienia pracy po takich czy innych studiach, pewnie wiele osób byłoby zainteresowanych przeczytaniem jak pracuje się w innej firmie, czy na innym stanowisku.

    Co sądzicie o takim temacie?

    • Lubię! 1

  15. Jestem w tej chwili w pracy i nie mam dostępu do CubeMX - mogę więcej napisać wieczorem, teraz napiszę tak "z głowy", bez kodu i testowania.

    W programie widzimy że Duty ma typ uint16_t, natomiast HAL_TIM_PWM_Start oczekuje wskaźnika do uint32_t. W rzeczywistości jest to błąd, albo chociaż niedoskonałość biblioteki HAL - w końcu za pomocą DMA można przesyłać różne typy danych, nie tylko uint32_t. Poprawnie zaprojektowane biblioteki (przykładowo zgodne z POSIX) używają w takim przypadku typu void*. Ale ktoś, kto projektował Cube HAL chciał być bardziej poprawny i użył uint32_t...

    Typ wskaźników w rzeczywistości nie ma większego znaczenia - stąd w C częste użycie void* chociażby w funkcjach systemowych - read, write itd.

    Nie testowałem, ale poprawnie program powinien wyglądać raczej tak:

    HAL_TIM_PWM_Start_DMA(&htim4, TIM_CHANNEL_3, (uin32_t*) &Duty, 1);

    W tej wersji po prostu informujemy kompilator że wiemy co robimy i specjalnie zmieniamy typ wskaźnika - co kompilator powinien uszanować i wyłączyć ostrzeżenie.

    Natomiast jak napisałem na początku - obie wersje działają tak samo, a ze zmienną Duty nic złego się nie dzieje.

    • Lubię! 1
    • Pomogłeś! 1
×
×
  • Utwórz nowe...