Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Kod wynikowy w Bascomie kontra FASTAVR.

szymel
-
-
Posty:212
Rejestracja:16 sty 2005, o 16:42
Lokalizacja:Włocławek

Postautor: szymel » 8 lis 2006, o 17:02

Szczerze mowiac tez nierozumiem...
Pusty program, + definicja wlasna putchar, putstr; zajmuje mi 126B...
No właśnie , "własna putchar".Chyba porównujemy standardowe możliwości kompilatora , a nie z jakimiś "przeróbkami".Przecież nikt nikomu nie broni zoptymalizować , czy wręcz napisać po swojemu od nowa mcs.lib , a wtedy drżyj GCC przed Bascomem :D

Piotrek

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 8 lis 2006, o 17:45

No właśnie , "własna putchar".Chyba porównujemy standardowe możliwości kompilatora
Tak.... KOMPILATORA, a nie uniwersalnych maximultiplatformowych bibliotek, zreszta deklaracja putchar jest w examplach WinAVR, wiec nie do konca przerobka ;p

Fredy
-
-
Posty:141
Rejestracja:27 mar 2005, o 21:45
Lokalizacja:Małopolska

Postautor: Fredy » 8 lis 2006, o 19:05

Zatem jaki jest sens uczenia się języka C???
Myślałem że chodzi o rozmiar kodu? :?

jacynka84
-
-
Posty:150
Rejestracja:17 maja 2006, o 22:50
Lokalizacja:Sulejówek

Postautor: jacynka84 » 8 lis 2006, o 19:50

Wg. mnie C można jeszcze się uczyć, ale ASM odpada kompletnie...
Jest dla masochistów ,oraz którzy kochają marnować czas na coś , co w Bascom
lub w Basic ,ew. w C jest do napisania w 100 razy krótszym czasie.
Takie są fakty.
Nie potępiam asemblerowców ,jak go umieją to gratuluje.
Trochę pisze w Bascom ,jego zaleta to wg Mnie oszczędność Czasu.
a że kot duży, można używać ATmegi dużej np. 32 ,128. kosztują tyle co inne 2kbajtowe
kostki,więc nie wiem o co chodzi z tym że za duży kod wam wychodzi, a przecierz w Bascom chyba raczej nie pisze sie do urządzeń
przemysłowych aby to było ważne!
Po co wydawać na kostke 6-7zł na 2kb i płakać że kod za duży, wydać 14zł i mamy 32kb!
Miejscami wnoszenie że kot za duży jest niedorzeczne. Ile wam zajmuje
zapisanie 32kb?

Kod: Zaznacz cały

$regfile = "m32def.dat" $crystal = 1000000 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0 Config Lcd = 16 * 2 Dim Godzina As Byte Dim Minuta As Byte Dim Sekunda As Byte Do Waitms 1000 Incr Sekunda Lcd "" ; Sekunda ; "" ; Minuta ; "" ; Godzina Loop Until Sekunda > 59 Do Waitms 1000 Incr Minuta Lcd "" ; Sekunda ; "" ; Minuta ; "" ; Godzina Loop Until Minuta > 59 Do Waitms 1000 Incr Godzina Lcd "" ; Sekunda ; "" ; Minuta ; "" ; Godzina Loop Until Godzina > 12 Do Loop
Taki kod to mój zegar ,bez zewn. kwarcu sie spóźnia .
:mrgreen:
Generuje 2.72kb (Bascom 1.11.7.7)
z kolei ten kod generuje 3.32kb

Kod: Zaznacz cały

$regfile = "m32def.dat" $crystal = 1000000 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0 Config Lcd = 16 * 2 ' LCD 16*2 Cursor Off ' Kursor Cls Dim Hours As Byte , Minutes As Byte , Seconds As Byte Dim Temp As Integer , Flag As Bit , Key As Byte Config Timer0 = Timer , Prescale = 1 Load Timer0 , 250 Enable Timer0 Enable Interrupts On Timer0 Timer0_int Start Timer0 '-------- initial time is 12:00 --------- Hours = 12 Minutes = 0 Seconds = 0 Do If Flag = 1 Then Flag = 0 Locate 1 , 1 If Hours < 10 Then Lcd "0"; Lcd Hours ; ":" ; If Minutes < 10 Then Lcd "0"; Lcd Minutes ; ":" ; If Seconds < 10 Then Lcd "0"; Lcd Seconds End If Loop Timer0_int: Incr Key '50 x 70 =3500 If Key = 50 Then Key = 0 'Call Klawisze Incr Temp If Temp = 70 Then Flag = 1 Incr Seconds Temp = 0 If Seconds = 60 Then Seconds = 0 Incr Minutes If Minutes = 60 Then Minutes = 0 Incr Hours If Hours = 24 Then Hours = 0 End If End If End If End If End If Return
Niby niewiele, ale trzeba też czasem umieć napisać troche prostrzą metodą coś.
wiem że mój kod jest "dziwny" ,ale myślę że po dodaniu zewn. kwarcu będzie
dobrze chodził. :)
Ostatnio zmieniony 8 lis 2006, o 20:05 przez jacynka84, łącznie zmieniany 1 raz.

szymel
-
-
Posty:212
Rejestracja:16 sty 2005, o 16:42
Lokalizacja:Włocławek

Postautor: szymel » 8 lis 2006, o 20:03

A co wspólnego ma kot z uC :?: :twisted:
Natomiast co do assemblera , to być może pisanie w nim programów jest masochizmem , ale jego nieznajomość w przypadku 8/16 bitowych uC , jest poprostu ignoranctwem :!:

Piotrek

Fredy
-
-
Posty:141
Rejestracja:27 mar 2005, o 21:45
Lokalizacja:Małopolska

