khoam wrote:Co to za konkretnie "skomplikowane procedury" w Arduino, "które zajmują sporo zasobów procesora"?
A to tu wymieniać? Wszystkie podstawowe są bardziej skomplikowane niż mogły by być, ze względu na ich uniwersalność:
https://www.arduino.cc/reference/en/
khoam wrote:atom1477 wrote:Równie dobrze można napisać że Arduino nie pozwala zająć się na problemami, bo ma własne rozwiązania na problemy, a jednocześnie utrudnia samodzielne budowanie rozwiązywań.
Tezę kolega już postawił, a teraz poproszę o dowód.
To nie jest coś co się dowodzi, bo ja pisałem o tendencji. Czyli czymś co występuje najczęściej, ale niekoniecznie zawsze. Innymi słowy można by podać 1 przypadek gdzie "moja" teza się nie sprawdzi, a Ty byś tego użył do obalenia "mojej" tezy. Tyle że ja wcale takiej tezy nie stawiałem. Ja nie mówię że nie ma wyjątków. Mówię tylko że najczęściej występuje inny sposób postępowania, ale oczywiście czasami i pojawiają się te "wyjątki".
Ale do rzeczy. Chodzi mi o uniwersalność i mnogość przykładów z użycia tych uniwersalnych i gotowych procedur. Bo przecież o to właśnie chodzi w Arduino. Bez tego zostało by tylko czyste C (czy tam C++) + skonfigurowany kompilator.
Można mówić że język/platforma/środowisko Arduino nie ma tej wady. Może i nie, ale Arduino to coś więcej. To strona/reklama/marketing. Na stronie i w oficjalnych materiałach używane są uniwersalne zunifikowane rozwiązania. I właśnie to jest to co utrudnia. Może i da się zrobić niskopoziomowy dostęp, ale takie podejście nie jest promowane/reklamowane. I to jest właśnie to utrudnianie o którym pisałem.
khoam wrote:W Arduino nie występują żadne ograniczenia dostępu do zasobów sprzętowych, wręcz przeciwnie.
Na pewno nie występuje żadne powiększenie dostępności, co tu chyba sugerujesz. Fizycznie może nie występować nic, albo może występować jedynie zmniejszenie. Arduino jako unifikator, siłą rzeczy może wprowadzać jedynie zmniejszenie dostępności.
Ewentualnie pewne rzeczy może symulować (np. wyjścia PWM czy wyjścia do serwomechanizmów) i wtedy to wygląda jako powiększenie dostępności. Tyle że takie coś odbędzie się znacznym zwiększeniem zużycia zasobów procesora. Więc to "powiększenie dostępności" nie dzieje się za darmo, nie jest to więc żadna cudowna cecha Arduino. Takie coś było np. już w BASCOMie, i używanie tego było raczej odradzane przez bardziej zaawansowanych programistów.
khoam wrote:atom1477 wrote:Użycie Arduino w takim wypadku ogranicza się tylko do użycia środowiska oraz szablonu projektu (czy jak to tam zwał).
Nic podobnego. Kolejny mit.
Na to już odpowiedziałem wcześniej: pisałem o konkretnych przypadkach użycia, a nie o wszystkich możliwościach używania Arduino. Wiadomo że jakiś spec/nerd wyciśnie z Arduino więcej, ale nie takie przypadki tam opisywałem.
Wojciech. wrote:atom1477 wrote:lecz o "aurze" jakie ono nad sobą roztacza.
Zgadzam się bo zazwyczaj arduino dedykowane jest dla ludzi którzy nie mają dużo wspólnego z elektroniką. To że zawodowcy wykorzystują w 100% peryferia arduino to inna sprawa.
Właśnie.
Sam kiedyś używałem BASCOMa. Ale praktycznie nie używałem jego funkcji, tylko wszystko konfigurowałem na rejestrach i dawałem dużo wstawek assemblerowych. Czy to miało sens to inna sprawa. Ważne że tak robiłem i jak to inni ludzie określali (albo jak ja sam to określałem). A określałem to jednoznacznie: "Ja wcale nie używam BASCOMa, używam tylko kompilatora BASCOM do kompilowania kodu w assemblerze".
Tak samo można zrobić w Arduino. I może nawet to jest oficjalna ścieżka uznawana przez twórców Arduino za poprawną.
Ale jednak nie promują takiej ścieżki, a na pewno nie promują i nie używają jej zwykli użytkownicy Arduino. Gdyby taki kod wstawić na forum Arduino, to by powiedzieli że w ogóle nie jest tam użyte Arduino. Albo że jest użyte, ale nie tak jak trzeba, i po co było go używać jak kod jest po prostu napisany tak jakby był w czystym C.