RTV forum PL | NewsGroups PL

Mikropascal na AVR: Czy to dobre rozwiązanie dla elektroników unikających C?

Mikropascal na AVR'y - co o tym sądzicie ??

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Mikropascal na AVR: Czy to dobre rozwiązanie dla elektroników unikających C?

Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next

JDX
Guest

Mon Jan 09, 2012 4:01 pm   



On 2012-01-08 23:24, Sebastian Biały wrote:
[.....]
Quote:
*Nikt* poza szumem nie pisze w Pascalu nowych projektów. Delphi się
jeszcze kreci bo są miliony lini kodu które trzeba utrzymać. Jednak
środowisko programistów wymiera lub po cichu uczy się C#/Java doskonale
sobie zdając sprawę że to trup. Pascal@uC to prędzej efekt 5 wieczorów
nudzenia się. Ktoś chetny na projekt bez celu?
Ale to nie znaczy, że C tudzież C++ jest takie świetne a Pascal jest do

bani. Jeśli mówimy o programowaniu uC to w C da się "szybo pi..ąć
szybkiego pacza" i to jest IMO główny powód dla którego C jest popularne
wśród ludzi piszących soft na uC. Smile Co z kolei w połączeniu z brakiem
doświadczenia i bliską zeru wśród elektroników wiedzą na temat
prowadzenia projektów software-owych prowadzi do powstawania
programistycznych koszmarów. C daje dużą swobodę i dlatego IMO nie jest
to dobry język dla początkujących ponieważ trzeba wiedzieć co się robi.
Z drugiej strony działającej i powszechnie dostępnej alternatywy
wymuszającej dobre praktyki (np. Ada) na popularne uC za bardzo nie ma...

Poza tym AFAIR to informatycy (ci zajmujący się dydaktyką) twierdzą, że
Pascal *nadal* jest niezłym językiem do dydaktyki.

BTW. Trup na trupa: http://en.wikipedia.org/wiki/Turbo51 Smile Ktoś chyba
podchwycił Twój pomysł. Smile

Michał Baszyński
Guest

Mon Jan 09, 2012 4:06 pm   



W dniu 2012-01-09 14:40, RoMan Mandziejewicz pisze:

Quote:
A nie wrzuciłbyś do koperty bąbelkowej - zwrócę koszty - bardzo
proszę.

odezwij sie na priv z adresem do wysyłki (w moim adresie jest gazeta.pl)

--
Pozdr.
Michał

JDX
Guest

Mon Jan 09, 2012 4:17 pm   



On 2012-01-09 02:04, RoMan Mandziejewicz wrote:
[.....]
Quote:
Po co mi te 32 bity? Ja nie mam zamiaru niczego wielkiego robić.
Dla wygody, kolego, dla wygody. Wygody programowania. Odpada wiele

problemów, zwłaszcza wtedy, gdy rozmiar kodu i/lub danych zacznie
ocierać się o granicę 64KiB. IMO w przypadku projektów które mają być
wdrożone w małej ilości egzemplarzy zupełnie nie ma co zawracać sobie
głowy ośmiobitowcami aby zoptymalizować koszty.

JDX
Guest

Mon Jan 09, 2012 4:33 pm   



On 2012-01-09 02:11, Jacek Radzikowski wrote:
[.....]
Quote:
A tak nawiasem mówiąc, jako osoba żyjąca z programowania, nie rozumiem
ciągłych grupowych wojenek o wyższości jednego języka nad innymi i
nawracania niewiernych.
No ja również nie rozumiem skoro dla pospólstwa piszącego na uC z

kilkoma/kiludziesięcioma KiB RAM w zasadzie tylko C, C++ i BASIC są
dostępne. Smile

Jacek Radzikowski
Guest

Mon Jan 09, 2012 4:53 pm   



On 01/09/2012 10:33 AM, JDX wrote:
Quote:
On 2012-01-09 02:11, Jacek Radzikowski wrote:
[.....]
A tak nawiasem mówiąc, jako osoba żyjąca z programowania, nie rozumiem
ciągłych grupowych wojenek o wyższości jednego języka nad innymi i
nawracania niewiernych.
No ja również nie rozumiem skoro dla pospólstwa piszącego na uC z
kilkoma/kiludziesięcioma KiB RAM w zasadzie tylko C, C++ i BASIC są
dostępne. Smile

Plus wymienione w wątku Wiring i Ada, jest python na mikrokontrolery,
NesC też jest bardzo przyjemne i wydajne, znajdzie się pewnie jeszcze
kilka innych języków. Jest w czym wybierać.

j.

Jacek Radzikowski
Guest