Postautor: Fredy » 8 lis 2006, o 21:10

A co wspólnego ma kot z uC :?: :twisted:
Natomiast co do assemblera , to być może pisanie w nim programów jest masochizmem , ale jego nieznajomość w przypadku 8/16 bitowych uC , jest poprostu ignoranctwem :!:

Piotrek
Czemu tak uważasz?
Ta dyskusja troche przypomina mi rozwój budownictwa. Kiedyś budowano z cegły. Potem z pustaków. Teraz jest wiele gotowych elementów które znacznie upraszczają i ułatwiają robotę. Dodatkowo zmniejszają prawdopodobieństwo popełnienia błędów. Czy ktos teraz buduje z tradycyjnych cegieł ?
Chyba lepiej i bezpieczniej stosować gotowe procedury, a całą energię i uwagę skierować na sprytny algorytm. :D

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 8 lis 2006, o 22:07

Czy ktos teraz buduje z tradycyjnych cegieł ?
Oczywiscie ze tak :mrgreen:

Zatem jaki jest sens uczenia się języka C???
Myślałem że chodzi o rozmiar kodu?
Rozmiar kodu tez, a do tego proponuje Ci napisac podany przez Ciebie przykladowy program pod PIC'em... w Bascomie oczywiscie :roll:
A pozatym... ten kod w Bascomie mozesz napisac, jak juz Szymel wspomnial, tylko dlatego, ze ktos wczesniej sie jednak tego ASM nauczyl.
można używać ATmegi dużej np. 32 ,128. kosztują tyle co inne 2kbajtowe(...)Po co wydawać na kostke 6-7zł na 2kb i płakać że kod za duży, wydać 14zł i mamy 32kb
Tak.. to chetnie kupie z 2 tys Atmegi 128 za 1,5zl/szt... za tyle ostatnio kupilem 90S2313. Nawet te 7zl/szt to spoooora roznica. Z reszta wypowiedzi Jecynki nie bede polemizowal... nie mam spadochronu a budzi sie we mnie lek wysokosci.

Ps.
A tak ogolnie to podzielam zdanie Szymela... to tylko narzedzia.... tez mam zainstalowanego Bascoma :wink:

radzio
Moderator
Moderator
Posty:967
Rejestracja:13 maja 2003, o 10:33
Lokalizacja:Sosnowiec
Kontaktowanie:

Postautor: radzio » 8 lis 2006, o 22:21

Panowie... Widzę, że wojna na całego :573:
Naprawdę nie ma sensu wytaczać argumentów za jednym czy też drugim kompilatorem/jezykiem. "To tylko narzędzia". Jak ktoś chce pisać w Bascomie - trudno, jego wybór i jego strata. Faktem jest, że są rzeczy do zrobienia tylko w ASM, ponieważ są tak specyficzne dla danego uC, że żaden "standardowy" język tego nie wspiera i trzeba zrobić chociażby wstawke asemblerową (np równoległe operacje arytmetyczne w DSC na dwóch niezależnych zestawach danych). No ale jak ją zrobić skoro znajomość asemblera jest perwersją? Każdy, kto wyjdzie dalej niż zegarek czy termometr na AVR z programem w Bascomie prędzej czy później uświadomi sobie jaka moc drzemie w asemblerze.

szymel
-
-
Posty:212
Rejestracja:16 sty 2005, o 16:42
Lokalizacja:Włocławek

Postautor: szymel » 8 lis 2006, o 22:26

...Każdy, kto wyjdzie dalej niż zegarek czy termometr na AVR z programem w Bascomie prędzej czy później uświadomi sobie jaka moc drzemie w asemblerze.
Święte słowa :D
Podpisuję sie pod tym ... czym się da ;)

Piotrek

jacynka84
-
-
Posty:150
Rejestracja:17 maja 2006, o 22:50
Lokalizacja:Sulejówek

Postautor: jacynka84 » 9 lis 2006, o 01:12

Nikt nie zaprzecza mocy asm'a w nieco większych projektach - chodzi jedynie o to że w rzeczach "nie wymagających" marnuje czas i nerwy. a ktoś kituje że nawet w zapalaniu zasmarkanego leda ASM jest "lepszy"... :570:

Fredy
-
-
Posty:141
Rejestracja:27 mar 2005, o 21:45
Lokalizacja:Małopolska

Postautor: Fredy » 10 lis 2006, o 17:46

A tak na poważnie niedawno ukonczyłem budowę dużego projektu "system nadzorujący godziny pracy w firmie 220 osobowej".
W tym trzy klawiatury, bramki wejścia/wyjścia trzy wyświetlacze LCD, wyjście na klawiature Pc i wyjście do komutera PC. Całość z rejestracją i zapamiętaniem danych z ostatnich 7 dni.
Cały projekt na dwóch ATMEGA32, czas wykonania projektu - około 1mies. Działa rewelacyjnie od 5mies.
I powiem jeszcze jedno, to była tak naprawdę poprawka po kimś. Poprzednia firma która zajęla sie tym tematem wykonała całość w asm Ich system się ciągle zawieszał ( nie mogli sobie poradzić z transmisją i kolizjami. Firma ta była na poprawkach chyba 50 razy i zrezygnowała . Ktośby powiedział że tamci mieli "pełną kontrolę nad procesorem bo pisali w asm" , tylko co z tego skoro nie byli w stanie całości ogarnąć. :D

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 10 lis 2006, o 17:50

Ktośby powiedział że tamci mieli "pełną kontrolę nad procesorem bo pisali w asm" , tylko co z tego skoro nie byli w stanie całości ogarnąć. :D
Utopic mozna sie nawet w lyzce wody.

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 20 gości