-
1. Data: 2015-10-02 09:27:38
Temat: Jakie środowisko do C dla Atmegi?
Od: Marek <f...@f...com>
Chcę starszego kolegę (inżynier, były naucziciel informatyki i wt)
wyciągnąć z bagna o nazwie Bascom. Zaczyna w Bascomie rozwiązywać
problemy nieistniejące w innych językach więc myślę, że czas nas
zmianę. Niech już zostanie przy tych swoich Atmegach ale chcę
pokazać mu inny lepszy świat i przestawić go na C.
Nie znam się na Atmegach, jakie środowisko do C byłoby najlepsze?
Bascom przyzwyczaił go, że ma tam wbudowaną obsługę do popularnych
peryferiów typu lcd, 1wire itp.
Jakie środowisko darmowe zawiera już biblioteki do takich popularnych
peryferiów? Nie chcę go zniechcąc na początku koniecznością szukania
bubliotek lub pisaniem własnych (co uważam osobiście za mega
puczającą frajdę).
AvrStudio posiada biblioteki czy to samo C? Która wersja? W sieci
odradzają najnowszą bo podobno kobyła wymagająca szybkiego PC (kolega
pracuje tylko na laptopie z win XP), polecają wersję starszą 4.18.
A może WnAVR?
Środowisko nie musi być mega wypasione, byle była absługa atmegi
8/16/32. No i trochę gotowych bibliotek do peryferiów.
--
Marek
-
2. Data: 2015-10-02 17:19:46
Temat: Re: Jakie środowisko do C dla Atmegi?
Od: slawek <f...@f...com>
On Fri, 02 Oct 2015 09:27:38 +0200, Marek <f...@f...com> wrote:
> pokazać mu inny lepszy świat i przestawić go na C.
A jest jakieś takie małe IDE do Arduino. Zgooglaj, to nawet C++ niby.
Kompilator gcc. Bardzo fajna społeczność, do wszystkiego łatwo
znaleźć biblioteczki.
Z drugiej strony C nie jest dużo lepsze od Basica, to co naprawdę
ważne to architektura i takie tam. W C da się napisać gorszy kod
źródłowy niż w Basicu.
-
3. Data: 2015-10-02 18:15:54
Temat: Re: Jakie środowisko do C dla Atmegi?
Od: ToMasz <t...@p...fm.com.pl>
W dniu 02.10.2015 o 09:27, Marek pisze:
> Chcę starszego kolegę (inżynier, były naucziciel informatyki i wt)
> wyciągnąć z bagna o nazwie Bascom.
ja dawno dawno temu pisałem prościuteńkie programy w basicu na zx
spectrum. Dzisiaj siadam i piszę taki sam program który m 5 linijek i
robi cośtam widowiskowego. to samo w C da się zrobić na 2 "linijkach".
tyle że wcześniej musisz mieć 5 linijek wstępu, deklaracji, czegoś co
właśnie nie istnieje w innych językach i nie musisz o tym mieć pojęcia.
Nie ważne czy Ty się zgadzasz z powyższą tezą, ważne czy Twój kolega się
znią zgadza. Co więcej, on Ci niekoniecznie o tym powie.
> Zaczyna w Bascomie rozwiązywać
> problemy nieistniejące w innych językach więc myślę, że czas nas zmianę.
ale facet pisze programy kolosy jakieś? sztuczna inteligencja?
rozwiązywanie sudoku? Bo mnie się wydawało że na atmegę, w sensie nie
PCta to raczej proste programy się pisze....
> Niech już zostanie przy tych swoich Atmegach ale chcę pokazać mu inny
> lepszy świat i przestawić go na C.
> Nie znam się na Atmegach, jakie środowisko do C byłoby najlepsze?
> Bascom przyzwyczaił go, że ma tam wbudowaną obsługę do popularnych
> peryferiów typu lcd, 1wire itp.
tak jak Slawek wspomniał arduino. Czyli atmega+złącze usb. od takich co
maja 6 nóżek do ponad 50siąt.
Środowisko do programowania raczej ubogie. W sensie słabo się koloruje
składnia, klamry się nie kolorują, wykonywać linia po lini się nie da.
Niemniej jednak napisać się da, bibliotek jest dużo, te których niema są
dostępne na necie, poradników jak zacząć na YT dużo.
W zasadzie tyle. kompiluje się i działa.
Wrócę jednak do mojej pierwszej myśli. Ja podchodziłem do nauki C/C++
klilka razy. zawsze wymiękałem na pierwszym rozdziale ksążki, nie umiąc
zrozumieć, po kija mam decydować jak dużą, dokładną liczbę będzie
przechowywać zmienna "i" użyta w pętli for. Tym bardziej że głupi
sterownik do karty dźwiękowej zgodnej z sound blaster zajmuje 81 dyskietek.
mnie bolało i boli dalej to, że "migaj diodą" ma dłuższy wstęp niż kod
programu. bolał i boli, że każda linia kończy się średnikiem. No chyba
że to jest "for", to jak dam średnik to się skompiluje ale nie wykona.
myślę że Twój kolega też sie z tym zderzy. no chyba że na lekcjach
informatyki uczył c++
ToMasz
-
4. Data: 2015-10-02 19:15:36
Temat: Re: Jakie środowisko do C dla Atmegi?
Od: Tomotron <t...@o...pl>
W dniu 02-10-2015 o 09:27, Marek pisze:
> Chcę starszego kolegę (inżynier, były naucziciel informatyki i wt)
> wyciągnąć z bagna o nazwie Bascom. Zaczyna w Bascomie rozwiązywać
> problemy nieistniejące w innych językach więc myślę, że czas nas zmianę.
> Niech już zostanie przy tych swoich Atmegach ale chcę pokazać mu inny
> lepszy świat i przestawić go na C.
Wejdź na stronę Atnel...
Osobiście uważam, że jak ktoś chcę zacząć pisać w C to nie ma lepszych
pozycji książkowych.
Również o środowisko Eclipse można dużo się dowiedzieć.
Pozdrawiam
-
5. Data: 2015-10-02 23:52:29
Temat: Re: Jakie środowisko do C dla Atmegi?
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
Marek <f...@f...com> napisał(a):
> Chcę starszego kolegę (inżynier, były naucziciel informatyki i wt)
> wyciągnąć z bagna o nazwie Bascom. Zaczyna w Bascomie rozwiązywać problemy
> nieistniejące w innych językach więc myślę, że czas nas zmianę.
W C będzie rozwiązywać problemy nieistniejące w Bascomie.
> Niech już zostanie przy tych swoich Atmegach ale chcę pokazać mu inny
> lepszy świat i przestawić go na C.
Lepszy bo możliwości więcej, w tym możliwości strzelenia sobie w stopę. Żeby
nie było: też przeszedłem z Bascoma na C, ale nie uważam że należy potępiać
Bascoma.
> Nie znam się na Atmegach, jakie środowisko do C byłoby najlepsze?
> Bascom przyzwyczaił go, że ma tam wbudowaną obsługę do popularnych
> peryferiów typu lcd, 1wire itp.
> Jakie środowisko darmowe zawiera już biblioteki do takich popularnych
> peryferiów? Nie chcę go zniechcąc na początku koniecznością szukania
> bubliotek lub pisaniem własnych (co uważam osobiście za mega puczającą
> frajdę).
Tutaj bezkonkurencyjne jest Arduino.
> AvrStudio posiada biblioteki czy to samo C? Która wersja? W sieci
> odradzają najnowszą bo podobno kobyła wymagająca szybkiego PC (kolega
> pracuje tylko na laptopie z win XP), polecają wersję starszą 4.18. A może
> WnAVR?
AVR Studio to jest samo IDE, które wymaga doinstalowania WinAVR (GCC i
dodatkowe narzędzia). Ja bym jednak zostawił w spokoju ten zabytek i
zainstalował współczesne Atmel Studio. Kobyła to to nie jest jak na
dzisiejsze standardy, chyba że Twój kolega ma jakiegoś starego rzęcha.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 6 days, 6 hours, 2 minutes and 20 seconds
-
6. Data: 2015-10-03 07:39:50
Temat: Re: Jakie środowisko do C dla Atmegi?
Od: slawek <f...@f...com>
On Fri, 02 Oct 2015 18:15:54 +0200, ToMasz <t...@p...fm.com.pl>
wrote:
> ja dawno dawno temu pisałem prościuteńkie
Przy 100 linijkach Basic daje radę. Przy 2000 linijkach jakby mniej.
Przy 10000 zaczynają być problemy z C. C++ teoretycznie nadaje się do
rzeczy mających parę milionów linijek.
Jeżeli chcesz pomrugać LED to Basic jest ok. Jeżeli napisać mały
system operacyjny na Atmegę, to C jest ok. Jeżeli piszesz np. program
AI mający kierować samochodem, to C++ jest jedną z opcji.
-
7. Data: 2015-10-03 11:45:49
Temat: Re: Jakie środowisko do C dla Atmegi?
Od: Marek <f...@f...com>
On Fri, 2 Oct 2015 23:52:29 +0200, "Grzegorz Niemirowski"
<g...@p...onet.pl> wrote:
> Lepszy bo możliwości więcej, w tym możliwości strzelenia sobie w
stopę. Żeby
> nie było: też przeszedłem z Bascoma na C, ale nie uważam że należy
potępiać
> Bascoma.
Nie miałem zamiaru komentować w tym wątku Bascoma (bo de facto nie o
niego było pytanie) ale mnie niestety sprowokowałeś. Bascom to
policzek dla Basica bo podobno jemu ma być podobny. Nazywa się
"kompilatorem" a de facto jest czymś w rodzaju konsolidatora
bibliotecznych (gotowych) asmeblerowych instrukcji i makr użytych w
kodzie. Język, który kpi sobie z programisty (o tym
niżej).Bałaganiarska składnia dopuszcza case insensitive co pozwala
na tworzenie mało czytelnego kodu. Osoba, którą znam co poświęciła mu
zbyt dużo czasu szybko doszła do ściany w rozwoju i koniec. Język
kompletnie nie rozwija, ogranicza wyobraźnię do kontekstu "jednego
programu" przez co trudno ogarnąć takiemu programiście
wielozadaniowość nawet opartą na prostej maszynie stanów. Brak
możliwości pisania własnych bibliotek (uwaga, można ale w asemblerze,
kpina nr 1), brak możliwości porozdzielania projektu na skompilowane
obiekty aby za każdym razem nie "kompilować" całości. Brak
jakiejkolwiek optymizacji, kod jest składany z gotowych klocków, więc
jego rozmiar rośnie dość szybko. Niezgodność dokumentacji producenta
w opisie instrukcji, znalazłem takie, które nie chcą działać mimo, że
zostały użyte wg przykładów. Brak sensownej i logicznej konsekwencji
w instrukcjach/makrach. Tam nie da się nic przewidzieć (co do
poprawnej składni). Raz argumenty instruckji są bez nawiasów a raz w
nawiasach, np. skladnia instrukcji rysowania linii na LCD graf
wyglada tak:
line(x1,y1)-(x2,y2)
a zapalenia pixla:
pset x,y,z
logiczne, prawda? Raczej kpina nr 2.
Niektóre funkcjonalności nie działają jak powinny, ostatnio kolega
męczył się przez tydzień z fontami na LCD graficznym. Użycie
instrukcji wyboru fontu do pisania powodowało niedziałający w ogóle
kod (niestartujący w ogóle mcu). Sprawa była o tyle dziwna, że
posiłkował sie przykladami kodu z artykułów, ktorych autorzy
twierdzili, że im działa. Po kilku dniach szukania przyczyn poddał
się i przepisał jota w jote kod z przykladu, o dziwo kod zadział. Co
się okazalo? Że kod działa jeśli instrukcje grafiki są w procedurach
a nie w pętli głównej (sic!). Czemu? Nie wiadomo. Faktycznie we
wszystkich przykładach użyto podobnej konstrukcji z procedurami, ale
nikt się nie zająknął, że tak być musi bo nie zadziała. Jest to
piękny przyklad, jak próba inwencji w inną koncepcję konstrukcji kodu
(bez procedur) sprowadza na ziemię, bo tak się nie da, bo coś nie
działa. Tylko traci się czas, kpina z programisty nr 3.
Najlepsze zostawiam na deser. Ktoś może powiedzieć, że te powyższe
zarzuty są przesadzone, bo język ma być prosty dla prostych
rozwiązań, dla nie-programistów a bardziej elwktroników więc nikomu
niepotrzebne dołączanie skompilowanych obiektów czy rozdzielanie kodu
na wiele plików. Składnia jest jaka jest, po to jest help aby z niego
korzystać. I nawet jestem w stanie mu przyznać rację. Ale jak się
dowiedziałem, że wyrażenia arytmetyczne są ograniczone do dwóch
operandów (sic) i jednego operatora to mi już wszystko odpadło. Tak,
w Bascomie nie da się napisać prostego wyrażenia x=3*y+23*z, o
bardziej skomplikowanym nie wspominając. Programista musi rozłożyć
wyrażenie na kilka prostych wyrażeń jednooperatorowych wprowadzając
najczęściej dotatkowe zmienne pomocnicze. Kolejna kpina, nawet nie
liczę która.
Co można powiedzieć dobrego o Bascomie? No lista instrukcji obsługi
peryferiów robi wrażenie, trzeba przyznać ogrom pracy jaką włożono w
rozwój. I na tym koniec bo zaraz za tym idzie zadziwienie z tej
liczby doklejanych do tego jezyka instrukcji-potworków aby obsłużyć
kolejną taką czy inną kolejną funkcjonalność. Przy niektórych
mityczne b=---*a++, którym straszy sie przyszłych adeptów C to pikuś.
A miał to być język prosty, do prostych zastosowań.
--
Marek
-
8. Data: 2015-10-03 12:08:28
Temat: Re: Jakie środowisko do C dla Atmegi?
Od: k...@g...com
W dniu piątek, 2 października 2015 18:15:56 UTC+2 użytkownik ToMasz napisał:
> Wrócę jednak do mojej pierwszej myśli. Ja podchodziłem do nauki C/C++
> klilka razy. zawsze wymiękałem na pierwszym rozdziale ksążki, nie umiąc
> zrozumieć, po kija mam decydować jak dużą, dokładną liczbę będzie
> przechowywać zmienna "i" użyta w pętli for. Tym bardziej że głupi
> sterownik do karty dźwiękowej zgodnej z sound blaster zajmuje 81 dyskietek.
Znaczy wada C/C++ jest to, ze trzeba z grubsza rozumiec, jak dziala
komputer i pamiec RAM? :) Jestes pierwsza osoba, o ktorej slysze,
ktora polegla na tym. Wiekszosc osob pada na wskaznikach i z tego
powodu zostaja programistami Javy, zarabiajac 2x tyle co na programowaniu
niskopoziomowym:D
Pozdrawiam,
--
Karol Piotrowski
-
9. Data: 2015-10-03 12:10:15
Temat: Re: Jakie środowisko do C dla Atmegi?
Od: platformowe głupki <N...@g...pl>
no fakt, wskaźniki to potęga...
-
10. Data: 2015-10-03 12:18:20
Temat: Re: Jakie środowisko do C dla Atmegi?
Od: RoMan Mandziejewicz <r...@p...pl.invalid>
Hello Kropelka,
Saturday, October 3, 2015, 12:08:28 PM, you wrote:
>> Wrócę jednak do mojej pierwszej myśli. Ja podchodziłem do nauki C/C++
>> klilka razy. zawsze wymiękałem na pierwszym rozdziale ksążki, nie umiąc
>> zrozumieć, po kija mam decydować jak dużą, dokładną liczbę będzie
>> przechowywać zmienna "i" użyta w pętli for. Tym bardziej że głupi
>> sterownik do karty dźwiękowej zgodnej z sound blaster zajmuje 81 dyskietek.
> Znaczy wada C/C++ jest to, ze trzeba z grubsza rozumiec, jak dziala
> komputer i pamiec RAM? :) Jestes pierwsza osoba, o ktorej slysze,
> ktora polegla na tym. Wiekszosc osob pada na wskaznikach i z tego
> powodu zostaja programistami Javy, zarabiajac 2x tyle co na programowaniu
> niskopoziomowym:D
W obecnych czasach programowanie niskopoziomowe jest potrzebne do
tego, żeby interpretować oprogramowanie wysokopoziomowe :P
--
Best regards,
RoMan
Nowa strona: http://www.elektronika.squadack.com (w budowie!)