Mon Jan 09, 2012 5:06 pm   



On 01/09/2012 04:49 AM, Waldemar Krzok wrote:
Quote:
RoMan,

weź sobie kup MLaunchPad od TI. Kosztuje straszne pieniądze, konkretnie
4.30$ z przesyłką. Masz płytkę z międzymordziem USB do programowania
tego, dwa procesory, a soft ściągasz sobie ze strony TI. W komplecie
jest też kabel USB, gdzieniegdzie płacisz już tyle za sam kabel Wink.

O ile MSP uważam za wspaniałą rodzinkę procesorów, to jednak bym uważał
z polecaniem Launchpada komuś kto dopiero zaczyna zabawę. A jeśli już to
razem z samplami MSP430G2553. O ile TI nie uaktualnił zestawu
dołączanych kostek, to procesory w zestawie mają bardzo ograniczone
możliwości sprzętowe.

pzdr.
j.

Waldemar Krzok
Guest

Mon Jan 09, 2012 5:20 pm   



Am 09.01.2012 17:06, schrieb Jacek Radzikowski:
Quote:
On 01/09/2012 04:49 AM, Waldemar Krzok wrote:
RoMan,

weź sobie kup MLaunchPad od TI. Kosztuje straszne pieniądze, konkretnie
4.30$ z przesyłką. Masz płytkę z międzymordziem USB do programowania
tego, dwa procesory, a soft ściągasz sobie ze strony TI. W komplecie
jest też kabel USB, gdzieniegdzie płacisz już tyle za sam kabel Wink.

O ile MSP uważam za wspaniałą rodzinkę procesorów, to jednak bym uważał
z polecaniem Launchpada komuś kto dopiero zaczyna zabawę. A jeśli już to
razem z samplami MSP430G2553. O ile TI nie uaktualnił zestawu
dołączanych kostek, to procesory w zestawie mają bardzo ograniczone
możliwości sprzętowe.

Może i ograniczone, ale dostajesz je praktycznie za darmo. A parę rzeczy
można na tym zrobić. Mój miernik impedancji elektrod, na przykład,
chodzi też na kostkach z zestawu. Trochę akademicko sprawdzałem, bo już
mam gotową płytkę na F2013, ale się da. Albo proste międzymordzie do
klawiatury pojemnościowej. Program jest już gotowy, dorabiasz tylko
wyjście do reszty systemu i jazda. A te trochę większe procki serii G
można sobie zasamplować. W każdym razie polecam zainteresowanie się tym
procesorem, bo świetnie nadaje się do zastosowań bateryjnych. A
16-bitowe ADC w niektórych prockach serii F też piechty nie chodzi. OK,
wyciągnie się 14 bitów, ale te bez specjalnej gimnastyki i modłów do
wszystkich bogów.

Waldek


--
My jsme Borgové. Sklopte štíty a vzdejte se. Odpor je marný.

Jacek Radzikowski
Guest

Mon Jan 09, 2012 5:33 pm   



On 01/09/2012 11:20 AM, Waldemar Krzok wrote:
Quote:
Am 09.01.2012 17:06, schrieb Jacek Radzikowski:
O ile MSP uważam za wspaniałą rodzinkę procesorów, to jednak bym uważał
z polecaniem Launchpada komuś kto dopiero zaczyna zabawę. A jeśli już to
razem z samplami MSP430G2553. O ile TI nie uaktualnił zestawu
dołączanych kostek, to procesory w zestawie mają bardzo ograniczone
możliwości sprzętowe.

Może i ograniczone, ale dostajesz je praktycznie za darmo. A parę rzeczy
można na tym zrobić. Mój miernik impedancji elektrod, na przykład,
chodzi też na kostkach z zestawu. Trochę akademicko sprawdzałem, bo już
mam gotową płytkę na F2013, ale się da. Albo proste międzymordzie do
klawiatury pojemnościowej. Program jest już gotowy, dorabiasz tylko
wyjście do reszty systemu i jazda. A te trochę większe procki serii G
można sobie zasamplować. W każdym razie polecam zainteresowanie się tym
procesorem, bo świetnie nadaje się do zastosowań bateryjnych. A
16-bitowe ADC w niektórych prockach serii F też piechty nie chodzi. OK,
wyciągnie się 14 bitów, ale te bez specjalnej gimnastyki i modłów do
wszystkich bogów.

