No tak, to święta prawda. Do tego Bascom sam z siebie dodaje sporo zbędnych procedur. Najgorszym przykładem jest obsługa LCD - ok 1kb kodu. Ja teraz kończę obsługę I2C Slave bo Bascom oferuje to tylko za dopłatą. Bascom , jest jak ... klucz uniwersalny. Potrafi odkręcić wiele śrubek , ale jest jest duuuuużo większy od np. ósemki oczkowej ;) Tą z kolei...
Witam ponownie Zastanawiałem się, czemu ma służyć deklaracja dość dużej zmiennej tekstowej: Dim Czytaj_str As String * 100 Przy zastosowaniu wcześniej omawianego programu obsługi LCD, na ekranie zmieścisz 14 znaków w 6 liniach, co daje 84 znaki. Po drugie, według zamieszczonego kodu do ww. zmiennej wpisujesz tylko jeden znak więc: Dim Czytaj_str As...
http://obrazki.elektroda.pl/8267947700_1... Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał...
Sam pracuje teraz nad urządzeniem, które wykorzystywać będzie kod do sterowania, i oczywiście piszę go w Atmel studio, wiem jaki prosty jest C bo przesiadałem się z BASCOM i mnie wryło dosłownie. No ale nie jest dział DIY działem innowacyjnych technologii. Zrozumcie to. Takie przekrzykiwanie się o wyższości jednego języka nad drugim to w zdecydowanej...
Dziękuję za sugestię i wyjaśnienia. Jestem jednak przekonany że problem jest z rejestrem RAMPZ. Wszystko co sugerowałeś sprawdziłem. Dane zawarte w DATA są prawidłowe (sprawdziłem wyświetlanie grafiki korzystając z tych danych między innymi fonty). Program po usunięciu linii z danymi Data - tak aby program nie przekraczał 64KB - działa prawidłowo. Usunięcie...
A jak się ładuje ten Optiboot? Z tego co się doczytałem trzeba mieć programator lub drugie arduino? Nie potrzebujesz zmieniać/ uaktualniać bootloadera. Jeżeli inne kompilacje (np. testowe mruganie diodą) przebiegają/kończą się pomyślnie, znaczy że sama płytka nie ma defektów. Jeżeli twoja płytka jest oznakowana "UNO", zakupiona w komplecie z ' CNC...
Witam ! AT89S2051 możesz zaprogramować przez ISP programem ISPProg pana Adama Dybkowskiego. Powodzenia życzę. Stefan Przyjrzałem się programowi za strony SQ.. skompilowałem go w Bascomie 8051 i doszedłem do wniosku że program napisany jest na AT89C4051 nie 2051. Autor poszedł jak zwykle na łatwiznę i w pliku BAS nie zamieścił linii odnośnie użytego...
Ja robiłem podobne testy z tym że na dużo większych programach. Najpierw napisałem program w Bascomie (ATMEGA8) - zajętośc pamięci około 72%. Po czasie nauczyłem się C i napisałem kopię programu w C (Codevision) , program zajął 54%. Pisząc w C bardzo kontrolowałem na każdym kroku wielkość kodu, nie używałem printfa, walczyłem o pojedyncze bajty aby...
Mam nastepujacy problem.Podczas kompilacji programu w Bascom 8051 zostal wyswietlony komunikat o braku pamieci Ram. Program ma trafic do procka ATs8252.Na poczatku programu wpisana jest komenda $regfile=" 89s8252.dat" ktora powinna ladowac ustawienia procka. Zauwazylem ze jesli tam umieszcze plik od dowolnego procka to nie ma to wplywu na ilosc pamieci...
Rozmiar pliku BIN jest zawsze taki jak rozmiar pamięci flash danego kontrolera. Dokładnie tak. BIN dla ATmega8 będzie miał 8kB. Jeżeli twój projekt po kompilacji zajmie 1kB, to tylko 1kB z tych 8 bedzie zawierał jakieś dane. Reszta to będzie 0xff. Plik BIN jest niczym innym jak obrazem pamięci. Nie zawsze. Zależy od kompilatora, np. Bascom nie wypełnia...
... Co do programu to autor nie chcial go udostepnic nawet po zakupieniu "kitu" skanera. Jednak nic nie stoi na przeszkodzie napisac wlasny (dodam, ze Bascom odpada ;) Chce się komus w assemblerku? Bo mnie nie... pomimo, ze zwsze w nim pisze. Czemu bascom odpada?? Ja właśnie w bascomie napisałem program do własnego scannera i pogratuluje temu, kto...
to instruuje kompilator aby używał acall zamiast call(potrafi zaadresować do 2048) a acall potrafi aż do 64Kb. Jest jeden minus - jak dodasz $large to ci wzrośnie objętość programu bo acall używa 3bajtów a call 2 więc jak w programie masz ileś razy odwołanie call to tyle bajtów ci doda. call jest dobre w 89c2051 bo pomaga ograniczyć wielkość kodu. ***...
Witam . Mam problem z programowaniem wszystkich AVR-ów na kompilatorze Bascoma . Przy pierwszej próbie wgrania programu wyskakuje mi siedem różnych błędów-różnic (typu Difference at C.....) . Występuje to regularnie i nie ma wpływu na to wielkość kodu wynikowego . Później jest wszystko w porządku . Po wyłączeniu Bascoma i ponownym uruchomieniu sytuacja...
heh - no, znowu wojna. Bascom to narzędzie, tak jak C - wszystko zależy od tego jak je się wykorzystuje. I na pewno da się tutaj zrobić wiele rzeczy w sposób prostszy i szybszy niż w C i asm. Ale to samo można powiedzieć również o C. Jeśli chodzi o szybkość - mam taki projekcik - kilkanaście instrukcji zaledwie - ale każda musi się wykonać w 1 takcie...
Ciekawe rozwiązanie. Czy poniższy programik będzie miał sens?: dim a as byte dim b as string a=124 b=a lcd x=? y=? b czy kożystając z wcześniejszych fontów zobaczę na graficznym wyświetlaczu w pozycji x,y wartość 123? Nigdy nie zamieniałem cyfr na litery może i banalne pytanie lecz chciałbym mieć pewność. Wcześniej zadałem pytanie o tym jak korzystając...
Rozumię, że chodzi o zapis do pamięci EEPROM a potem odczyt z pamięci. Aby dokonać zapisu do EEPROM-u należy: Dim x as long 'definicja zmiennej "x" typu Long x = .... 'wpisać wielkość tej zmiennej writeeeprom x , 1 'zapisanie zmiennej "x" do komórki "1" EEPROM-u Aby odczytać z EEPROM-u: readeeprom x , 1 'odczyt zmiennej "x" z komórki "1" EEPROM-u Uwaga:...
Witam W tematach programowania mikroprocesorów jestem raczkujący - swojego czasu pisałem programy w asm i troszkę bascom - dlatego zwracam, się o pomoc do was. Nie rozumiem jak ustawić konfigurację podłaczeń wyświeltacza LCD i jego rozmiaru podczas programowania w AVR studio. W bascom była możliwość konfiguracji w opcjach lub bezpośrednio w kodzie programu...
I wszystko jasne! DS18S20 - nie ma siły uzyskać 0.1 rozdzielczości DS18B20 - tryb "niepełny parasite" (bez tranzystora pullup) - nie daje rady przetworzyć na 12 bit i mamy 0.5°C rozdzielczość Dopiero DS18B20 - tryb parasite z tranzystorem pullup lub z zewnętrznym zasilaniem jest w stanie przerobić temperaturę na 12 bit. ...Poza tym rozbijanie Waitms...
W twoim programie compilator, wykłada się w następującej lini kodu, przy deklaracji zmiennych : Dim Stx As String * 10 - zgłasza błąd 8. Nie chce mi się myśleć a wielkość pliku jest nieduża więc zamieszczam go w całości: Może ktoś z forumowiczów pomoże. ArteXL '################ ' --- Miernik pojemnosci 1pF - 500000uF ' NE Nr.5-2003r str.4. Zeataw 337-K...
Tak ale bascom demo wgrywa pliki tylko do 2 kb, a oprócz bascom avr nie umiem się posługiwać innymi programami :( Z tego co pamiętam to Bascom kompiluje pliki do określonej wielkości demo, programowanie było bez ograniczeń. Może się coś zmieniło? Kasujesz Flash przed zaprogramowaniem?
Dziwi mnie to że program kompiluje się poprawnie i mogę go bez problemów załadowac do atmegi , jednak weryfikacja zapisu zawsze daje błąd i tym samym program nie działa. To wgraj po prostu plik hex lub bin innym programem. Np. AVR_ISP z kanda.com
Ja mam. Jaki procesor, jakiej wielkości plik?
Piszac program W C do obslugi LCD na AVR, jaki on mi kody wynikowy wygeneruje?? Czy mniejszy niz Bascom ?? I jaka mniej wiecej powinien miec wielkosc.
Program jest mój. Korzystaj. Linijkę możesz "skrócić" ograniczając w pętli zmienną licznik (teraz pracuje do 16 - znaków). Odpowiednio przeliczyć trzeba współczynnik podziału. Maksymalna wartość wielkości wyświetlanej/maksymalna ilość słupków w linijce.
No ale chyba oczywistym jest, że nie będzie brał pod uwagę wielkości poprzednio wgranego programu, ale wielkości programu z którym będzie porównywał zawartość?
Witam ! Arduino IDE 2.3.2 Czy jest jakiś inny sposób konfiguracji programu ( poza istniejącą ) aby zmienić grubość znaków w edytorze ? Mam problemy ze wzrokiem i Arduino edytor nie zachęca mnie do pracy, bardzo męczy wzrok. Czarny ekran też mnie nie zadawala, mało kontrastowe są znaki. To zależy co masz na myśli ‘poza istniejącą’? O ile w starszej...
Podnieś Bascom do nowszej wersji. Wersję 2078 już spokojnie znajdziesz w sieci. Na 2080 się to kompiluje bez błędów mimo iż program zgłasza kilka ostrzeżeń o dwukrotnej deklaracji tych samych zmiennych itd.. Musisz wiedzieć że AVR-DOS potrzebuje minimum 1500B SRAM i w Mega32 zostaje Ci 500B SRAM. Nie zadeklarowałeś wielkości stosów HW i SW oraz ramki...
Tak mi przyszło do głowy, bo ostatnio trochę zaszalałem z wielkością programu w BASCOM i program niby działał, a po chwili wywalał się na podstawowych rzeczach. Wystarczyło stos zwiększyć i problem zniknął. Nie znam się na C ale może i tu trzeba taki zabieg zrobić...
Na początek żeby sprawdzić czy program poprawnie działa możesz dać po 100 bajtów na stos (lub więcej, DOTYCZY ATMEGI32 Z 2KB SRAM :)). Jak się okaże że wszystko działa, wypadało by wykorzystać narzędzie Stack Analyser do określenia wielkości stosu program.
Dzięki . Czasami prosty rysunek da więcej jak kiepskie gadanie godzinami.Muszę zweryfikować swoje myslenie. jak sprawdzić w Bascomie jaką ma wielkość pisany program , czy to jest to samo co wielkość pliku .hex. I do czego służą dyrektywy
Są dwie metody tworzenia urządzenia. Jezeli to jest tak prosty schemat jak Twój , zaprojektuj płytkę na gotowo z wszystkimi mozliwymi dodatkami a program będziesz zapisywał sukcesywnie w miarę jak będziesz ulepszał kod programu . Taki układ testowy na gotowo. Druga metoda polega na budowie urządzenia testowego na jakiejś płycie testowej na której mozesz...
A gdzie masz deklarację procesora, częstotliwości, konfigurację pinów do LCD? Co do programu, to proponuje: ' naglowki programu Do Locate 1 , 1 Lcd "Witaj!" Wait 3 Locate 1 , 1 Lcd "Czy dziala?" Wait 4 Locate 1 , 1 Lcd "!!! TAK !!!" Wait 5 Cls Loop Gdzie nagłówkami programu muszą/mogą być: - deklaracja procesora np. m32def.dat...
Ba, na chłopski rozum... Ale spróbujmy, możliwie krótko: Stałe to takie wielkości (liczby) zadeklarowane w programie, które nie będą zmieniać swej wartości przez cały czas działania programu. Dla przykładu może to być powiedzmy Pi = 3,14 lub jakaś inna własna wielkość. Zmienne lokalne - to takie zmienne, które wykorzystywane są tylko na czas realizacji...
Zaprezentuj krótszy program tylko z odbiorem, ale z wszystkimi ustawieniami, configiem i deklaracjami zmiennych. Może coś się od razu rzuci w oczy :D Nie wiadomo czy zadeklarowałeś wielkość ramki której Bascom używa do obrabiania danych pracując na stringach lub tablicach ($framesize) Kiedy jest za mała to program może jeździć po innych zmiennych ;)
Taki if to kilka bajtow i napewno zajmie mniej pamieci flash i Ram. Skompiluj program w wersji 1 i 2 i sam porownaj wielkosc kodu .
Witam! Po kompilacji programu dostaję taki komunikat : Program will overwrite bootloader [52 to long]. Rozumiem że kod przekroczył wielkość pamięci flash i nachodzi na obszar zarezerwowany na bootloader. Za pomocą fusebitów można ustawić wielkość obszaru bootloader'a 128-1024B. Ale jak całkowicie wyłączyć rezerwację obszaru dla bootloader'a i swobodnie...
Mój jest ponad 4 razy większy. Bez problemu można odczytać go z odległości 7-8 metrów. Wielkość znaków to około 20mm. Arduino jest łatwiejsze niż Bascom. Zamieściłem cały program więc można zmienić co nie pasuje i gotowe.
Ja praktycznie wszystko co robię z AVRkami to zawsze docelowo jest to w obudowie TQFP albo SMD. Atmega8, ATmega88, ATmega32 - tych to już naprawdę całe mnóstwo przeszło mi w ten sposób przez ręce i nigdy ale to nigdy nie zauważyłem jakichś różnic w programowaniu pomiędzy TQFP/SMD a w obudowie DIP Oczywiście zawsze gdy robię jakiś prototyp to najpierw...
Ustaw to: $crystal = 400000 tak: $crystal = 8000000 I fuse do tego. Poza tym podałem ci program który podaje PWM na 2 porty, nie musisz stosować 2 tranzystorów, wybierz 1 port na którym będzie ci to działać. Kolejna sprawa, to wielkość WAITMS musisz dobrać eksperymentalnie, ponieważ zależy od tego prędkość rozjaśniania i gaszenia lampki. Jeśli chcesz...
ale jak tam dodam czyszczenie bufora to on sie wyczyści przed wyjściem z programu obsługi przerwania..i nic się nie wyświetli raczej.. zależy mi na tym by wielkość bufora była na jeden znak. Chyba tak jest najlepiej ?
Witam. Obecnie programuję w Bascom procesory AVR. Rozglądałem się za informacjami o języku C, jednak dla mnie to obecnie troszkę za wysoka poprzeczka. Jednak mam pytanie - ile można zaoszczędzić na wielkości kodu wynikowego pisząc programy w języku C? Czy nauka od podstaw C będzie dla mnie opłacalna, jeśli już radzę sobie w Bascom ?
Witam ponownie. Czy nikt tego nie ustawia??? Ja zauważyłem że nie mogą być te parametry ani za duże , ani za małe. Napewno zależy to od wielkości programu i ilości procedur. Ale dokładnie który element za co odpowiada??
Ogólnie mam braki ze STOSu i chciałem wyjaśnić sobie kilka rzeczy. Zastanawiałem się co zrobić ,bo mam program w którym skok zajmuje większość kodu. Są to tak jak by 2 programy, które mogą działać nie zależnie od siebie. Żeby nie mieszać ich ze sobą pomyślałem że zastosuję procedurę skoków między nimi bez zapisywania stosu. Oczywiście mogę je wpakować...
Bascom AVR w moim przypadku nie programuje procka i nie ma pojęcia jaki procek zostanie "obdarzony" jego prograqmem. Jak Bascom ma ten program skompilować jeśli nie wie na jaki sprzet? Jeśli nie zadeklarowałeś procka w programie to może informacja ta siedzi w opcjach. Zadeklaruj większego uC i po kompilacji powie ci ile pamięci potrzeba. teraz ja potrzebuje...
Bascom masz zapewne w wersji demo, więc jest ograniczenie co do wielkości programu chyba 2Kb (tylko przy programowaniu nie przy kompilacji). Ja używam zewnętrznego programu. np ISProg: http://programy.internetstandard.pl/pc/1... Przed programowaniem dobrze jest odczytać najpierw sygnaturę uC i Fusbity(jeśli wystąpi błąd to masz pochrzanione...
Program pisany pod bascom avr wersja darmowa (ograniczenie programu do 4kB). ATmega128 Kwarc 16MHz Banalny program testowy na początek: $regfile = "m128def.dat" $crystal = 16000000 Config Portb = Output Do Portb.2 = 1 Portb.1 = 1 Portb.1 = 0 Loop End program wpisany do atmega128. wynik działa. Ale wystarczy że do programu dorzucę komendę np....
Witam ............. Teraz moje pytanie: paluszasty napisał, że kurs EDW wystarczy, ja mam bascom1.11.8.1, 1. czy tym programem, będę mógł wgrać program do atmegi? 2. może pytanie banalne, ale STK200 jak patrzałem na avt ma wejście na 20-nóżkowy procesor, a ATmega8 ma 28 nóżek, czyli jest jakiś inny programator, który pozwoli mi przez mój program BascomAVR...
Lepiej zrób program odczytujący dane o podłączonych układach - to tak w razie konieczności wymiany któregoś. Różnicę w wielkości programu możesz łatwo sprawdzić - w raporcie z kompilacji... Potrzeba też będzie 3x8 bajtów RAM na przechowywanie numerów podłączonych DS-ów - ale z tym sobie BASCOM poradzi
Mam pytanie do braci programujących w Asemblerze: W załączniku wsad do miernika pojemności na matrycy LED a chcialbym podpiąć do niego wyświetlacz LCD. Co zmienić w kodzie ASM żeby chodził LCD? Wielkość programu nie ma znaczenia - zapakuję w at89c4051. A może ma ktoś miernik EDW z kodem na BASCOM? Proszę o pomoc.
W niedziele myślę, spróbuje wgrać prosty program do załączania przekaźnika za pomocą przycisku. To mój pierwszy projekt z uC. Xury? Czyli muszę zadeklarować wielkość stosu? gucio1? Czy dalej widzisz błąd w konfiguracji portów? Dzięki wszystkim i czekam dalej, w niedzielę myślę, dam znać. Pozdrawiam
bascom wielkość bascom wielkość tablicy bascom programu ds18b20
kontrolka zwarcia zasilacza intel e6300 sprzedać częsty zmywarka bosch
diagnostyka oscyloskopem diagnostyka oscyloskopem
IVECO Crossway – przeróbka lewej lampy zespolonej na prawą, schemat pinów, homologacja Koszt naprawy sprężarki w lodówce Polar CZ 300