Czy za pomoca BASIC'a...
From: "Kamyk" <rumbero_at_nospam_poczta.onet.pl>
Subject: Czy za pomoca BASIC'a...
Date: Fri, 21 Jun 2002 12:19:23 +0200
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
From: Marcin Stanisz <mstanisz_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: 21 Jun 2002 10:18:00 GMT
W artykule <aeuuaj$4r3$2_at_nospam_news.tpi.pl> Kamyk napisal(a):
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
Był to niewątpliwie Kamyk do ogródka lamerii, która nawet przejrzeć
20 ostatnich postów nie umie.
Idź i nie grzesz więcej :-)
Marcin Stanisz
--
"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Fri, 21 Jun 2002 13:47:23 +0200
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
Był to niewątpliwie Kamyk do ogródka lamerii, która nawet przejrzeć
20 ostatnich postów nie umie.
Idź i nie grzesz więcej :-)
To ja podpowiem - NIE ma takiej możliwości *
--
PZD, Irek.N.
* potrzebny jest programator - choćby najprostszy, ale jednak. ;-))
From: "Kamyk" <rumbero_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Fri, 21 Jun 2002 23:48:49 +0200
Użytkownik Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl> w wiadomości
do grup dyskusyjnych napisał:3D13124B.609F6FB7_at_nospam_multispedytor.com.pl...
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
Był to niewątpliwie Kamyk do ogródka lamerii, która nawet przejrzeć
20 ostatnich postów nie umie.
Idź i nie grzesz więcej :-)
To ja podpowiem - NIE ma takiej możliwości *
--
> PZD, Irek.N.
> * potrzebny jest programator - choćby najprostszy, ale jednak. ;-))
>
Pozdrawiam
--
Kamyk
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 21 Jun 2002 23:51:02 +0200
To ja podpowiem - NIE ma takiej możliwości *
--
> PZD, Irek.N.
> * potrzebny jest programator - choćby najprostszy, ale jednak. ;-))
I tu się mylisz Visual Basic nie potrzebuje programatora. ;-)
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sat, 22 Jun 2002 01:43:06 +0200
I tu się mylisz Visual Basic nie potrzebuje programatora. ;-)
Tia...na mikrokontroler... ;-))))
Pewnie wystarczy źródło wydrukować, położyć na nim procka i już macha
nóżkami ;-)
--
PZD, Irek.N.
From: Milosz Skowyra <miloszek_at_nospam_fido.net.org.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sat, 22 Jun 2002 00:25:46 +0200
ziel wrote:
To ja podpowiem - NIE ma takiej możliwości *
* potrzebny jest programator - choćby najprostszy, ale jednak. ;-))
I tu się mylisz Visual Basic nie potrzebuje programatora. ;-)
Jak to nie... potrzebuje programatora albo programatorki... coby
siedziala za klawiatura i programowal(a).
--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Siala baba mak i dostala dozywocie...
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 22 Jun 2002 12:31:45 +0200
Jak to nie... potrzebuje programatora albo programatorki... coby
siedziala za klawiatura i programowal(a).
--
No to fatycznie, pytanie było bezsensowne. Programator jaki by nie był
zawsze jest potrzebny ;-)
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: "Kamyk" <rumbero_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 20:29:06 +0200
Użytkownik ziel <zielpro_at_nospam_cavern.pl> w wiadomości do grup dyskusyjnych
napisał:DOELJDHHJKPIEKPIGAMEOEAFDFAA.zielpro_at_nospam_cavern.pl...
Jak to nie... potrzebuje programatora albo programatorki... coby
siedziala za klawiatura i programowal(a).
--
>
> No to fatycznie, pytanie było bezsensowne. Programator jaki by nie był
> zawsze jest potrzebny ;-)
Ludzie Wy mnie nie zalamujcie, to ze potrzebny jest programator to wie kazdy
kamyk, ja sie chcialem dowiedziec czy za pomoca BASICA mozna napisac
program ktory mikrokontroler bedzie w stanie wykonac !!
albo inaczej, czy BASIC nadaje sie do pisania programow do celow sterowania
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 20:47:48 +0200
Ludzie Wy mnie nie zalamujcie, to ze potrzebny jest programator to wie kazdy
kamyk, ja sie chcialem dowiedziec czy za pomoca BASICA mozna napisac
program ktory mikrokontroler bedzie w stanie wykonac !!
albo inaczej, czy BASIC nadaje sie do pisania programow do celow sterowania
Nie załamuj się - po prostu grupa ma dobre podejście do tematu :-))
Oczywiście - dokładne dane, zalety, wady - znajdziesz we właśnie odbywajšcej się
dyskusji na temat wyższości B nad C przy A ;-)
--
PZD, Irek.N.
ps. szukaj słowa Bascom.
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 23 Jun 2002 21:17:40 +0200
Ludzie Wy mnie nie zalamujcie, to ze potrzebny jest programator
to wie kazdy
kamyk, ja sie chcialem dowiedziec czy za pomoca BASICA mozna napisac
program ktory mikrokontroler bedzie w stanie wykonac !!
albo inaczej, czy BASIC nadaje sie do pisania programow do celow
sterowania
Zależy od podejscia.
Nie znając procków AVR dzieki BASCOM'owi napisałem całkiem spory program.
Oczywiście podpierając się dokumentacją do nich, tym nie mnniej nauczyłem
się
asemblera AVR własnie dzięki BASCOM'owi, z powodu dużej łatwosci nauki i
przejrzystości.
Ludzie, którzy znają C, nie przejdą na BASCOM'a, bo nie oferuje on nic
nowego i w wiele
przyzwyczjeń trzeba zmienić, a także radzić sobie z rozwiązywanie problemów
w inny sposób.
Dlaczego BASCOM generuje większy kod niż C? Bo jeśli nie zaznaczy się opcji
noinit, to
czyści całą pamięć, ustawia wszystkie rejestry i zależnie od tego co robi
program dodaje
stosowne biblioteki. A wszystko po to aby jak najszybciej uruchomić program
bez zbędnego
pamietania o szczegółach (w których siedzi diabeł), dlatego program : c=a+b
zajmuje tyle pamięci.
Jeśli napiszesz dobrze program, będzie dobrze pracował.
W kazdym bądź razie program nie będzie wolny, zawodny i rozdęty tylko
dlatego, że został napisany w BASCOM'ie.
Do tego, żeby Twój program mógł konkurować z np. C niestety musisz znać asm
w równym stopniu jak ten piszący w C.
Ludzie, którzy twierdzą, że BASCOM generuje dużo śmieci, najwyraźniej nigdy
w życiu nie widzeli co jest generowane
przez BASCOM. Sporo czasu przesiedziałem analizując programy wygenerowane
przez BASCOM, aby pewne funkcje dostosować
do swoich potrzeb i spokojnie mogę stwierdzić - nie stwierdzierdzono
obecności śmieci.
Owszem przy małych programach C generuje krótszy kod, ale w miarę rozrostu
programu ta różnica się zmniejsza.
Podprogramy w BASCOM'ie nie sa wieksze, dlatego, że to BASCOM, ale dlatego,
że są bardziej uniwersalne,
tzn. mnożąc dwie liczby mamy kod długości 2kB,w C 500bajtów, ale jeśli
dodamy mnożenie liczb word i dzielenie
pierszy wydłuży sie o 10 bajtów, a drugi o 500 bajtów. W przypadku restartu
program z BASCOM'u zadziała bezbłędnie
natomiast program w C może użyć starych wartości, bo programującemu w C
wydawało się zbędne zerowanie RAM.
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 21:46:05 +0200
Zależy od podejscia.
Nie znajšc procków AVR dzieki BASCOM'owi napisałem całkiem spory program.
Oczywiście podpierajšc się dokumentacjš do nich, tym nie mnniej nauczyłem się
asemblera AVR własnie dzięki BASCOM'owi, z powodu dużej łatwosci nauki i
przejrzystości.
Ludzie, którzy znajš C, nie przejdš na BASCOM'a, bo nie oferuje on nic
nowego i w wiele przyzwyczjeń trzeba zmienić, a także radzić sobie z
rozwišzywanie problemów
w inny sposób.
Zgoda.
Dlaczego BASCOM generuje większy kod niż C? Bo jeśli nie zaznaczy się opcji
noinit, to czyści całš pamięć, ustawia wszystkie rejestry i zależnie od tego
co robi
program dodaje stosowne biblioteki. A wszystko po to aby jak najszybciej
uruchomić program
bez zbędnego pamietania o szczegółach (w których siedzi diabeł), dlatego
program : c=a+b
zajmuje tyle pamięci.
Tutaj juz nie. Komnpilatory C tez dbaja o wartosci poczatkowe. Czesto
przywolywany przezemnie Keil nawet przy powolywaniu zmiennej dba o jej startowa
wartosc.
Jeśli napiszesz dobrze program, będzie dobrze pracował.
W kazdym bšdź razie program nie będzie wolny, zawodny i rozdęty tylko
dlatego, że został napisany w BASCOM'ie.
Do tego, żeby Twój program mógł konkurować z np. C niestety musisz znać asm
w równym stopniu jak ten piszšcy w C.
Ludzie, którzy twierdzš, że BASCOM generuje dużo śmieci, najwyraźniej nigdy
w życiu nie widzeli co jest generowane przez BASCOM. Sporo czasu
przesiedziałem analizujšc programy wygenerowane
przez BASCOM, aby pewne funkcje dostosować do swoich potrzeb i spokojnie mogę
stwierdzić - nie stwierdzierdzono
obecności śmieci.
OK. Powatpiewam jednak w mozliwosc dogonienia C jesli chodzi o dlugosc kodu.
Chocby ze wzgledu na uproszczenie typow, nie wiem - ale chyba nie ma
wskaźników, no i zapis w jednej linii. W C naprawde mozna _zapisac formule
dokladnie pod kod ASM-a_ - zobacz na przyklad z klawiatura matrycowa ;-)) w
bascomie stracisz na to jakiś zasób oraz możliwość ukierunkowania kompilacji
;-) Sprubujesz rozpisac to samo pod katem dlugosci kodu?
Owszem przy małych programach C generuje krótszy kod, ale w miarę rozrostu
programu ta różnica się zmniejsza.
Podprogramy w BASCOM'ie nie sa wieksze, dlatego, że to BASCOM, ale dlatego,
że sš bardziej uniwersalne, tzn. mnożšc dwie liczby mamy kod długości 2kB,w C
500bajtów, ale jeśli
dodamy mnożenie liczb word i dzielenie pierszy wydłuży sie o 10 bajtów, a
drugi o 500 bajtów.
?? Chyba nie załapuję. Poza tym nawet nawet jeśli dodasz - to masz 2k010B a w C
tylko 1k ;-))
Czy chodzi Ci o to, ze doklei cala biblioteke i masz sprawe na zas
zalatwiona??? To bardzo duza wada - tracisz bardzo cenne zasoby kontrolera -
nie sadze zeby doklejal cala biblioteke od razu, nie che mi sie wierzyc :-(
W przypadku restartu program z BASCOM'u zadziała bezbłędnie natomiast program
w C może użyć starych wartości, bo programujšcemu w C
wydawało się zbędne zerowanie RAM.
Ech...programy zaczynaja sie zazwyczaj od procedur inicjujacych. W Keilu jest
to chyba startup...w kazdym razie tak jak pisalem Ci wczesniej - nigdy nic nie
dzieje sie przypadkowo. Głupie int a; powoduje, ze bajty reprezentujace
zawartosc a sa od razu zerowane :-)
Ach - jeden przypadek ktory moze byc brzemenny w skutkach - w C nie ma kontroli
przekroczenia indeksu...(np: tablic), wiec mozna pobazgrac sobie po pamieci
zupelnie nieswiadomie. Basic z tego co pamietam ma taka kontrole, czy Bascom
tez ja ma?
Pozdrawiam Arturze
--
PZD, Irek.N.
ps. lekko sprowokowany ;-)
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 24 Jun 2002 00:01:07 +0200
Zgoda.
Z tym polemizować nie będę. ;-)
Tutaj juz nie. Komnpilatory C tez dbaja o wartosci poczatkowe. Czesto
przywolywany przezemnie Keil nawet przy powolywaniu zmiennej dba
o jej startowa
wartosc.
Ale w BASCOM'ie to jest obligatoryje, w C mozna obejść, a własciwie pójść na
skróty.
Sam se sprawdzę czy w miejscu po tymczasowej zmiennej CV zeruje pamięć w tym
miejscu,
po zwolnieniu lub w chwili restartu. Tak, baskomowiec, też myśli o takich
rzeczach ;-)
OK. Powatpiewam jednak w mozliwosc dogonienia C jesli chodzi o
dlugosc kodu.
Nie dogoni. Wrogowie BASCOM'a już o to zadabali ;-)
Chocby ze wzgledu na uproszczenie typow, nie wiem - ale chyba nie ma
wskaźników,
W AVR są.
no i zapis w jednej linii. W C naprawde mozna _zapisac formule
dokladnie pod kod ASM-a_ - zobacz na przyklad z klawiatura
matrycowa ;-))
I to własnie odstrasz początkujących programistów, z tego powodu
wystartowałem do AVR'ów właśnie z poziomu BASCOM'a.
w bascomie stracisz na to jakiś zasób oraz możliwość
ukierunkowania kompilacji
;-) Sprubujesz rozpisac to samo pod katem dlugosci kodu?
;-) W BASCOM'ie uzyję funkcji - readkey().
Proszę jej nie szukać, wczoraj napisalem ją sobie w asm. ;-)
Oryginalnej nie używałem, bo mi do hardware nie pasowała ;-)
?? Chyba nie załapuję. Poza tym nawet nawet jeśli dodasz - to
masz 2k010B a w C
tylko 1k ;-))
Tak, ale na poziomie 40kB w basic'u w C wychodzi 30kB, oczywiście
nie opieram tego na konkretnych przykładach, a jedynie na analizie
tego co wychodzi w asm, i porównując z tym jak bym to zrobił ja pisząc
w asm. Ale tak jest cena prostoty pisania z marszu.
Czy chodzi Ci o to, ze doklei cala biblioteke i masz sprawe na zas
zalatwiona??? To bardzo duza wada - tracisz bardzo cenne zasoby
kontrolera -
nie sadze zeby doklejal cala biblioteke od razu, nie che mi sie
wierzyc :-(
Przyklad: w bibliotece obsługi LCD graficznego znajduje się rysowanie
obrazka
z pamieci programu, rysowanie obrazka z pamięci EEPROM, zapalanie i gaszenie
piksla,
rysowanie kółka, linii i coś jeszcze. To wszystko jest ładowane w momencie
zadeklarowania podłaczenia wyświetlacza graficznego. dzieki temu nie muszę
pamiętać
o dołączeniu odpowiedniej biblioteki. Oczywiście nic nie stoi na
przeszkodzie aby sobie
rozbić to na kilka mniejszych, tylko że właściwa obsługa i tak znajduje się
w procedurze
inicjalizacji wyświetlacza.
Ech...programy zaczynaja sie zazwyczaj od procedur inicjujacych.
W Keilu jest
to chyba startup...w kazdym razie tak jak pisalem Ci wczesniej -
nigdy nic nie
dzieje sie przypadkowo. Głupie int a; powoduje, ze bajty reprezentujace
zawartosc a sa od razu zerowane :-)
A zmienne lokalne? czy są zerowane po zwolnieniu lub w momencie restartu?
Zaraz sobie to zobaczę ;-)
Ach - jeden przypadek ktory moze byc brzemenny w skutkach - w C
nie ma kontroli
przekroczenia indeksu...(np: tablic), wiec mozna pobazgrac sobie
po pamieci
zupelnie nieswiadomie. Basic z tego co pamietam ma taka kontrole,
czy Bascom
tez ja ma?
Można zapisać do tablicy[20] pod adres 23.
Pozdrawiam Irku
PS
lekko podszkolony.;-)
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 08:42:04 +0200
Zgoda.
Z tym polemizować nie będę. ;-)
-))
Ale w BASCOM'ie to jest obligatoryje, w C mozna obejść, a własciwie pójść na
skróty. Sam se sprawdzę czy w miejscu po tymczasowej zmiennej CV zeruje pamięć
w tym
miejscu, po zwolnieniu lub w chwili restartu. Tak, baskomowiec, też myśli o
takich
rzeczach ;-)
Yyy...a w Bascomie nie da się tego obejść? Poza tym - co to znaczy
obligatoryjne? Masz na myśli - nowy default-owy projekt i jest? to w C Keila też
jest w takim razie obligatoryjne ;-)
Acha - co mnie obchodzi PO zmiennej, ważne aby wpowołanie zmiennej do życia było
przewidywalne :-)
Chocby ze wzgledu na uproszczenie typow, nie wiem - ale chyba nie ma
wskaźników,
W AVR są.
W Bascomie AVR mozna użyć wskaźników - super!, nie spodziewałem się.
I to własnie odstrasz początkujących programistów, z tego powodu
wystartowałem do AVR'ów właśnie z poziomu BASCOM'a.
Ale nikt nie każe tak pisać - choć moim zdaniem zapis taki (w jednej linii -
ładnie poukładany) jest czytelniejszy od algorytmiczego.
To już sprawa gustu na szczęście :-)
w bascomie stracisz na to jakiś zasób oraz możliwość
ukierunkowania kompilacji
;-) Sprubujesz rozpisac to samo pod katem dlugosci kodu?
;-) W BASCOM'ie uzyję funkcji - readkey().
Do odczytu klawiatury matrycowej? no nieźle - i co dostaniesz w wyniku?
Proszę jej nie szukać, wczoraj napisalem ją sobie w asm. ;-)
Oryginalnej nie używałem, bo mi do hardware nie pasowała ;-)
Acha - wszystko w temacie :-)))
Przyklad: w bibliotece obsługi LCD graficznego znajduje się rysowanie
obrazka z pamieci programu, rysowanie obrazka z pamięci EEPROM, zapalanie i
gaszenie
piksla, rysowanie kółka, linii i coś jeszcze. To wszystko jest ładowane w
momencie
zadeklarowania podłaczenia wyświetlacza graficznego. dzieki temu nie muszę
pamiętać o dołączeniu odpowiedniej biblioteki. Oczywiście nic nie stoi na
przeszkodzie aby sobie rozbić to na kilka mniejszych, tylko że właściwa
obsługa i tak znajduje się
w procedurze inicjalizacji wyświetlacza.
Toż to tragedia z zasobami w przypadku mniejszych kostek. :-( Użycie kilku
bibliotek i żegnaj flash-u, nie mówiąc o tym, że długo się programuje przy
testowaniu kolejnych wersji kodu ;-)
A zmienne lokalne? czy są zerowane po zwolnieniu lub w momencie restartu?
Zaraz sobie to zobaczę ;-)
;-)) Co Ty masz z tym zerowaniem po zwolnienieniu?
Można zapisać do tablicy[20] pod adres 23.
Czyli też nie kontroluje - i dobrze, i źle. :-)
Pozdrawiam Irku
PS
lekko podszkolony.;-)
-))
Miłego poniedziałku Arturze.
--
PZD, Irek.N.
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 24 Jun 2002 11:12:06 +0200
Yyy...a w Bascomie nie da się tego obejść? Poza tym - co to znaczy
obligatoryjne? Masz na myśli - nowy default-owy projekt i jest?
to w C Keila też
jest w takim razie obligatoryjne ;-)
Acha - co mnie obchodzi PO zmiennej, ważne aby wpowołanie
zmiennej do życia było
przewidywalne :-)
BASCOM zawsze robi pełną inicjalizację wszystkiego co tylko jest możliwe,
a nawet wiecej, bo zeruje, absolutnie całą pamięć RAM, ustawia stos, nawet
jesli program jest prosty i idzie "po sznurku".
Ale nikt nie każe tak pisać - choć moim zdaniem zapis taki (w
jednej linii -
ładnie poukładany) jest czytelniejszy od algorytmiczego.
To już sprawa gustu na szczęście :-)
Miałem na myśli, bardzo bliski związek z asm. ;-)
Toż to tragedia z zasobami w przypadku mniejszych kostek. :-( Użycie kilku
bibliotek i żegnaj flash-u, nie mówiąc o tym, że długo się programuje przy
testowaniu kolejnych wersji kodu ;-)
Na 2k to się nie poszaleje, trzeba kupić pełną wersję.
Ale za to po skończeniu programu nie muszę biegać po sklepach w poszukiwaniu
kostki z większą pamięcią, bo w ostatniej linijce zachciało mi się kółko
narysować. ;-)
;-)) Co Ty masz z tym zerowaniem po zwolnienieniu?
Uraz psychiczny. ;-)
Nie zawsze pamiętam, aby przy powołaniu zmiennej ją wyzerować i dlatego
lubię jak kompilator za mnie o tym pamięta, a czy ją wyzeruje na początku,
czy po zwolnieniu to w zasadzie obojetne, byle pamiętał. ;-)
Czyli też nie kontroluje - i dobrze, i źle. :-)
Bardzo źle i dla początkujących i dla Misia_O_Bardzo_Krótkiej_Pamięci.
Miłego poniedziałku Arturze.
Takie życznia to ja rozumiem, szczególnie, że poniedziałki nie często są
miłe,
np. dzisiaj jest troszkę chłodno i niebo zachmurzone.
No to wzajemnie Ci życzę przyjemności z początku tygodnia. ;-)
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Maciej Czapla <mc_at_nospam_sensor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Tue, 25 Jun 2002 00:37:19 +0200
BASCOM zawsze robi pełną inicjalizację wszystkiego co tylko jest możliwe,
a nawet wiecej, bo zeruje, absolutnie całą pamięć RAM, ustawia stos, nawet
jesli program jest prosty i idzie "po sznurku".
C - standardowo - inicjuje zmienne statyczne... Ale spróbuj w zrobić restart
systemu po resecie od watchdoga ( nie przepadam za żargonem, ale na razie nie
znaleziono krajowych zamienników ). W C mogę to sztuczkami obejść...
MC
PS. Był wątek nt. polskiego zamiennika dla watchdoga... Może... budzik ?-)
From: Marcin Stanisz <mstanisz_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: 25 Jun 2002 07:05:27 GMT
W artykule <3D179F1F.492CE3F2_at_nospam_sensor.com.pl> Maciej Czapla napisal(a):
PS. Był wątek nt. polskiego zamiennika dla watchdoga... Może... budzik ?-)
Proponuję łoczdog :-) To słowo już tak się opatrzyło, że chyba inne się nie
przyjmie...
Marcin Stanisz
--
"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 08:26:37 +0000 (UTC)
On Sun, 23 Jun 2002 21:46:05 +0200, <i.niemczyk_at_nospam_multispedytor.com.pl> wrote:
[...] W C naprawde mozna _zapisac formule
dokladnie pod kod ASM-a_ - zobacz na przyklad z klawiatura matrycowa ;-)) w
No nie wiem. Pamietasz jak ktos narzekal na blad komplilatora ?
W programie P1 |= 0x80, a w instrukcjach bardziej skomplikowanie :-)
bascomie stracisz na to jakiś zasób oraz możliwość ukierunkowania kompilacji
Z drugiej strony po to sie pisze w C/Bas zeby wlasnei tego uniknac :-)
J.
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 10:45:32 +0200
No nie wiem. Pamietasz jak ktos narzekal na blad komplilatora ?
W programie P1 |= 0x80, a w instrukcjach bardziej skomplikowanie :-)
Coś pamietam - na pierwszy rzut oka zbędna kaszana z _logiką_ na porcie? Czy tak?
-)
bascomie stracisz na to jakiś zasób oraz możliwość ukierunkowania kompilacji
Z drugiej strony po to sie pisze w C/Bas zeby wlasnei tego uniknac :-)
Jak najbardzie - masz rację. Jednak z biegiem czasu człowiek wypracowuje sobie
przyzwyczajenia, które owocują coraz bardziej zwięzłym kodem wynikowym (proces
uczenia się?, dopasowywania?). Warto chyba mieć możliwość doskonalenia
kompilacji, nawet jeżeli nie korzysta się z tego na początku. ;-)
Wiesz jak tłumaczy np: Keil coś takiego....
char = int / 0x100;
oraz coś takiego :-)))
char = int >>8;
--
PZD, Irek.N.
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 10:33:37 +0000 (UTC)
On Mon, 24 Jun 2002 10:45:32 +0200, <i.niemczyk_at_nospam_multispedytor.com.pl> wrote:
bascomie stracisz na to jakiś zasób oraz możliwość ukierunkowania kompilacji
Z drugiej strony po to sie pisze w C/Bas zeby wlasnei tego uniknac :-)
Jak najbardzie - masz rację. Jednak z biegiem czasu człowiek wypracowuje sobie
przyzwyczajenia, które owocują coraz bardziej zwięzłym kodem wynikowym (proces
uczenia się?, dopasowywania?). Warto chyba mieć możliwość doskonalenia
kompilacji, nawet jeżeli nie korzysta się z tego na początku. ;-)
No tak, ale:
a) wymaga to znajomosci assemblera i podgladania co nam kompilator wyplul,
b) nasze programy sa nieczytelne dzis, a po zmianie procka zaczna byc
nieoptymalne :-( A przeciez po to chcielismy uzywac C, zeby bylo
przenosnie.
c) Po zmianie kompilatora moze sie okazac ze cala nasza robota na nic.
Kumpel kiedys w turbo pascalu zmienial pieczolowicie 2*A na A+A,
po to zeby po roku sie przekonac ze nowa wersja lepiej sobie radzi
z A*2
Wiesz jak tłumaczy np: Keil coś takiego....
char = int / 0x100;
oraz coś takiego :-)))
char = int >>8;
Oba zle ?
char = *( ((char*)&int)+1) )
tylko czemu potem na motorolkach nie dziala :-)
J.
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 14:05:49 +0200
No tak, ale:
a) wymaga to znajomosci assemblera i podgladania co nam kompilator wyplul,
Zakładając że interesuje nas jakakolwiek optymalizacja - owszem, zresztą z biegiem
czasu staje się on naturalny ;-)
b) nasze programy sa nieczytelne dzis, a po zmianie procka zaczna byc
nieoptymalne :-( A przeciez po to chcielismy uzywac C, zeby bylo
przenosnie.
c) Po zmianie kompilatora moze sie okazac ze cala nasza robota na nic.
Kumpel kiedys w turbo pascalu zmienial pieczolowicie 2*A na A+A,
po to zeby po roku sie przekonac ze nowa wersja lepiej sobie radzi
z A*2
B i c - argumenty nie do obalenia :-) Racja, tak też bywa. Ale wiesz - wszystko zależy
od celu jaki chce się osiągnąć.
Oba zle ?
Nie, tylko różnią się długośćią tak z .....30 razy ;-))
char = *( ((char*) &int)+1) )
O jeden nawias za daleko ;-)
Poza tym miodzio....3 instrukcje MOV, w tym dwie dla powolania inta do zycia ;-)))
bierze niestety nie tą połówkę.
char = *((char*) &int)
....jest to bardzo czytelny zapisa instrukcji MOV prawda? ;-)))
tylko czemu potem na motorolkach nie dziala :-)
;-)) Szukanie błędów...doświadzyłem niedawno tygodniówki w tym temacie - przerąbana
sprawa. :-(
--
PZD, Irek.N.
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 13:49:19 +0000 (UTC)
On Mon, 24 Jun 2002 14:05:49 +0200, <i.niemczyk_at_nospam_multispedytor.com.pl> wrote:
Nie, tylko różnią się długośćią tak z .....30 razy ;-))
char = *( ((char*) &int)+1) )
O jeden nawias za daleko ;-)
Poza tym miodzio....3 instrukcje MOV, w tym dwie dla powolania inta do zycia ;-)))
bierze niestety nie tą połówkę.
Nie - sprawny kompilator wszystkie powyzsze niby-dzialania powinien
zoptymalizowac. Dla zmiennej statycznej powinna sie z tego zrobic jedna
instrukcja MOV, dla dynamicznej - tyle ile tam potrzeba do zaadresowania
zmiennej..
char = *((char*) &int)
....jest to bardzo czytelny zapisa instrukcji MOV prawda? ;-)))
Jak sie pisze w C to czasem tak trzeba :-)
J.
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 16:17:17 +0200
Nie - sprawny kompilator wszystkie powyzsze niby-dzialania powinien
zoptymalizowac. Dla zmiennej statycznej powinna sie z tego zrobic jedna
instrukcja MOV, dla dynamicznej - tyle ile tam potrzeba do zaadresowania
zmiennej..
No to już wiesz jak to jest z Keilem :-(
Swoją drogą - widziałeś taki, który wszystkie powyższe jednoakowo zintepretuje?
char = *((char*) &int)
....jest to bardzo czytelny zapisa instrukcji MOV prawda? ;-)))
Jak sie pisze w C to czasem tak trzeba :-)
;-))
--
PZD, Irek.N.
From: Janusz Raniszewski <rniski_at_nospam_man.koszalin.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 21:50:29 +0200
tzn. mnożąc dwie liczby mamy kod długości 2kB,w C 500bajtów, ale jeśli
dodamy mnożenie liczb word i dzielenie
Witam,
Twierdzisz, że Bascom nie ma śmieci. Jak więc wytłumaczysz, że na powyższą
operację zajmującą w asm co najwyżej 50 bajtów zużywasz aż 2 kilo?
JanuszR
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 22:00:28 +0200
Witam,
Twierdzisz, że Bascom nie ma śmieci. Jak więc wytłumaczysz, że na powyższš
operację zajmujšcš w asm co najwyżej 50 bajtów zużywasz aż 2 kilo?
JanuszR
Chwila - Artur nie napisal jakie to liczby. Czy Bascom ma rozroznione jakies
typy? Czy tez wszystko traktuje albo jako bajt, albo float?
--
PZD, Irek.N.
From: Janusz Raniszewski <rniski_at_nospam_man.koszalin.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 21:57:02 +0200
Witam,
Twierdzisz, że Bascom nie ma śmieci. Jak więc wytłumaczysz, że na powyższš
operację zajmujšcš w asm co najwyżej 50 bajtów zużywasz aż 2 kilo?
JanuszR
Chwila - Artur nie napisal jakie to liczby. Czy Bascom ma rozroznione jakies
typy? Czy tez wszystko traktuje albo jako bajt, albo float?
Napisał word rozumiem przez to 16 bit.
JanuszR
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 24 Jun 2002 00:31:22 +0200
Witam,
Twierdzisz, że Bascom nie ma śmieci. Jak więc wytłumaczysz, że na powyższą
operację zajmującą w asm co najwyżej 50 bajtów zużywasz aż 2 kilo?
JanuszR
Jak łapiecie mnie za słówka to proszę.
Samo deklarowanie trzech zmiennych jednobajtowych
zawiera wyłączenie przrwań, czyszczenie pamięci, wyłaczenie WD itp .=208
bajtów
dodanie C = A + B 224 bajtów
CV - inicjalizacja -200
c = a + b -203
Ekhm...
Tego, no, należało by zobaczyć co takiego dodatkowo robi
BASCOM, że inicjaliczacja zajmuje mu o osiem bajtów więcej.
Natomiast proste dodawanie o długości 16 bajtów wynika ze standardowych
rejestrów wejścia (dane do operacji) i standardowych wyjść (rejestry wyniku
operacji). Albert's ułatwił sobie sprawę poprzez pobieranie argumentów
zawsze z tego
samego miejsca i lokowanie wyniku również w stałym miejscu.
Jest to wada przy pisaniu programu szybkiego i małego, ale zaleta przy
modyfikacji
istniejacych funkcji i dopisywaniu własnych w sposób bezpieczny. Tzn. nie ma
(teoretycznie)
niebezpieczeństwa, że działajaca funkcja przy rozbudowie programu będzie
nadpisywać dane
należace do innej funkcji lub że jej argumenty zostaną przypadkowo zamazane
np. w przerwaniu
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 24 Jun 2002 00:39:40 +0200
poprzednie było dla mega128
teraz będzie dla 90s2313
BASCOM
inicjalizacja________ 84
dodawanie____________ 98
mnożenie_____________122
inicjalizacja word___ 84
dodawanie word_______106
mnozenie word________208
CV
inicjalizacja________ 88
dodawanie____________ 91
mnożenie_____________103
inicjalizacja word___ 88
dodawanie word_______ 94
mnozenie word________134
zwięzłością i szybkością BASCOM na kolana nie powala
ale stwierdzenia o jego uciemiężeniu intelektualnym są daleko przesadzone.
pzdr
Artur
;-)
PS
A ja i tak BASCOM'a lubię ;-)
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Janusz Raniszewski <rniski_at_nospam_man.koszalin.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 01:40:40 +0200
BASCOM
inicjalizacja________ 84
dodawanie____________ 98
mnożenie_____________122
inicjalizacja word___ 84
dodawanie word_______106
mnozenie word________208
CV
inicjalizacja________ 88
dodawanie____________ 91
mnożenie_____________103
inicjalizacja word___ 88
dodawanie word_______ 94
mnozenie word________134
zwięzłością i szybkością BASCOM na kolana nie powala
ale stwierdzenia o jego uciemiężeniu intelektualnym są daleko przesadzone.
Procedura mnożenia liczb 16 bit ze znakiem ASM
0x6e - 0x4c = 0x22 = 34 words = 64 bajty
Procedura dodawania liczb 16 bit
0x78-0x74 = 4 words = 8 bajtów
Zwięzłością i szybkością ASM powala na kolana.
i stwierdzenia o jego uciemiężeniu intelektualnym są daleko przesadzone.
JanuszR
;procedura dodawania liczb 16 bit
000074 0c15 dodaj: add coel,cogl
000075 1c04 adc coeh,cogh
000076 1c37 adc cofl,cohl
000077 1c26 adc cofh,cohh
000078 9508 ret
;procedura monzenia 16bit x 16bit
;cofh,cofl x coeh,coel
;wynik w cofh,cofl, coeh,coel binarny znak w T
00004c 2d22 mno: mov temp1,cofh ;przekazuje biezacy blad do
temp1,temp2
00004d 2d33 mov temp2,cofl
00004e fb27 bst temp1,7 ;zachowuje znak
00004f f957 bld flg,7 ;przechowuje znak
000050 f40e brtc mno4
000051 dff1 rcall kod2 ;dekoduje kod2
000052 2e42 mno4: mov cogh,temp1 ;dodajemy przesunieta w lewo
000053 2e53 mov cogl,temp2 ;wartosc cogh,cogl
000054 2d20 mov temp1,coeh ;dodajemy przesunieta w lewo
000055 2d31 mov temp2,coel ;wartosc cogh,cogl
000056 fb27 bst temp1,7 ;zachowuje znak
000057 f40e brtc mno5
000058 dfea rcall kod2
000059 2422 mno5: clr cofh
00005a f827 bld cofh,7 ;odzyskuje znak
00005b 2433 clr cofl ;jezeli znaki sa takie same
to
00005c fb57 bst flg,7 ;przekazuje znak z flag do T
00005d f837 bld cofl,7 ;przekazuje znak do cofl
00005e 2423 eor cofh,cofl
00005f fa27 bst cofh,7 ;zachowuje znak
000060 e110 ldi temp,0x10 ;ilosc bitow mnoznej
000061 2422 clr cofh ;do coel....cofh
000062 2433 clr cofl
000063 2400 clr coeh
000064 2411 clr coel
000065 2466 clr cohh
000066 2477 clr cohl
000067 d011 mno1: rcall prawo
000068 f020 brcs mno2
000069 d012 mno3: rcall lewo
00006a 951a dec temp
00006b f7d9 brne mno1
00006c 9508 ret
00006d d006 mno2: rcall dodaj
00006e cffa rjmp mno3
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 24 Jun 2002 02:12:03 +0200
BASCOM
inicjalizacja word___ 84
dodawanie word_______106
mnozenie word________208
dodawanie 106-84=22 bajty
mnożenie 208-84=124 bajtów
CV
inicjalizacja word___ 88
dodawanie word_______ 94
mnozenie word________134
dodawanie 94-88=6 bajtów
mnożenie 134-88= 46 bajtów
ASM
Procedura dodawania liczb 16 bit
0x78-0x74 = 4 words = 8 bajtów
Procedura mnożenia liczb 16 bit ze znakiem ASM
0x6e - 0x4c = 0x22 = 34 words = 64 bajty
Zwięzłością i szybkością ASM powala na kolana.
Chyba że przed CodeVisionAVR. ;-)
i stwierdzenia o jego uciemiężeniu intelektualnym są daleko przesadzone.
Oczywiście, ludzie o przeciętnej inteligencji powinni pozostać przy językach
wyższego poziomu, żeby im co na mózg nie padło w przypadku wyszukiwania
jakiegoś bug'a. ;-)
pzdr
Artur
;-)
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 08:54:22 +0200
No i poszli w AVR....
Artur - czegoś nie rozumiem, co to znaczy
inicjalizacja word___ 84?
To znaczy że powołanie do życia zmiennej typu WORD zajmuje 84/88 bajty? -
niemożliwe :-(
Kurcze - chyba zainstaluję CV.....
--
PZD, Irek.N.
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 24 Jun 2002 11:12:06 +0200
No i poszli w AVR....
Artur - czegoś nie rozumiem, co to znaczy
inicjalizacja word___ 84?
To znaczy że powołanie do życia zmiennej typu WORD zajmuje 84/88 bajty? -
niemożliwe :-(
inicjalizacja, czyli zerowanie pamięci, ustawienie kierunku portów, wpisanie
początkowych wartości do timerów, przerwań, stos itp.
Inicjalizacja word - oznacza to wszystko powyżej jest taka sama jak dla
zmiennych bajtowych.
Później zrobię porównanie pomiedzy B i C dla bardziej złożonych obliczeń i
bedę obserwował jak rośnie ;-)
Kurcze - chyba zainstaluję CV.....
Zainstaluj, to nie boli. ;-)
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 08:02:46 +0000 (UTC)
On 23 Jun 2002 21:17:40 +0200, <zielpro_at_nospam_cavern.pl> wrote:
Dlaczego BASCOM generuje większy kod niż C? Bo jeśli nie zaznaczy się opcji
noinit, to
czyści całą pamięć,
W standardzie C jest w zasadzie napisane ze zmienne statyczne nieinicjowane
na poczatku programu wynosza 0.
J.
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 12:10:21 +0200
W standardzie C jest w zasadzie napisane ze zmienne statyczne nieinicjowane
na poczatku programu wynosza 0.
Nie bylbym taki pewien (ale nie mam draftu zeby sprawdzic).
One chyba sa nieokreslone
jerry
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 15:14:46 +0000 (UTC)
On Mon, 24 Jun 2002 12:10:21 +0200, <jerry1111_at_nospam_wp.pl> wrote:
W standardzie C jest w zasadzie napisane ze zmienne statyczne nieinicjowane
na poczatku programu wynosza 0.
Nie bylbym taki pewien (ale nie mam draftu zeby sprawdzic).
One chyba sa nieokreslone
Glowe daje ze kiedys byly 0. Byc moze sie zmienilo, bo sensu w
tym za grosz..
J.
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 19:28:10 GMT
jerry1111 wygenerował manualnie w wiadomości
<af71ai$alj$2_at_nospam_news.tpi.pl> udostępnionej publicznie dnia Mon, 24 Jun
2002 12:10:21 +0200 co następuje:
W standardzie C jest w zasadzie napisane ze zmienne statyczne nieinicjowane
na poczatku programu wynosza 0.
Nie bylbym taki pewien (ale nie mam draftu zeby sprawdzic).
One chyba sa nieokreslone
Nieokreślone są zmienne alokowane dynamicznie, czyli np. lokalne w
funkcjach. Zmienne globalne sa zerowane (AFAIR leci do piachu cały
pierwszy segment DATA).
--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 22:33:44 +0200
Nieokreślone są zmienne alokowane dynamicznie, czyli np. lokalne w
funkcjach. Zmienne globalne sa zerowane (AFAIR leci do piachu cały
pierwszy segment DATA).
Ale sa zerowane, bo kompilator tak ma, czy sa zerowane
bo tak kaze ANSI C ?
Tego wlasnie nie jestem pewien.
jerry
PS: Niby robna roznica, ale przy przesiadaniu sie z jednego
kompilatora na drugi latwo moze sie popierniczyc
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 22:21:03 GMT
jerry1111 wygenerował manualnie w wiadomości
<af8096$koa$1_at_nospam_news.tpi.pl> udostępnionej publicznie dnia Mon, 24 Jun
2002 22:33:44 +0200 co następuje:
Nieokreślone są zmienne alokowane dynamicznie, czyli np. lokalne w
funkcjach. Zmienne globalne sa zerowane (AFAIR leci do piachu cały
pierwszy segment DATA).
Ale sa zerowane, bo kompilator tak ma, czy sa zerowane
bo tak kaze ANSI C ?
Tego wlasnie nie jestem pewien.
Ja też nie, ale Watcom C++ oraz Borland C++ tak mają. Dwa przykłady
'pro', na razie żaden 'kontra'. Specyfikacji ANSI nawet mi się nie
chce szukać ;-)
--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Tue, 25 Jun 2002 07:56:47 +0200
Ale sa zerowane, bo kompilator tak ma, czy sa zerowane
bo tak kaze ANSI C ?
Tego wlasnie nie jestem pewien.
Ja też nie, ale Watcom C++ oraz Borland C++ tak mają. Dwa przykłady
'pro', na razie żaden 'kontra'. Specyfikacji ANSI nawet mi się nie
chce szukać ;-)
Sprawdzilem wlasnie 'jedyny sluszny' czyli gcc2.95.3 linuxowe - zeruje.
gcc Cygwinowe tez.
Ale w IAR-C na TLCS900 jest mozliwosc wlaczenia/wylaczenia zerowania
zmiennych statycznych.
jerry
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Tue, 25 Jun 2002 07:05:07 GMT
jerry1111 wygenerował manualnie w wiadomości
<af90el$aa3$2_at_nospam_news.tpi.pl> udostępnionej publicznie dnia Tue, 25 Jun
2002 07:56:47 +0200 co następuje:
Ale w IAR-C na TLCS900 jest mozliwosc wlaczenia/wylaczenia zerowania
zmiennych statycznych.
no ale to na uC, więc wiadomo, że o pamięć się rozchodzi...
--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Tue, 25 Jun 2002 20:27:58 +0200
jerry1111 wrote:
Sprawdzilem wlasnie 'jedyny sluszny' czyli gcc2.95.3 linuxowe - zeruje.
Zeruje, bo to Linuks zeruje, nie kompilator. Jak juz kiedys pisalem
na pl.comp.programming, to specyfikacja formatu ELF zaklada
wyzerowanie sekscji bss przed uruchomieniem programu. Samo
C nie zaklada niczego o wartosciach niezainicjowanych zmiennych
statycznych. Jesli takie zalozenie jest Ci potrzebne, a format tego
nie gwarantuje, to musisz sobie wkompilowac wstawke zerujaca,
ktora wykona sie przed mainem (o ile w Twoim programie jest
funkcja main(), bo byc jej wcale nie musi).
gcc Cygwinowe tez.
J.w.
Pozdrawiam
Piotr Wyderski
From: Maciej Czapla <mc_at_nospam_sensor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Wed, 26 Jun 2002 00:23:30 +0200
[...] Samo
C nie zaklada niczego o wartosciach niezainicjowanych zmiennych
statycznych. [...]
K&R, przewodnik języka C stwierdza: "Gwarantuje się, że niezainicjowane
zmienne statyczne i zewnętrzne otrzymują wartość 0; zmienne automatyczne i
rejestrowe będą w takiej sytuacji miały wartości przypadkowe"... Nie
przypuszczam, żeby ANSI to zmieniało...
MC
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Wed, 26 Jun 2002 07:45:16 +0200
K&R, przewodnik języka C stwierdza: "Gwarantuje się, że niezainicjowane
zmienne statyczne i zewnętrzne otrzymują wartość 0; zmienne automatyczne i
rejestrowe będą w takiej sytuacji miały wartości przypadkowe"... Nie
przypuszczam, żeby ANSI to zmieniało...
Diabli wiedza. Tak 'na czuja' bym nie wyrokowal.
Bo cos mi sie niejasno kolacze w glowie ze jednak nie inicjuje sie
w ANSI C, ale ni cholery nie moge znalezc nic na poparcie tej tezy.
Fakt: nie szukalem zbyt intensywnie.
jerry
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Czy za pomoca BASIC'a...
Date: Wed, 26 Jun 2002 08:16:12 +0000 (UTC)
On Wed, 26 Jun 2002 07:45:16 +0200, <jerry1111_at_nospam_wp.pl> wrote:
K&R, przewodnik języka C stwierdza: "Gwarantuje się, że niezainicjowane
zmienne statyczne i zewnętrzne otrzymują wartość 0; zmienne automatyczne i
rejestrowe będą w takiej sytuacji miały wartości przypadkowe"... Nie
przypuszczam, żeby ANSI to zmieniało...
Diabli wiedza. Tak 'na czuja' bym nie wyrokowal.
Bo cos mi sie niejasno kolacze w glowie ze jednak nie inicjuje sie
w ANSI C, ale ni cholery nie moge znalezc nic na poparcie tej tezy.
Smiem twierdzic ze wymog pewnie zostal, bo trzeba zachowac kompatybilnosc.
Osobiscie opatrzylbym go komentarzem "nalega sie nie korzystac
w programach na tej wlasciwosci, gdyz bedzie w przyszlosci usunieta.
w kompilatorze zerowanie zmiennych powinno byc opcja..
J.
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Wed, 26 Jun 2002 13:56:13 +0200
J.F. wrote:
w kompilatorze zerowanie zmiennych powinno byc opcja..
To niezupelnie to, o czym piszesz, ale np. VC podczas
testowania wypelnia zmienne niezainicjowane smieciem,
po to, by spowodowac problemy w miejscach, ktore korzystaja
z tych zmiennych bez ich uprzedniej inicjalizacji. Dlatego
powtorze: standardy sobie, a rzeczywistosc sobie.
Pozdrawiam
Piotr Wyderski
From: Romuald Bialy <romek_b_at_nospam_o2.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Thu, 27 Jun 2002 01:28:00 +0200
jerry1111 wrote:
K&R, przewodnik języka C stwierdza: "Gwarantuje się, że niezainicjowane
zmienne statyczne i zewnętrzne otrzymują wartość 0; zmienne automatyczne i
rejestrowe będą w takiej sytuacji miały wartości przypadkowe"... Nie
przypuszczam, żeby ANSI to zmieniało...
Diabli wiedza. Tak 'na czuja' bym nie wyrokowal.
Bo cos mi sie niejasno kolacze w glowie ze jednak nie inicjuje sie
w ANSI C, ale ni cholery nie moge znalezc nic na poparcie tej tezy.
Fakt: nie szukalem zbyt intensywnie.
Wedlug standardu ANSI globalne sa zerowane. Statyczne chyba tez. Wiec
jak kompilator ma odpowiadac standardowi ANSI to musi inicjowac.
--
Pozdrawiam.... Romuald Bialy
E'mail: romek_b_at_nospam_o2.pl
WWW: http://www.polbox.com/r/romekb
yampp: http://www.yamppsoft.prv.pl
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Wed, 26 Jun 2002 13:46:17 +0200
Maciej Czapla wrote:
K&R, przewodnik języka C stwierdza: "Gwarantuje się, że niezainicjowane
zmienne statyczne i zewnętrzne otrzymują wartość 0; zmienne automatyczne i
rejestrowe będą w takiej sytuacji miały wartości przypadkowe"
Masz racje, Macieju, to ja sie wyrazilem nieprecyzyjnie. Standard
C stwierdza, ze zmienne statyczne z sekcji bss beda zainicjowane
wartoscia 0 (dodatnie albo bez znaku), a wskazniki otrzymaja
domyslna wartosc NULL. Tylko, ze <rzep mode on>:
-- wartosc literalu wskaznikowego NULL nie musi wynosci zero.
Standard nakazuje tylko dostarczenie metody konwersji z 0 na
NULL oraz z roznicy dwoch wskaznikow na liczbe calkowita;
dodatkowo wartosc NULL musi byc unikalna. To, ze chyba na
wszystkich maszynach NULL to 0x00000000 formalnie nie ma
zadnego znaczenia, praktycznie -- duze.
-- to samo co wyzej -- wartosc 0.0 nie musi odpowiadac
wektorowi bitow wszystkich rownych zero. <rzep mode off>
Nie przypuszczam, żeby ANSI to zmieniało...
Nie wiem, czy zmienialo, bo nigdy nie czytalem K&R -- wolalem
nowsze informacje, czyli specyfikacje ISO oraz przede wszystkim
dokumentacje _konkretnego kompilatora_. Bo zwykle standard
sobie, a rzeczywistosc sobie -- np. nie wiem, czy istnieje kompilator
C++ calkowicie zgodny ze standardem C++. Spojrz chocby na
odpowiednie tabele do GCC, ile jeszcze niezgodnosci wystepuje.
Ale wracajac do glownego problemu: dalej podtrzymuje, ze
program w C nie ma prawa zakladac niczego o wartosci
zmiennych niezainicjowanych; nie dlatego, ze nie zgadzam
sie ze standardem, tylko ze wzgledu na sposob, w jaki
wiekszosc kompilatorow C obchodzi problem: pozostawiajac
inicjalizacje tych zmiennych programowi ladujacemu systemu
operacyjnego. Znane mi implementacje C _nie dokladaja_
wlasnej procedury zerujacej. W waszym przypadku jest to
o tyle istotne, ze na mikrokontrolerku nie ma SO, ktory
wyczysci pamiec. Poza tym po resecie przez watchdog
tez rozne ciekawe rzeczy sie moga dziac... W pewnym
duzym programie, nad ktorym obecnie pracuje (na IA-32,
co prawda) musialem dopisac wlasna wstawke zerujaca
bss, tylko po to, by w razie awarii krytycznej procedura obslugi
mogla polegac na stanie pamieci mimo tego, ze inicjalizacja
programu sie jeszcze nie zakonczyla. Gdybym za standardem
zalozyl, ze pamiec bedzie wyzerowana i nie podjal wlasnych
krokow, ktore to zapewniaja, niezle bym na tym wyszedl...
To, ze ten program nie jest do konca "standardowy" (dziala
na golej maszynie, nie ma funkcji main itd.) to juz inna sprawa...
Pozdrawiam
Piotr Wyderski
From: Maciej Czapla <mc_at_nospam_sensor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Thu, 27 Jun 2002 00:02:35 +0200
Znane mi implementacje C _nie dokladaja_ wlasnej procedury zerujacej.
W waszym przypadku jest to o tyle istotne, ze na mikrokontrolerku nie ma SO, > ktory wyczysci pamiec. Poza tym po resecie przez watchdog
tez rozne ciekawe rzeczy sie moga dziac...
No więc C na mikrusy dokonuje zerowania ramu chyba właśne dlatego, że nie może
tego spuścić na SO. Ale gdy _świadomie_ chcesz pominąć zerowanie to z reguły
można jakąś opcją je wyłączyć. Natomiast inicjowanie przeprowadzane jest z
definicji po restarcie więc z poziomu C tego przeskoczyć się nie da (np. wtedy
gdy chcesz zrobić tzw. gorący restart po zadziałaniu WD.
MC
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 24 Jun 2002 15:29:31 +0200
W standardzie C jest w zasadzie napisane ze zmienne statyczne
nieinicjowane
na poczatku programu wynosza 0.
Ja bym w to nie wierzyl. ;-)
Teoretycznie tak, ale w przypadku pracy programu przy naglym resecie (jakby
byly jeszcze jakies inne), zawartosc
komórek pamiecie nie jest zerowana, to musi zrobic program na poczatku,
czyli wyzerowac przynajmniej obszar zajety przez
zmnienne.
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 13:37:02 +0000 (UTC)
On 24 Jun 2002 15:29:31 +0200, <zielpro_at_nospam_cavern.pl> wrote:
W standardzie C jest w zasadzie napisane ze zmienne statyczne
nieinicjowane na poczatku programu wynosza 0.
Ja bym w to nie wierzyl. ;-)
Ja tam zalecam inicjowanie.
Teoretycznie tak, ale w przypadku pracy programu przy naglym resecie (jakby
byly jeszcze jakies inne), zawartosc
komórek pamiecie nie jest zerowana, to musi zrobic program na poczatku,
czyli wyzerowac przynajmniej obszar zajety przez zmnienne.
Ale to jest rola kodu inicjujacego.
J.
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 24 Jun 2002 16:00:42 +0200
Ja tam zalecam inicjowanie.
To Ty, ale ktos sprytny inaczej, moze chciec zaoszedzic troszke pamieci ;-)
czyli wyzerowac przynajmniej obszar zajety przez zmnienne.
Ale to jest rola kodu inicjujacego.
I tym sie rózni BASCOM, od C. BASCOM zeruje wszystko jak leci.
W C mozna zerowac tylko co jest potrzebne, ewentualnie inicjowac tylko w
przypadku uzycia
danego zasobu w dalszej czesci programu i z powodu sklerozy mozna wpasc w
pulapke ;-).
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 16:24:26 +0200
I tym sie rózni BASCOM, od C. BASCOM zeruje wszystko jak leci.
W C mozna zerowac tylko co jest potrzebne, ewentualnie inicjowac tylko w
przypadku uzycia
danego zasobu w dalszej czesci programu i z powodu sklerozy mozna wpasc w
pulapke ;-).
Artur - nie ma mowy o żadnej pułapce.
Po pierwsze zawsze trzeba coś najpier wpisać do zmiennej, a dopiero później ją
czytać - to jest zasada i to nie tylko w C ale w każdym języku programowania,
nawet w asemblerze! Już choćby z tego powodu nie masz możliwości uwalić program
głupią wartością zmiennej.
Po drugie - zmienne są zerowane automatycznie - nie musisz o tym pamiętać.
Powołujesz ją do życia i na starcie dostajesz w niej zero.
Po trzecie - możesz zrezygnować z procedury czyszczącej cały ram na starcie -
ale niczego to nie zmienia - i tak powołująć zmienną do życia nadane jej
zostanie zero jako wartość początkowa.
Uff...;-)) miejmy to już za sobą.
--
PZD, Irek.N.
From: Maciej Czapla <mc_at_nospam_sensor.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Tue, 25 Jun 2002 00:46:07 +0200
Po drugie - zmienne są zerowane automatycznie - nie musisz o tym pamiętać.
Powołujesz ją do życia i na starcie dostajesz w niej zero.
Oczywiśćie nie myślisz o zmiennych automatycznych...
MC
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 16:29:11 +0200
Ja tam zalecam inicjowanie.
Ja tam nie zalecam inicjowania.
Powod? Trudniej wykryc bledy, kiedy uzywasz
zmiennych bez wstawienia do nich wartosci poczatkowej!
ZAWSZE na poczatku main() SAM sobie ustawiam wszystko
tak jak trzeba. A w debugerze stosuje losowe ustawianie RAMu
po resecie.
jerry
From: "Kamyk" <rumbero_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 13:22:03 +0200
Użytkownik Marcin Stanisz <mstanisz_at_nospam_poczta.onet.pl> w wiadomości do grup
dyskusyjnych napisał:slrn.pl.ah5vid.h8.mstanisz_at_nospam_COS13.ilf.com...
W artykule <aeuuaj$4r3$2_at_nospam_news.tpi.pl> Kamyk napisal(a):
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
Był to niewątpliwie Kamyk do ogródka lamerii, która nawet przejrzeć
20 ostatnich postów nie umie.
Idź i nie grzesz więcej :-)
chcialem nawiazac kontakt z grupa, Mojzeszu
From: MrWebsky <mrwebsky_at_nospam_poczta.wp.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 15:02:21 +0200
Nie wiem dokładnie o co Ci chodzi wiec wybierz sobie odpowiedź
w zależności od kontekstu pytania
a) mozna zaprogramować mikrokontroler w BASIC, ale czy jest to
sensowne - moim zdaniem nie, chyba że chodzi o coś baardzo prostego
b) mozna oprogramowac programator mikrontrolerów w BASIC.
Można, ale nie warto.
Użytkownik Marcin Stanisz <mstanisz_at_nospam_poczta.onet.pl> w wiadomości do grup
dyskusyjnych napisał:slrn.pl.ah5vid.h8.mstanisz_at_nospam_COS13.ilf.com...
W artykule <aeuuaj$4r3$2_at_nospam_news.tpi.pl> Kamyk napisal(a):
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
From: "Kamyk" <rumbero_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Fri, 28 Jun 2002 20:17:16 +0200
Użytkownik MrWebsky <mrwebsky_at_nospam_poczta.wp.pl> w wiadomości do grup
dyskusyjnych napisał:3D15C6DD.F4F903DA_at_nospam_poczta.wp.pl...
Nie wiem dokładnie o co Ci chodzi wiec wybierz sobie odpowiedź
w zależności od kontekstu pytania
a) mozna zaprogramować mikrokontroler w BASIC, ale czy jest to
sensowne - moim zdaniem nie, chyba że chodzi o coś baardzo prostego
zaprogramowanie mikrokontrolera do sterowania kilkoma
czujnikami i silnikiem elektrycznym to prosta sprawa ??????
--
Kamyk
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sat, 29 Jun 2002 13:45:34 GMT
Kamyk wygenerował manualnie w wiadomości <afi8r0$q7$2_at_nospam_news.tpi.pl>
udostępnionej publicznie dnia Fri, 28 Jun 2002 20:17:16 +0200 co
następuje:
Użytkownik MrWebsky <mrwebsky_at_nospam_poczta.wp.pl> w wiadomości do grup
dyskusyjnych napisał:3D15C6DD.F4F903DA_at_nospam_poczta.wp.pl...
Nie wiem dokładnie o co Ci chodzi wiec wybierz sobie odpowiedź
w zależności od kontekstu pytania
a) mozna zaprogramować mikrokontroler w BASIC, ale czy jest to
sensowne - moim zdaniem nie, chyba że chodzi o coś baardzo prostego
zaprogramowanie mikrokontrolera do sterowania kilkoma
czujnikami i silnikiem elektrycznym to prosta sprawa ??????
Zależy. Ale jak bym miał "strzelać", to tak. Jest prosta.
Chyba, że silnik jest trójfazowy, ma 10kW, a do uC podłączone są
bezpośrednio drivery bramek 6 IGBT mostka + 1 hamujący, a prąd uzwojeń
trzeba sobie na bieżąco wyliczać z powietrza. Wtedy jest trudne.
--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]
From: MrWebsky <mrwebsky_at_nospam_poczta.wp.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sat, 29 Jun 2002 12:30:33 +0200
Tak.
Możesz spokojnie pisać w BASIC.
Kamyk wrote:
Użytkownik MrWebsky <mrwebsky_at_nospam_poczta.wp.pl> w wiadomości do grup
dyskusyjnych napisał:3D15C6DD.F4F903DA_at_nospam_poczta.wp.pl...
Nie wiem dokładnie o co Ci chodzi wiec wybierz sobie odpowiedź
w zależności od kontekstu pytania
a) mozna zaprogramować mikrokontroler w BASIC, ale czy jest to
sensowne - moim zdaniem nie, chyba że chodzi o coś baardzo prostego
zaprogramowanie mikrokontrolera do sterowania kilkoma
czujnikami i silnikiem elektrycznym to prosta sprawa ??????
--
> Kamyk
From: Wojciech Markowski <wmr_at_nospam_krakus.top.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 16:51:27 +0200
przepraszam, ale po prostu pierdolicie.......
nie basic jes do dupy, nikt, nigdy nic w tym nie naopisal, C, C++, Delphi,
Pascal, Clipper... i wiele wiele innych jest tez do............. nie
podobne.
ale widze, ze wszyscy (duzi i mali ) tutaj maja sie za nie wiadomo kogo,
wiec - ... moze fortran???
pzdr. wmr
Kamyk wrote:
Użytkownik Marcin Stanisz <mstanisz_at_nospam_poczta.onet.pl> w wiadomości do grup
dyskusyjnych napisał:slrn.pl.ah5vid.h8.mstanisz_at_nospam_COS13.ilf.com...
W artykule <aeuuaj$4r3$2_at_nospam_news.tpi.pl> Kamyk napisal(a):
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
Był to niewątpliwie Kamyk do ogródka lamerii, która nawet przejrzeć
20 ostatnich postów nie umie.
Idź i nie grzesz więcej :-)
chcialem nawiazac kontakt z grupa, Mojzeszu
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 08:54:21 +0000 (UTC)
On Sun, 23 Jun 2002 16:51:27 +0200, <wmr_at_nospam_krakus.top.pl> wrote:
przepraszam, ale po prostu pierdolicie.......
ale widze, ze wszyscy (duzi i mali ) tutaj maja sie za nie wiadomo kogo,
wiec - ... moze fortran???
Fortran swoje zalety ma. I mimo ze 30 lat z okladem minelo,
to ciagle nie ma konkurencji :-(
J.
From: "Mariusz Jankowicz" <mariusz_at_nospam_entropia.com.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 14:26:18 +0200
"Wojciech Markowski" <wmr_at_nospam_krakus.top.pl> wrote in message
news:3D15E06F.F395B728_at_nospam_krakus.top.pl...
przepraszam, ale po prostu pierdolicie.......
Czy moglbys przestac wyzywac - poki co wszelkie twe posty sa w rodzaju
"pierd...e", "amatorzy", itp. czy ty masz jakis kompleks nizszosci? Troche
kultury...
plonk warning
From: Milosz Skowyra <miloszek_at_nospam_fido.net.org.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 16:50:14 +0200
Wojciech Markowski wrote:
przepraszam, ale po prostu pierdolicie.......
nie basic jes do dupy, nikt, nigdy nic w tym nie naopisal, C, C++, Delphi,
Pascal, Clipper... i wiele wiele innych jest tez do............. nie
podobne.
Jak dotad to my tylko dyskutujemy, jakos nie zauwazylem zeby
ktorykolwiek z dyskutantow uzywal slow potocznie uzywanych za wulgarne w
dyskusji, a do tego rowniez nie zauwazylem aby ktorys z dyskutantow
dazyl do prokreacji... w dyskusji...
Jak ci sie nie podoba to znajdz sobie jakas inna grupe dyskusyjna na
ktorej bedziesz mogl sobie ponarzekac na jej poziom i wykazac sie
wlasnym poziomem.
Do tego moze przeczytasz netykiete i nauczysz sie odpisywac pod postem i
ciac niepotrzebne cytaty oraz sygnaturki.
Amator - ale potrafiacy obsluzyc czytnik news...
--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Zajac - znowu czapki nie nosisz ????
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 19:26:13 GMT
Wojciech Markowski wygenerował manualnie w wiadomości
<3D15E06F.F395B728_at_nospam_krakus.top.pl> udostępnionej publicznie dnia Sun,
23 Jun 2002 16:51:27 +0200 co następuje:
przepraszam, ale po prostu pierdolicie.......
nie basic jes do dupy, nikt, nigdy nic w tym nie naopisal, C, C++, Delphi,
Pascal, Clipper... i wiele wiele innych jest tez do............. nie
podobne.
ale widze, ze wszyscy (duzi i mali ) tutaj maja sie za nie wiadomo kogo,
wiec - ... moze fortran???
1) Nie wyzywaj ludzi i nie klnij. Tego wymaga chyba elementarne dobre
wychowanie
2) czytaj, co napisałeś. Twoja wypowiedź to dwa długie zdania,
napisane niegramatycznie, a w dodatku pełne literówek. Szanuj ludzi, a
oni będą Ciebie szanować.
3) odpowiadaj pod cytatem. Tak zaleca netykieta.
4) Tnij cytaty i sygnatury.
5) Pisz na temat i tylko wtedy, gdy Twoja wypowiedź wnosi coś do
dyskusji. To zalecenie, nie wymóg. Są odstępstwa, ale nigdy w stronę
wyzwisk.
--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]
From: badworm <nospam_at_nospam_post.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 00:18:14 +0200
Wojciech Markowski wrote:
> przepraszam, ale po prostu pierdolicie....... nie basic jes do dupy,
> nikt, nigdy nic w tym nie naopisal, C, C++, Delphi,
W takim razie og?o? to publicznie w Elektronice dla Wszystkich i na
avt.ep.bascom, bo wynika z tego, ?e tysi?ce os?b, kt?re rozpocz??y
zabaw? z Bascomem po artyku?ach w EdW jest w grubym b??dzie i ?p.
Zbigniew Raabe ich oszuka?!!!! Rozumiem, ?e kto? nie u?ywa Bascoma lub
go nie lubi, ale t co ty napisa?e? jest co najmniej obra?liwe dla
wszystkich pisz?cych w Bascomie(w tym mnie). Plonk warning #1!
--
Pozdrawiam Bad Worm
badworm<ma?pa>post<kropka>pl
http://www.gusnet.prv.pl GG# 2400455(codziennie po 22)
Tnijcie cytaty i sygnaturki!
From: Milosz Skowyra <miloszek_at_nospam_fido.net.org.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 23:52:19 +0200
Wojciech Markowski wrote:
przepraszam, ale po prostu pierdolicie.......
[...]
Content-Type: text/plain; charset=x-user-defined
Content-Transfer-Encoding: 8bit
X-Mailer: Mozilla 4.72 [en] (Win95; I)
Popraw kodowanie na zgodne z netykieta.
--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
..and when you turned to me and smiled.....it took my breath away...
From: Janusz Raniszewski <rniski_at_nospam_man.koszalin.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 18:24:42 +0200
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
Witam,
Ależ oczywiście wybieraj:
Bascom, Fast Basic for AVR, internal basic interpreter for 8051 i
bodajże Paralax basic for PIC.
Jeżeli jednak nie znasz żadnego nie trać na nie czasu. Zacznij od PICa i
asemblera tylko 35 instrukcji + architektura procesora. Bez tego
ostatniego składnika nie zaprogramujesz żadnego mikrokontrolera.
JanuszR
From: Wojciech Markowski <wmr_at_nospam_krakus.top.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 20:33:55 +0200
nie mniejjednak i tak twierdze, ze wszystkie to kompilatory sa do d...
Janusz Raniszewski wrote:
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
Witam,
Ależ oczywiście wybieraj:
Bascom, Fast Basic for AVR, internal basic interpreter for 8051 i
bodajże Paralax basic for PIC.
Jeżeli jednak nie znasz żadnego nie trać na nie czasu. Zacznij od PICa i
asemblera tylko 35 instrukcji + architektura procesora. Bez tego
ostatniego składnika nie zaprogramujesz żadnego mikrokontrolera.
JanuszR
From: Janusz Raniszewski <rniski_at_nospam_man.koszalin.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 20:32:47 +0200
nie mniejjednak i tak twierdze, ze wszystkie to kompilatory sa do d...
A mnie trudno zaprzeczyć
From: Wojciech Markowski <wmr_at_nospam_krakus.top.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 20:58:25 +0200
dziekuje janusz za popracie :))))))
wmr
Janusz Raniszewski wrote:
nie mniejjednak i tak twierdze, ze wszystkie to kompilatory sa do d...
A mnie trudno zaprzeczyć
From: Milosz Skowyra <miloszek_at_nospam_fido.net.org.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 16:51:11 +0200
Wojciech Markowski wrote:
nie mniejjednak i tak twierdze, ze wszystkie to kompilatory sa do d...
A ja zaczynam powoli twierdzic ze ty jestes do ....
--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
"Zaprojektowany do lubudubu" - (C) Marek Dzwonnik ;->>>
From: "Kamyk" <rumbero_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 13:18:17 +0200
Użytkownik Janusz Raniszewski <rniski_at_nospam_man.koszalin.pl> w wiadomości do grup
dyskusyjnych napisał:3D15F64A.B10C1A15_at_nospam_man.koszalin.pl...
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
Witam,
Ależ oczywiście wybieraj:
Bascom, Fast Basic for AVR, internal basic interpreter for 8051 i
bodajże Paralax basic for PIC.
Jeżeli jednak nie znasz żadnego nie trać na nie czasu. Zacznij od PICa i
asemblera tylko 35 instrukcji + architektura procesora. Bez tego
ostatniego składnika nie zaprogramujesz żadnego mikrokontrolera.
JanuszR
A Ty od czego zaczynales programowanie, od Asemblera ?
From: Marcin Stanisz <mstanisz_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: 24 Jun 2002 11:50:42 GMT
W artykule <af6up1$n5e$1_at_nospam_news.tpi.pl> Kamyk napisal(a):
A Ty od czego zaczynales programowanie, od Asemblera ?
Ja - tak.
Marcin Stanisz
--
"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 12:19:01 GMT
Kamyk wygenerował manualnie w wiadomości <af6up1$n5e$1_at_nospam_news.tpi.pl>
udostępnionej publicznie dnia Mon, 24 Jun 2002 13:18:17 +0200 co
następuje:
A Ty od czego zaczynales programowanie, od Asemblera ?
Oczywiście, że tak.
--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]
From: Janusz Raniszewski <rniski_at_nospam_man.koszalin.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Mon, 24 Jun 2002 16:21:58 +0200
A Ty od czego zaczynales programowanie, od Asemblera ?
Niestety nie miałem innego wyboru. Pierwsze procedury pisałem bezpośrednio w
kodzie maszynowym na Z80 :)). Asembler to był dopiero język wysokiego poziomu.
Kiedy dorwałem komp. MSX i mogłem debugować to była pełnia szczęścia. Tak
naprawdę to wszystko to tylko kwestia przyzwyczajenia. Oszczędzisz czasu
nabierając właściwych przyzwyczajeń. Sam jestem zwolennikiem basica ponieważ
wtedy pełnił prawie rolę systemu operacyjnego i każdy szanujący się komputer go
miał. Zostało mi to do dzisiaj i na PC gdzie zasoby są duże używam VB i chwalę
go sobie. Ale piewsze PICe 16C54 miały tak mało pamięci. że nie było innego
wyjścia. Dlatego C, Forth, Basic proszę bardzo ale bez 64kB chyba bym się nie
zdecydował. Wydaje mi się, że basic pozostanie językiem niszowym nie ma
większych perspektyw. Jeżeli zacząć przygodę z uC to niestety C + ASM :(. Inną
sprawą jest fakt, że mikrokontrolery też rosną. Coraz większy jest udział
32bitowców z ARMem na czele. Procesorki Hitachi i NECa są stworzone specjalnie
pod C a PICowe i AVRowe maleństwa z czasem zanikną jak stare 286. W tej
sytuacji inwestycja w basic to strata czasu.
JanuszR
From: "Kamyk" <rumbero_at_nospam_poczta.onet.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Fri, 28 Jun 2002 20:10:55 +0200
Użytkownik Janusz Raniszewski <rniski_at_nospam_man.koszalin.pl> w wiadomości do grup
dyskusyjnych napisał:3D172B06.72E67B3_at_nospam_man.koszalin.pl...
A Ty od czego zaczynales programowanie, od Asemblera ?
Niestety nie miałem innego wyboru. Pierwsze procedury pisałem bezpośrednio
w
kodzie maszynowym na Z80 :)). Asembler to był dopiero język wysokiego
poziomu.
Kiedy dorwałem komp. MSX i mogłem debugować to była pełnia szczęścia. Tak
naprawdę to wszystko to tylko kwestia przyzwyczajenia. Oszczędzisz czasu
nabierając właściwych przyzwyczajeń. Sam jestem zwolennikiem basica
ponieważ
wtedy pełnił prawie rolę systemu operacyjnego i każdy szanujący się
komputer go
miał. Zostało mi to do dzisiaj i na PC gdzie zasoby są duże używam VB i
chwalę
go sobie. Ale piewsze PICe 16C54 miały tak mało pamięci. że nie było
innego
wyjścia. Dlatego C, Forth, Basic proszę bardzo ale bez 64kB chyba bym się
nie
zdecydował. Wydaje mi się, że basic pozostanie językiem niszowym nie ma
większych perspektyw. Jeżeli zacząć przygodę z uC to niestety C + ASM :(.
Inną
sprawą jest fakt, że mikrokontrolery też rosną. Coraz większy jest udział
32bitowców z ARMem na czele. Procesorki Hitachi i NECa są stworzone
specjalnie
pod C a PICowe i AVRowe maleństwa z czasem zanikną jak stare 286. W tej
sytuacji inwestycja w basic to strata czasu.
JanuszR
Przekonales mnie :-) ale jak jest w praktyce z tym asemblerem ?
Dowiedzialem sie z ksiazki ze programowanie w tym jezyku jest
zmudne a blad (przeoczenie) w trakcie pisania programu jest
bardzo trudny do wykrycia, potwierdzasz ???
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Czy za pomoca BASIC'a...
Date: Sat, 29 Jun 2002 11:20:58 GMT
On Fri, 28 Jun 2002 20:10:55 +0200, Kamyk wrote:
Przekonales mnie :-) ale jak jest w praktyce z tym asemblerem ?
Dowiedzialem sie z ksiazki ze programowanie w tym jezyku jest
zmudne a blad (przeoczenie) w trakcie pisania programu jest
bardzo trudny do wykrycia, potwierdzasz ???
Nie.
Nie bardziej niz w kazdym innym jezyku ..
J.
From: Milosz Skowyra <miloszek_at_nospam_fido.net.org.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Fri, 28 Jun 2002 20:44:38 +0200
Kamyk wrote:
Przekonales mnie :-) ale jak jest w praktyce z tym asemblerem ?
Dowiedzialem sie z ksiazki ze programowanie w tym jezyku jest
zmudne a blad (przeoczenie) w trakcie pisania programu jest
bardzo trudny do wykrycia, potwierdzasz ???
Programista assemblera to ten ktory chodzi na kolanach tam gdzie inni
jezdza mercedasami.
Tyle ze na kolanach da sie wlezc w dziure w ktora mercedesem nie
wjedziesz.
--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Chcielismy odnalezc wlasna droge do raju...
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 30 Jun 2002 02:31:49 +0200
Programista assemblera to ten ktory chodzi na kolanach tam gdzie inni
jezdza mercedasami.
Tyle ze na kolanach da sie wlezc w dziure w ktora mercedesem nie
wjedziesz.
--
A po co chodzić na kolanach?
Mercedesem jest wygodniej, a i byle dziury się nie zauważy.
Można napisać program który idealnie będzie pasował do dziurki, tylko żeby
go później przerobić trzeba pisać program jeszcze raz,oczywiście też
dopasowany na miarę do nowej dziurki.
Ludzie nie latają w kosmos dlatego, że ktoś uparł się pole sochą orać.
Własnie rozbebyszełem "jednorękiego bandytę" z monitorem zamiast walców
obrotowych. Goście nie bawili się w asemblera tylko wsadzili Motorolę z
kwarcem 30MHz i do tego EPROM 128MB z 128MB RAM. Programowanie z asemblerze
to już prechistoria. Asemblera należy znać, bo jego znajomość jest
nieodzowna przy pisaniu programów, ale program jako taki pisze się w języku
wyższego poziomu.
Nie żeby zaraz w BASCOM'ie, wystarczy w C.
;-)
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Janusz Raniszewski <rniski_at_nospam_man.koszalin.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 30 Jun 2002 15:55:44 +0200
Ludzie nie latają w kosmos dlatego, że ktoś uparł się pole sochą orać.
Własnie rozbebyszełem "jednorękiego bandytę" z monitorem zamiast walców
obrotowych. Goście nie bawili się w asemblera tylko wsadzili Motorolę z
kwarcem 30MHz i do tego EPROM 128MB z 128MB RAM. Programowanie z asemblerze
to już prechistoria. Asemblera należy znać, bo jego znajomość jest
nieodzowna przy pisaniu programów, ale program jako taki pisze się w języku
wyższego poziomu.
Nie żeby zaraz w BASCOM'ie, wystarczy w C.
Witam,
I tak właśnie jest "wsadzili 128MB RAM" i zrobili to w C. Jednakże większość
małych procesorków ma 0,5-8 kbajt Flasha albo OTP EPROMu i tutaj zalecałbym
asemblera. Co do uciążliwości pisania to są jak zwykle jasne i ciemne strony.
Jasną jest swoboda ograniczona jedynie zasobami sprzętowymi bez kaprysów,
ograniczeń i sztuczek kompilatora. Program jest dokładnie taki jak napiszesz.
Można mieszać modele pamięci, robić sztuczki na typach danych, nie przejmować
się inicjalizacjami danych, predefiniowanymi bibliotekami umieszczanymi w
pamięci, przekazywać parametry do podprogramów w sposób jaki w danej chwili
jest mi wygodny. Oczywiście jasną stroną jest również optymalne wykorzystanie
skromnych zasobów przętowych.
Ciemną stroną jet to, że swoboda kosztuje i dyscyplina, którą wymusza
kompilator musi pochodzić od programisty. Tak np. wykorzystasz tę samą komórkę
pamięci raz jako zmienną A a raz jako zmienną B ale programista musi mieć na
uwadze czy wartość zmiennej w chwili wykorzystania będzie prawidłowa. Inną
ciemną stroną jest absolutny brak bibliotek, które programista tworzy samemu.
Oczywiście podobnie jak w C raz stworzone są używane wielokrotnie. Kolejną
ciemną stroną są liczby zmiennoprzecinkowe. Oczywiście można pracować na
posiadanych bibliotekach zmiennoprzecinkowych ale w asemblerze jest to
niezwykle uciążliwe, dlatego najwyższym typem danych na jaki można się pokusić
to dwie dwubajtowe pary liczb reprezentujące jedną. Pierwsza para to licznik a
najstarszy bit znak licznika (+-32768 odpowiednik Integer) a druga para to
mianownik. W sumie jest to reprezentacja liczby rzeczywistej stałoprzecinkowej.
Na pocieszenie mogę powiedzieć, że proste kompilatory C też nie posiadają
zmiennoprzecinkowych.
Na zakończxenie tej jakże twórczej dyskusji. Nie istnieją języki dobre i złe,
każdy ma swoje mocne i słabe strony i wszytko zależy jak pasuje do
rozwiązywanego problemu i dysponowanego sprzętu i to chyba dobrze.
JanuszR
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Czy za pomoca BASIC'a...
Date: 30 Jun 2002 20:30:25 +0200
Jednakże większość
małych procesorków ma 0,5-8 kbajt Flasha albo OTP EPROMu i tutaj
zalecałbym
asemblera. Co do uciążliwości pisania to są jak zwykle jasne i
ciemne strony.
Z tym zyskiem na pamięci, to jest trochę dyskusyjne. Przeglądając programy w
asm, C, basic,
nigdzie nie widziałem różnic przekraczających 50%, a nawet wprost
przeciwnie, moje napisane przed laty funkcje, np. do obsługi SAA1064 są
większe od produkowanych przez C czy BASCOM'a. Oczywiście teraz napisałbym
inaczej, ale czy dużo lepiej niż programiści od C?
A balansowanie na krawędzi pojemności pamięci jest troszkę ryzykowne, przy
niewielkich różnicach w cenie pomiędzy prockami z 8kB a 32kB pamięci. A
korzystając z nadmiaru wolnej pamięci można program napisać przejrzyściej,
dodać parę wodotrysków, wstawić dodatkowe zabezpieczenia, użyć bardziej
uniwersalnych biblotek.
Jasną jest swoboda ograniczona jedynie zasobami sprzętowymi bez kaprysów,
ograniczeń i sztuczek kompilatora. Program jest dokładnie taki
jak napiszesz.
Można mieszać modele pamięci, robić sztuczki na typach danych,
nie przejmować
się inicjalizacjami danych, predefiniowanymi bibliotekami umieszczanymi w
pamięci, przekazywać parametry do podprogramów w sposób jaki w
danej chwili
jest mi wygodny. Oczywiście jasną stroną jest również optymalne
wykorzystanie
skromnych zasobów przętowych.
Jasne, i do programu zajmujacego 500bajtów, napisać dokumentację 500kB.
Można mieszać, skakać, swawolić w/g aktualnego humoru.
Problem zaczyna się dopiero, kiedy trzeba użyć tego programu w innym
zastosowaniu,
i klops. Kilka dni na dochodzenie dlaczego nie działa, (bo zmienna była
używana w podprogramie i nie przywracano poprzedniego stanu, bo szkoda
pamięci), a po kolejnych kilku dniach dopasowywania do nowego zastosowania,
okazuje się,
że z tego programu nie da się zrobić małej, szybkiej i uniwersalnej
bibloteki.
Ciemną stroną jet to, że swoboda kosztuje i dyscyplina, którą wymusza
kompilator musi pochodzić od programisty. Tak np. wykorzystasz tę
samą komórkę
pamięci raz jako zmienną A a raz jako zmienną B ale programista
musi mieć na
uwadze czy wartość zmiennej w chwili wykorzystania będzie prawidłowa.
Ależ w każdym podprogramie mogę używać zmiennej która w tej chwili nie jest
używana przez inny proces.
I oczywiście nikt nie zabroni mi wpisać jednego bajta do zmiennej nawet ze
znakiem typu word.
Na pocieszenie mogę powiedzieć, że proste kompilatory C też nie posiadają
zmiennoprzecinkowych.
W sieci jest pełno bibliotek i do C i do asemblera. Dzisiaj to już nie jest
taki problem jak przed erą
Internetu. ;-)
Na zakończxenie tej jakże twórczej dyskusji. Nie istnieją języki
dobre i złe,
każdy ma swoje mocne i słabe strony i wszytko zależy jak pasuje do
rozwiązywanego problemu i dysponowanego sprzętu i to chyba dobrze.
JanuszR
Ano nie istnieją.
Asm, jako podstawa, a reszta w zależności od potrzeb i umiejętności.
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Milosz Skowyra <miloszek_at_nospam_fido.net.org.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sat, 29 Jun 2002 14:41:41 +0200
ziel wrote:
A po co chodzić na kolanach?
Mercedesem jest wygodniej, a i byle dziury się nie zauważy.
Jasne ale lepiej ma ten ktory przelezie przez dziure w plocie i jest na
miejscu czy ten ktory przejedzie 4 skrzyzowania, znajdzie miejsce do
parkowania, znajdzie parkometr, zaplaci i w koncu moze pojsc tam gdzie
ten w pierwszym przypadku i minac sie z nim w drzwiach.
A moze teraz wyznaczyc trase miedzymiastowa... tu zdecydowanie szybciej
bedzie mercedes.
Po raz kolejny nalezy stwierdzic ze punkt widzenia zalezu od punktu
siedzenia.
Własnie rozbebyszełem "jednorękiego bandytę" z monitorem zamiast walców
obrotowych. Goście nie bawili się w asemblera tylko wsadzili Motorolę z
kwarcem 30MHz i do tego EPROM 128MB z 128MB RAM.
Po czym wnioskujesz czym sie bawili ?
Programowanie z asemblerze to już prechistoria.
Moze dla ciebie tak... sprobuj ze znajomoscia bascom-a czy Keila zrobic
reverse engineering...
Asemblera należy znać, bo jego znajomość jest
nieodzowna przy pisaniu programów, ale program jako taki pisze się w języku
wyższego poziomu. Nie żeby zaraz w BASCOM'ie, wystarczy w C.
Po raz kolejny stwierdzam ze punkt widzenia zalezy od punktu siedzenia.
Mozna znalezc tysiace zastosowan dla ktorych nada sie jezyk wyzszego
poziomu a nie niskiego i odwrotnie.
--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Anything you want....I've got it...
From: "ViNYL" <mojspam_at_nospam_interia.pl>
Subject: Re: Czy za pomoca BASIC'a...
Date: Sun, 23 Jun 2002 23:03:12 +0200
Witam.
jest mozliwe zaprogramowanie mikrokontrolera ????????????????
Pytanie zle skonstruowane! Jakiego Basica? Moze Visual Basica albo QBasica?
-----------------------------------------------------
pozdrawiam
vinyl, gg 3287327