Podpisuję się pod tym wszystkimi łapami. Ale tylko jeśli ktoś wie co
robi. IMHO brak sprzętowego UARTU dyskwalifikuje małe procesory z serii
G2 do zaczynania zabawy z mikrokontrolerami. Programowy uart może być za
trudny do opanowania, a poza tym zjada sporo zasobów. Na 2kB flasha też
się nie poszaleje. Dlatego też wspomniałem o samplach MSP430G2553. Ma
wszystkie peryferia niezbędne do rozpoczęcia zabawy i 16kB flasha.
Sensowną alternatywą dla launchpada i sampli jest zestaw Experimenter
Board dla nowej serii procesorów MSP z pamięcią FRAM zamiast flasha. Ale
kosztuje trochę drożej niż launchpad :(

pzdr.
j.

Waldemar Krzok
Guest

Mon Jan 09, 2012 5:46 pm   



Am 09.01.2012 16:01, schrieb JDX:
Quote:
On 2012-01-08 23:24, Sebastian Biały wrote:
[.....]
*Nikt* poza szumem nie pisze w Pascalu nowych projektów. Delphi się
jeszcze kreci bo są miliony lini kodu które trzeba utrzymać. Jednak
środowisko programistów wymiera lub po cichu uczy się C#/Java doskonale
sobie zdając sprawę że to trup. Pascal@uC to prędzej efekt 5 wieczorów
nudzenia się. Ktoś chetny na projekt bez celu?
Ale to nie znaczy, że C tudzież C++ jest takie świetne a Pascal jest do
bani. Jeśli mówimy o programowaniu uC to w C da się "szybo pi..ąć
szybkiego pacza" i to jest IMO główny powód dla którego C jest popularne
wśród ludzi piszących soft na uC. Smile Co z kolei w połączeniu z brakiem
doświadczenia i bliską zeru wśród elektroników wiedzą na temat
prowadzenia projektów software-owych prowadzi do powstawania
programistycznych koszmarów. C daje dużą swobodę i dlatego IMO nie jest
to dobry język dla początkujących ponieważ trzeba wiedzieć co się robi.
Z drugiej strony działającej i powszechnie dostępnej alternatywy
wymuszającej dobre praktyki (np. Ada) na popularne uC za bardzo nie ma...

Poza tym AFAIR to informatycy (ci zajmujący się dydaktyką) twierdzą, że
Pascal *nadal* jest niezłym językiem do dydaktyki.

Pascal JEST językiem do dydaktyki. Ma jednak lekką niechęć do
programowania blisko hardware. Konkretnie w Pascalu tak jak bóg (znaczy
Wirth) go stworzył nie ma możliwości adresowania komórek pamięci (ok, da
się poprzez przypisanie stałej do wskaźnika, ale ładnie to nie wygląda),
a do przerwań czy, o zgrozo, multithreadingu wogóle nie ma ładnej
możliwości. Delphi jest pewnym krokiem od dydaktyki do produkcji, ale
ten koń też już zaczyna śmierdzieć.

Co do mikroprocesorów, to C jest kompromisem między assemblerem, a
"porządnym" językiem. Im mniejszy mikrokontroller, tym bardziej mamy
tylko te 2 języki jako alternatywy. A ładnie programować można w
dowolnym języku i na odwrót. Jak mamy większe kostki, to już zaczyna być
wygodniej, aż do składania programów z graficznych "kostek", jak to mają
co poniektóre PLC. Albo LEGO MasterMind (R). Tam sobie układasz klocki
LEGO na ekranie i toto nawet działa Wink.

Osobiście znam trochę tych języków programowania. Programy popełniłem
chyba w 30 językach, większość jednak to dydaktyka na uczelni (też jako
nauczyciel). Poczynając od Fortranu, przez wsie Algole, Prolog, LISP (od
tego miałem rekurencyjne sny Wink), a nawet jakiś śmieszny programik w
Cobolu na zaliczenie. W tej chwili używam C lub C++ na PCcie, C lub
Assembler na mikroprocesory. No i ostatnio jakiś Arduino ze swoim
"prawie-C", albo procesor graficzny z 3GC, czy jak temu dialektowi. Jak
się umie programować, to język właściwie obojętny. Ale to chyba tak, jak
z językami obcymi: tych 0x10 pierwszych sprawia problemy, następne
wchodzą jak przez masło Wink.
Warto wiedzieć, że im bardziej abstrakcyjny (i wymuszający dobre
praktyki) język, tym trudniej jest optymalizować kod. Pisząc program
zajmujący mało pamięci i szybki musi się myśleć kategoriami procesora.
Trzeba wiedzieć gdzie są tworzone zmienne, unikać konwersji między
różnymi strukturami danych, conieco pozostawić w rejestrze. Przy
przerwaniach ratować tylko te rejestry, na których operujemy i podobne
cuda. Już w C coponiektórzy wywalili się na prostym printf. Program miał
powiedzmy 1k, dodano jedną linijkę z printf i już ma 20k, albo i więcej.
Bo się całą bibliotekę zmiennoprzecinową dolinkowało, choć tego nie trzeba.

Waldek


--
My jsme Borgové. Sklopte štíty a vzdejte se. Odpor je marný.

JDX
Guest

Mon Jan 09, 2012 5:49 pm   



On 2012-01-09 16:53, Jacek Radzikowski wrote:
[.....]
Quote:
Plus wymienione w wątku Wiring i Ada, jest python na mikrokontrolery,
NesC też jest bardzo przyjemne i wydajne, znajdzie się pewnie jeszcze
kilka innych języków. Jest w czym wybierać.
W przypadku Ady wybór jest raczej czysto teoretyczny ponieważ nie ma

dobrego taniego bądź darmowego kompilatora. A przynajmniej ja takowego
nie znam. Zresztą Green Hills nie oferuje narzędzi na "drobnicę" typu
AVR, H8 czy MSP430. Natomiast AVR-GCC jest AFAIK od kilku ładnych lat w
powijakach. Swoją drogą swego czasu nawet sam myślałem aby zrobić coś
takiego dla H8/300H i H8S.

Python? Ale to chyba masz na myśli (typowe) używanie go jako embedded
command interpreter a nie jako kompilowany język masowego rażenia do
którego wkładasz źródła a wyjmujesz binarkę do wypalenia w jakimś
ROM-ie. Zresztą Python ze względu na dynamiczność typów i automatyczne
zarządzanie pamięcią IMO raczej słabo nadaje się do tworzenia
oprogramowania systemowego. Chociaż jako język osadzony rzeczywiście
jest w porządku.

Wiring? O tym mówisz
http://en.wikipedia.org/wiki/Wiring_%28development_platform%29? Nie
znam, ale wygląda na to, że używanymi tam językami są C i C++. Smile Poza
tym Wiring nie jest językiem programowania. :-)

NesC? O to chodzi http://nescc.sourceforge.net/? Nie znam, ale wygląda
na jakiś mocno specjalizowany język. Bazowany na C. :-)

IMO jeśli się przyjrzysz to za bardzo nie ma w czym wybierać. Bo albo
brakuje kompilatorów (wspomniana Ada) albo sam język programowania
niejako z definicji niezbyt pasuje do (takiego prawdziwego
niskopoziomowego) embedded software developement (wspomniany Python czy
tez mój ulubiony Eiffel).

Lisciasty
Guest

Mon Jan 09, 2012 6:03 pm   



On 9 Sty, 12:04, RoMan Mandziejewicz <ro...@pik-net.pl> wrote:
Quote:
Serdecznie dziękuję. Ale już mam taki mętlik, że chyba sobie odpuszczę
Sad

Nie poddawaj się :]

Ja też zaczynałem otumaniony bo za dużo tego na raz, w końcu kupiłem
sobie

http://www.btc.pl/?id_prod=38700

razem z zestawem uruchomieniowym i programatorem. Wiadomo że płytkę
można sobie samemu, ebooka w pdf się ściągnie itp. ale tutaj masz
wszystko podane na tacy, zestaw jest akurat dla średnio kumatego
elektronika który chce sobie pomrugać diodami i ponaciskać guziki.

Pzdr.
L.

nenik
Guest

Mon Jan 09, 2012 6:20 pm   



RoMan Mandziejewicz <roman@pik-net.pl> napisał(a):

Quote:
Hello J.F.,

Monday, January 9, 2012, 1:17:08 AM, you wrote:

Nie lubię C i wszelakich jego klonów. W Pascalu jestem w miarę ..
Pascal i C to jezyki o praktycznie identyczym targecie, składni,
Bez żartów - składnia C(+(+)) jest porąbana.
Jak sie czlowiek nie podnieca mozliwosciami, to jest bardzo podobna.
W koncu nie ma obowiazku pisac 5[a], czy nawet i++ (lepiej ++i).

Właśnie mnie zdenerwowałeś. Swoją drogą - młody opanował C++ i okolice
na takim poziomie, że już nie mam o czym z nim rozmawiać :(


jak w celach edukacyjnych zalaczyc przekaznik na 2 sekundy, prosty lcd + avr
to moze to
http://www.matrixmultimedia.com/lc_index.php?p=7
zawsze pozniej mozna tam wklepac cos w C jak i asm

Ja pisze z perspektywy amatora :)





--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

badworm
Guest

Mon Jan 09, 2012 8:48 pm   



Dnia Mon, 9 Jan 2012 01:04:42 +0100, RoMan Mandziejewicz napisał(a):

Quote:
- co do "migania diodą" to p. Górecki(?) z EdW(?) ZTCP napisał całkiem
niezły kurs C/Cpp dla AVRów, tyle, że to było zupełnie "od zera", ale
chyba przypomnieć sobie nie zaszkodzi.
Jasne. Ale przydałby się jakiś link....

Prosisz - masz: http://sklep.avt.pl/p/pl/485505/kurs+c.html Nie wiem
nawet, czy PDFy z tym kursem (był publikowany od maja 2005) nie są
dostępne za darmo w archiwym EdW na Elportalu.
Quote:
Myslę, że programowanie jest prostsze. Problem jest w samych
początkach i "oczywistych" kruczkach.

Tamten kurs jest naprawdę przystępnie napisany. Wyjaśnione są podstawowe
zagadnienia odnośnie instalacji i konfiguracji pakietu WinAVR+AVR
Studio, struktury plików makefile itp. sprawy. Jeśli zaś chodzi o sprzęt
do ćwiczeń to po kilku próbach z różnymi płytkami skończyłem na tym:
http://obrazki.elektroda.net/97_1326138021.jpg
Wzór PCB do tego masz tutaj:
http://elportal.pl/ftp_05/201008szkola169.zip (paczka 169hoffmann.zip w
środku). Proste i najlepsze - co będziesz potrzebował to sobie
podłączysz a w gruncie rzeczy złącza śrubowe dają najpewniejszy styk i
są najszybsze. Może też być jakaś płytka stykowa ale mi one nie leżą pod
AVRy ze względu na dwurzędowe złącze programatora - taki sobie przyjąłem
standard.
--
Pozdrawiam Bad Worm badworm[maupa]post{kropek}pl
GG#2400455 ICQ#320399066

Sebastian Biały
Guest

Mon Jan 09, 2012 9:28 pm   



On 2012-01-09 01:43, RoMan Mandziejewicz wrote:
Quote:
Nie, no - kuźwa, ja pierdolę! - totalna pomyłka jakaś.

Nie nie pomyłka. Mikolaj już był, ale masz tutaj prezent:

http://sebobialy.net/avr.zip

W środku 3 pliki. Odpalasz compile.bat a potem odpalasz upload.bat i
masz migającą diodę na mega88. Programator to usbasp, ale możesz sobie
zmienić, chyba widać gdzie, tak samo jak procek. Prościej się chyba nie
da. Dla oswojenia compile.bat generuje jeszcze źródlo w asm do wglądu.

Quote:
"I HIGHLY RECOMMEND THAT YOU BECOME FAMILIAR WITH THE
MAKE PROGRAM AND WRITING MAKEFILES!

To nie jest prawda. makefile przyda się kiedy projekt będzie duży. Jesli
składa się z kilkunastu plików .c możesz je kompilować hurtem za każdym
razem i nawet nie poczujesz.

Quote:
Jasne. Nawet, kwa nać!, nie wiadomo jak programator odpalić Sad

Wszystko w examplu. Pamiętaj tylko żeby WinAVR był na ścieżce i odpali.

Miłego migania.

Sebastian Biały
Guest

Mon Jan 09, 2012 9:34 pm   



On 2012-01-09 16:01, JDX wrote:
Quote:
Ale to nie znaczy, że C tudzież C++ jest takie świetne a Pascal jest do
bani. Jeśli mówimy o programowaniu uC to w C da się "szybo pi..ąć
szybkiego pacza" i to jest IMO główny powód dla którego C jest popularne
wśród ludzi piszących soft na uC. Smile

Dłubanie po gołej pamięci odbywa się znacznie sprawniej w C niż w
Pascalu. Ludzie od uC lubią dłubać jak w asm. Z resztą wiekszość kodu na
uC wyglada jak asm. Pascal mocno to ogranicza. Zapewne z tego powodu
przyjął się też Verilog. VHDL jest zbyt restrykcyjny i gadatliwy, a
korzenie z Pascalem wspólne.

Quote:
Poza tym AFAIR to informatycy (ci zajmujący się dydaktyką) twierdzą, że
Pascal *nadal* jest niezłym językiem do dydaktyki.

Albowiem? Przy czym zaznaczam że też byłem rzeczonym informatykiem
zajmującym się dydaktyką. Nie jestem w stanie, mimo najlepszych chęci,
znaleźć choćby pół powodu.

Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Mikropascal na AVR: Czy to dobre rozwiązanie dla elektroników unikających C?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map