Trudno mieć pewność, która to linia programu generuje ten błąd, ale kompilator chyba to wskazuje?
Bo trochę zajmuje stos i ramka. I na zmienne zostaje mniej niż 128B pamięci. W C sprawa wygląda tak samo tylko że kompilator C nie sygnalizuje błędu.
(at)ElektrodaBot Mam problem z kompilatorem w programie Bascom AVR. Podalem w programie mikrokontroler ATtiny24A. Kompilator pokazuje błąd: nie znaleziono układu. Kiedy zmieniłem na ATtiny861, wszystko działa.
Nie wiem z jak starego kompilatora Kolega korzysta, ale u mnie wszystko kompiluje się bez błędów.
Cóż , jeśli nie grzebałeś w tych ... $include "Config_MMC.bas" $include "Config_AVR-DOS.bas" ... plikach i masz wersję komercyjną Bascoma , to ją uaktualnij. Natomiast jeśli masz wersję DEMO , to nie uda się skompilować poprawnie Twojego kodu , bo program jest większy niż dozwolone 4kB i to może być przyczyną błędu , lub wersja kompilatora...
Zdobyłem właściwy kompilator..jeszcze na LPT.
Przecież pokazuje, że masz błąd w linii 6
Co do pierwszego to skopiuj zawartość pliku do kompilatora. Co do drugiego rób to raczej w kodzie. Bezpieczniejsza opcja - że zauważysz błąd. Pozdrawiam Łukasz.
Zaznaczyłem linie z błędami. Sęk w tym że w tych liniach błędów brak a mimo to kompilator wali błędami.
Po pierwsze dodaj dyrektywę informującą kompilator z jakiego zegara korzystasz. Po za tym w przerwaniu nigdy nie używaj opóźnień bo to podstawowy błąd.
A co dokładnie pisze kompilator?
Kompilator pokazał mi dwa błędy; oba w pętli For...next. Poprawiłem błędy i skompilowałem. Załączam plik bin (Bascom 2.0.7.9) i plik txt z uwagami, gdzie kompilator pokazał błąd.
Witam A wersja kompilatora dobra ? Pozdrawiam.
Co to za błędy, albo co wskazuje kompilator ? Dodano po 1 Co to za błędy, albo co wskazuje kompilator ?
Zainstalowalem ową wersje bascoma i nadal sie pojawia ten sam problem. Ręce mi już opadają jeśli nic nie ruszy przeżucam się na inny kompilator.
Możesz podać gdzie przeczytałeś że ta liczba po przecinku oznacza liczbę wysłanych bajtów? Help nic nie mówi na ten temat. Sprawdzałem w symulatorze że ta liczba nic nie zmienia. Jest taka informacja w helpie "When you use Printbin ar(1) , the whole array will be printed." A kto powiedział że ja wpisuje dane? Ja je wysyłam. Ale twoja tablica jest pusta....
kupiłem atxmega32e5 i ta sama płytka pcb...ruszyło od razu z kopyta....nie będę wnikał czemu, może to błąd kompilatora ale wątpię bo widziałem projekty na atxmega8e5
Bascom powinien po wywołaniu procedury obsługi przerwania skasować flagę a tego nie robi...i po obsłużeniu przerwania znów jest ono natychmiast wywoływane i program się zapętla. Trzeba ręcznie ustawić flagę w rejestrze GIFR. Wiem, że C jest dużo mniej problematyczny...sam kompilator ma też mnie roboty, bo to język niższego rzędu jak Basic Bascom, ale...
Jeśli jeszcze wywala błąd przy kompilacji , to dopisz jedno magiczne zaklęcie :D Config Rc5 = Pinx.y i na dokładkę $regfile = "m32def.dat" Skąd kompilator ma wiedzieć , który pin przyporządkowałeś odbiornikowi podczerwieni :?: Jasnowidzem to on nie jest :D Piotrek PS Nie polegaj zbytnio na ustawieniach globalnych- stosuj dyrektywy w kodzie :!:
Wszstko dlatego, iż zmienne typu Single są nieco odmiennie zapamiętywane w pamięci i mają wyjątki (np. NaN, QNaN, SNaN) które nie są liczbami, i każda operacja arytmetyczna z nimi powinna wywołać błąd operacji i jego zgłoszenie - a tego Bascom niestety nie obsługuje (jak i spora ilość innych kompilatorów). Operacja z jawną zamianą znaku jest bezpieczniejsza...
Dowolny, obojętnie jaki błąd bym zrobił to kompilator mi go nie wyświetli.
Z Twojego opisu wnioskowałem, że chodziło o sterowanie pinem WR wyświetlacza. I tu miałem mały problem. Sugerowałem się dokumentacją tego wyświetlacza gdzie ten pin nazywa się R/W a nie WR jak w Bascomie i dlatego kompilator wywalał mi błąd. Tak jak napisałeś biblioteka LCD4BUSY nic ciekawego nie wniosła a i sterowanie pinem RW też nic nie zmieniło....
Instrukcja DJNZ nie wykonuje się na akumulatorze Użyj któregoś z rejestrow Rx lub konkretnej komórki w pamięci bo na niej też się może wykonać. Co do zapisu A i ACC to obydwa są OK, ale niektóre instrukcje działąją tylko przy ACC (np. odkładanie na stos) ale to może zależeć od kompilatora.
Z jaką znowu biblioteką? RC5SEND jest w kompilatorze jako code template a nie w bibliotece i zmienić się jej nie da. RC5SEND korzysta z 16-bitowego licznika TIMER1, którego to ATtiny45 nie posiada . Ma tylko dwa 8 bitowe liczniki. Rozwiązanie jest i to na forum MCS Electronics. Poszukaj!
Już nie pamiętam, bo program pisałem dość dawno, w każdym razie na 2.0.4.0 wszystko działa tak jak powinno :-) Może to ja zrobiłem błąd, który kompilator zignorował i przepisał po swojemu... no nie wiem :D
napisałem program w bascom avr i przy prubie kompilacji występuje bład error: 220 forward jump out of range [_init_lcd] jak to obejść mam kompilator 1.11.6.6
Witam, Czy Kol. próbował kompilować inna wersją kompilatora? powinno działać..
Nie ma się nad czym zastanawiać- zdecydowanie C. C jest językiem uniwersalnym, kompilatory Bascoma powstały tylko pod mikrokontrolery AVR. W pewnym momencie okazuje się, że język bascom zaczyna być mądrzejszy od właściciela i nie da się go okiełznać. Nie mówiąc o tym, że kod wynikowy C jest dużo mniejszy. Bascom, owszem ma swoje zalety- na przykład...
jak zmienną cool2 dam na byte to kompilator wywala błąd i drze się o stringi :D
mov 57, #24 Czy podane liczby mają być w kodzie szesnastkowym? Jeśli tak to brakuje h po liczbach np. mov 57h, #24h. Poza tym przydałaby się treść błędu (wklej komunikat programu). "Programowanie w język asembler w programie Bascom" - masz program z kompilatorem dla Bascoma i asemblera, czy o co chodzi? Nie wiem czego używasz, ale w programach z różnymi...
Niestety jak używam w konfiguracji słowa PCINT4 to kompilator generuje błąd i twierdzi że to nieznane źródło przerwania.
Błąd kompilatora. Po wykonaniu Config Timer0 nie jest zapamiętywana bieżąca zawartość rejestrów TCCR0x wewnątrz kompilatora. Przy wywołaniu Start Timer0 odtwarzana jest wartość 0 w rejestrze TCCR0B, a powinno być wpisane 5. Zgłosić do działu wsparcia i czekać na poprawienie. A tymczasem zamiast START i STOP: skonfigurować licznik, zapamiętać zawartość...
A jeśli zadeklaruję: Dim linia1(16) as string *1 ... to : linia1(5) = "1234" ... spowoduje wpisanie pojedynczych cyfr do kolejnych komórek tablicy linia1()? Dodano po 3 To jest raczej błędna deklaracja, bo przekraczam rozmiar pojedynczej komórki... Kompilator zwraca mi błąd.
Witam. W tych dwóch liniach kompilator zgłasza ci błędy bo to nie są polecenia z Bascom AVR tylko z Bascom 8051. Dlatego Bascom AVR ich nie rozpoznaje.
Witam. Zadeklarowałem zmienną x typu Single. Przypisuję do zmiennej wartość np. 2 czyli: x = 2 Następnie zmienną x podnoszę do kwadratu. x = x^2 i wartość w zmiennej wynosi 0. Natomiast jak zrobię x = x * x Wynik wyświetla się poprawnie: nowa wartość to 4. Czym jest to spowodowane? Czy to błąd kompilatora?
AD to AddressData. To nie ADC. Przy braku przetwornika może i kompilator powinien krzyczeć już wcześniej. Ale nie krzyczy bo to BASCOM.
Na oficjalnym forum Bascom zawsze podaje się wersje w której akurat kompilowałeś..i najważniejsze..należy przytoczyć przykład który da sie skompilować.. W innym wypadku Twoje wywody są tylko wysnute z palca..no niestety..albo pokazałbyś kod i może uda się wskazać błąd Twój , a nie kompilatora :P
Witam ! Miałem podobny efekt na LCD graf . Połączenia były prawidłowe , program napisany poprawnie fuse bity ustawione prawidłowo a wyświetlacz czysty i tylko co jakiś czas pokazywały się małe śmieci . Okazalo się że przyczyną było złe ustawienie parametrów zakładki CHIP w Kompilatorze Bascoma ( za niskie parametry HW stack , Soft stack i Framesize...
Koledzy mam pytanie czy jest możliwość dodania do kompilatora bascom pliku $regfile aby mi kompilował program dla atmegi1284 bo wyskakuje teraz błąd że brak pliku.
Chyba maz cos z kompilatorem bo na moim sie kompiluje(wersja 1.11.8.1)
Kompilator (BASCOM 8051 ver. 2.0.11 - DEMO) wykrzacza się na poleceniu GETRC5 (gdziekolwiek by nie było w programie zawsze jest błąd na końcu). Co ciekawsze kiedyś się to kompilowało. Sprawdzałem na różnych systemach i ciągle jest to samo. Dotyczy to również przykładów zawartych w kompilatorze. Może potrzebana jest jakaś dodatkowa biblioteka albo coś...
Co do kwarcu to definiujemy go zawsze, niezależnie od tego czy proc pracuje na zewnętrznym, czy na wewnętrznym, bo to jest informacja dla kompilatora, wg jakiej wartości ma wyliczyć czasy dla różnych instrukcji. Jeżeli to jest "nówka sztuka" to pracuje na wewn. 1MHz. Jak sam zauważyłeś, instrukcja "Loop" powinna znajdować się po ostatnim "Endsub", ale...
Jeśli w programie będziesz miał błąd, to nie przejdzie on procesu kompilacji, czyli w efekcie i tak nie dostaniesz pliku wynikowego (bin/hex), który wgrywasz do procka.. Pod warunkiem, że będzie to błąd składniowy. Najgorsze są właśnie błędy o których kompilator nie informuje. Kompilacja przebiega poprawnie, a program i tak nie działa jak trzeba. Prosty...
Witam Masz troche sporo zamiaszania w instrukcjach IF THEN. W zasadzie musiał bym przeanalizować cały kod. Proponuje Ci zebyś napisał sobie kawałek kodu z instukcją IF .... Then Else ........... end if Wtedy załapiesz o co chodzi. Ten błąd ERROR7 ozacza że kompilator spodziewał się instrukcji if...then.
Uczę się Bascom'a z książki p. Wiązani "Programowanie mikrokontrolerów AVR w języku Bascom" Przepisałem program obsługi czujnika DS1820 z owej książki, za każdym razem pokazuje błąd 215 pod całym tekstem programu. Nie wiem co to znaczy? Podobnie wkopiowałem program z internetu który jak pisał autor postu, u niego działał. U mnie również po uruchomieniu...
Dzień dobry. Kompilator przecież pisze o co chodzi :D Zamiast "jeśli przycisk = 0" napisałeś "jeśli przycisk = Duża litera O" Brakuje też przecinka przed Right. http://obrazki.elektroda.pl/7581088600_1... Poniżej film z uruchomionej symulacji :D https://filmy.elektroda.pl/100_144731640... Miłego dnia. P.S. Do Gunslinger - Myślę że...
mam pytanko czemu jeżeli pisze tak jak kolega tłumaczy portd.0 = portd.0 * 2 to kompilator w tym widzi błąd? chyba że to źle interpretuje Bo musisz mnożyć zawartość całego portu. Jednego bitu nie możesz pomnożyć przez 2. Poprawne więc będzie portd=portd*2 A i jeszcze na początku wpisz do portd wartość 1 :P
A możesz pokazać ten program i screena błędu jaki wyskakuje?
Po zadeklarowaniu zmiennej "Eram_param_baudrate" kompilator zgłasza błąd "Label not found", gdyż nie ma etykiety obsługi przerwania int0: On Int0 Int_canint Bascom często nie wie, gdzie zaznaczyć błąd, który znalazł... ;)
Jest to bład składni, jak sam kompilator mówi dotyczy polecenie IF/THEN jeśli nie wkleisz chociaż kawałka kodu, to proponuje zgłosić się do wróżki.
Zastanawiałem się czy nie obejść problemu po przez zdefiniowanie ramki dookoła napisu za pomocą dodatkowych znaków np. Deflcdchar 0,16,32,32,32,32,32,32,32 Ale kompilator pokazuje błąd w/w linii (error 61 label non found)
kolego tylu ludzi już pisało abyś wypróbował PonyProg'a albo inny podobny program żeby przekonać się gdzie leży błąd. Nie mów, że to taka tragedia nauczyć się obsługi tych inny prostych programów, które służą tylko do programowania procków i nie mają wbudowanych kompilatorów jak Bascom. Nie próbuj robic tego przez AVR Studio bo to całkiem inna bajka....
1. framesize ustawiasz na 8 2. softstack ustawiasz na 16 Najprawdopodobniej twoją pamięc w tiny zapychaja stos i frame, zmniejsz te wartosci eksperymentalnie. Zmienna bit w bascomie jest definiowana w innym obrzarze pamięci, poza tym rezerwuje od razu cały bajt pozostawiając 7 pozostałych bitów na inne zmienne typu bit. Nie mozesz wywalić "$regfile",...
I gdzie ten plik ma się zapisać w mikrokontrolerze a może na dysku komputera. Jeśli tak to kolega chyba pomylił kompilatory. Baskom nie nadaje się do tworzenia plików wykonywanych na lokalnym komputerze.
błąd którego raczej kompilator niezauważy: (ciach) '***Przod*** Przod_0: H1a = 1 H1b = 0 H2a = 1 H2b = 0 Return ' Brakowało tej linii. '***Tyl*** Tyl_0: H1a = 0 H1b = 1 H2a = 0 H2b = 1 Return ' Brakowało tej linii. '***Lewo*** Lewo_0: H1a = 1 H1b = 1 H2a = 1 H2b = 0 Return ' Brakowało tej linii. '***Prawo*** Prawo_0: H1a = 1...
Koledzy a jak wysłać do lcd takie komendy wyłączające i włączające wyświetlacz? lcd_wrcmd16(0xEF90); //display off lcd_wrcmd16(0x0040); lcd_wrcmd16(0xEF90); //display on lcd_wrcmd16(0x0000); Należy chyba użyć funkcji Glcdcmd. Ale jak napiszę tak : Glcdcmd &0XEF90 to kompilator pokazuje błąd.
Ar(100) - rezerwuje tablicę o długości 100 bajtów do przechowywania danych odczytanych z karty. Jeżeli miałeś błąd o braku pamięci to amień sobie w opcjach kompilatora wartość rezerwującą ilość miejsca na zmienne. 'Options' -> 'Compiler' -> 'Chip' pole 'Framesize' (zwiększyć wartość - tylko bez przesady ;-) ) Dla potrzeb odczytu kart wystarczy Ci Ar(40)...
Wow! Mam nadzieję że nie tylko mnie się przyda ten program z "jedno-rzędową klawiaturą matrycową" :), ale skorzystają też inni tym bardziej, że program jest jak dla mnie "mega" dopracowany. Zastanawia mnie tylko jak to się dzieje że na końcu programu brakuje "end If" i kompilator nie pokazuję że błąd? Dziękuje i pozdrawiam!
Być może masz bład opisany w polskim "helpie" do bascoma 1.11.7.4 autorstwa Zbigniewa Gibka cyt. - " Uwaga! Często zdarza się że kompilator raportuje błąd “File not found”, który jest zwykle spowodowany przez błędne określenie parametrów instrukcji - zwłaszcza CONFIG."
Uruchomi uruchomi, potrzebuje tylko aktualizacji IDE dla tej wersji. Kolega adambehnke dał nawet go na forum. Nowszych wesji Bascoma od 1.11.9.8 nie polecam, bo kompilują zły kod. Najlepiej używać kompilatora w wersji 1.11.9.5 z IDE od wersji 1.11.9.8
Błąd kompilatora w tej wersji. Timer0 konfiguruje się bezpośrednim zapisem do rejestrów. Timer1 działa normalnie.
Z bascoma już dawno nie używam bo jest zbyt toporny... Chodzi mi o to, że wcześniej wszytko działało w AVRStudio. Potem nie pisałem nic przez ostatni miesiąc bodajże i wczoraj włączając kompilator nagle takie niespodzianki... Najpierw nie chciało się kompilować bo wywalało błąd o braku makefile'u mimo ze kompilator powinien przygotować go sam. Gdy udało...
nogi z pcf'a są podłączone do prostego filtra rc 100nF do masy i rezystor 10k na wejscie ,tak zwieram do masy i niewiedze aby wartośc z odczytu sie zmieniała :( dodanie potwierdzenia przy odczycie /zapis powoduje błąd kompilatora w bascom ,czyli nieprawidłowa wartosc wysłanie innej danej niz 255 nic nie zmienia Dodano po 13 znalazłem rozwiązanie : I2csend...
A ustawiłeś w oknie programatora ten sam uC co w opcjach kompilatora? I czy zgadza się to z rzeczywistym układem, który chcesz zaprogramować?
Na moje oko kompilator ma jakiś błąd, a procedury 1Wire korzystają z jakiegoś rzadko stosowanego rozkazu procesora. I kompilator myśli że ATMEGA16 nie obsługuje tego rozkazu. Ten błąd to nierozpoznany rozkaz ASM. Żuć kodem. I spróbuj zmienić procesor na na przykład ATMEGA32.
Zawsze można otworzyć ten plik jakimś edytorem i sprawdzić co tam jest, czy to jakiś HEX, czy to może dane RAW. Można też podpatrzeć to co nadaje RS. Wgrać oczywiście spróbować można i się samemu przekonać, nie ma co tu wróżyć ;) nic nie kręce poprostu w typie procesora było ustawione na atmege32 zamiast na atmege8 nie mam zadnego powodu by coś kręcić...
Myślę ,że problem tkwi gdzieś w programowaniu bo pojawia się komunikat:Diference it 00000 po poleceniu 'Program". Czy raczej "Difference AT 00000" ? Dobrze myślisz. To nie jest ani wina w schemacie, ani wina w programie, tylko po prostu twoja Atmega się nie zaprogramowała. Występuje więc różnica (difference) między zawartością komórki Flash o adresie...
Jak to pierwsze, drugiego zapisu szczerze mówiąc nie rozumiem. Jeśli chodzi Ci o kolejność wykonywania działań, to pożądany przeze mnie efekt ma być (not zawor.1) and miganie, w sumie to jest też dobre pytanie, jaka jest kolejność wykonywania działań przez bascomowy kompilator. Ale to nie zmienia zasadniczego problemu, po skasowaniu "not" program się...
Mniej wierzę w access violation w fabrycznym, jednak uznanym oprogramowaniu. Wrażliwości kompilatora na zbyt długa tablicę w sursie, to byłaby niedoróba bardzo poważna (i naturalnie jest oczywiste, że warunek testowany przez wytwórcę oprogramowania) Bardziej w procesie jego "przemycania" przez wieki. Kopia, kopia z kopii, hack, kopia. Choć oczywiście...
Jeśli to kogoś interesuje to problem rozwiązałem przez zmodyfikowanie biblioteki m8535.dat dopisując pod linią określającą adres do ADCSR, taką samą linię, ale z ADCSRA. W uC ATmega8535 zamiast rejestru ADCSR, pod tym samym adresem, występuje ADCSRA a kompilator odwołuje się do ADCSR i stąd brał się błąd. Pozdrowionka!!!
Błąd jest po stronie programisty, ale nic więcej nie można powiedzieć ze względu na to, że nie mamy wglądu w kod źródłowy programu, a program, który zacytowałeś nie będzie działał z kompilatorem C, ze względu na to, że jest napisany w Basicu. Ogólna podpowiedź jest taka, że jeśli zrobisz tak samo w C, jak było w działającym kodzie Basica, to też będzie...
wgrałem ten program do mojej atmegi 16 i podpiołem diode pod PB1, jednak program nie działa.dioda tylko świeci. ktoś moze wie gdzie tkwi przyczyna?kompilator błędu nie wykrywa a ukłąd nie działa
W moim przypadku pomogła zmiana wersji kompilatora, BASCOM_AVR_DEMO w wersji 1.11.6.8 http://elektroda.net/download/file20.htm... wersja platna BASCOM AVR 1.11.9.1 i 1.11.9.2 nie potrafi skompilować pliku źródłowego, to samo się dzieje z ostatnią wersja demo, trzeba próbować z wcześniejszymi wersjami, być może błąd tkwi w bibliotece do ATmegi 8 albo w...
Próbowałem mikroC. Dla programisty dobrze znającego asembler (aby weryfikowac co kompilator produkuje dla konstrukcji w C) to jest duże ułatwienie. Ale w testowanej wersji było duzo irytujących błędów. Wszystkie na które trafiłem wystepowały tylko w okreslonych złożeniach kilku czynników. Jest to o tyle "wkurzające" że masz już kawałek programu przetestowany,...
Kompilator Bascom, powinien być w wersji 1.11.7.4 lub wyższej, niższe wersje nie były testowane. Oczywiście w pełnej wersji, kod po skompilowaniu przekracza 7kB. Wydaje mi się że błąd leży w błędnej konfiguracji opcji programu, takich jak Baudrate czy jakichś pinów. Wszystkie potrzebne opcje zostały zawarte w programie, i kompilator z tego korzysta,...
Kolego. Od tego mam AVR Studio by sobie programik krok po kroku prześledzić. Kompilator BASCOM-AVR 1.11.9.8 kompiluje pierwszy wariant z błędem - symulacja wszystko ładnie pokazuje. Wariant drugi z Compare1a kompilator kompiluje odmiennie i działanie programu jest poprawne: odpowiednia liczba trafia do OCR1AH/OCR1AL, licznik rusza i dolicza do tych...
Mam pytanie czemu kompilator BASCOM AVR zglasza mi blad jak deklaruje PWM'a (we wszytkich 3 liniach deklaracji)??? Czy to ma zwiazek z ustawieniami procka...w "Lock and Fuse Bits" ? $crystal = 8000000 '$prog &HFF , &HE4 , &HD9 , &H00 ' generated. Take care that the chip supports all fuse bytes. $regfile = "m8def.dat" Config Pinb.1 = Output Config Timer1...
Nie ma nic do podejrzewania bo napisałem że używam tego jako procedury. Spędziłem nieco czsu na szukaniu rozwiązania tego problemu i nic nie znalazłem więc może kolega da jakąś wskazówkę gdzie możliwy jest błąd. Program (jako samodzielny) oczywiście kompiluje się dobrze w odpowiednim kompilatorze asm. Zadam przy okazji pytanie: czy bascom nie skompiluje...
A spróbuj w assemblerze. Może to jakiś dziwny błąd kompilatora skoro działa w bascomie, oraz na portach PD w języku C.. Tu masz odpowiednik twojego programu w assemblerze. .INCLUDE "tn2313def.inc" petla: ldi R16, 255 // 0xFF out DDRB, R16 ldi R16, 15 // 0x0F out PORTB, R16 rjmp petla
Witam Od 3 dni siedze nad problemem z watchdogiem który wydłuza czas resetu procesora. Metodą kolejnych wykluczeń ustaliłem ze przyczyną jest odwołanie do instrukcji zwiazanych z obsługą LCD. Najlepiej jak podam przykład. Program uprosciłem do minimum : [syntax=basic4gl] $crystal = 1000000 $regfile = "attiny2313.dat" Config Portd = Output Config Watchdog...
Mam dość duży plik do kompilacji Bascomem. W Bascomie 1 nie było problemów, ale w Bascom 2 wprowadzili kolorowanie na szaro kodu zasłoniętego kompilacją warunkową. I to kolorowanie źle działa. Np. rozpoznanie zasłoniętego kodu rozpoczyna się w środku wyrazu. Kompilator nie zgłasza błędu. Pisanie przed taką zmianą przesuwa granicę kolorowania. Czy jest...
Z ta konfiguracją portów w helpie mamy: CONFIG PORTx = state CONFIG PINx.y = state I w teorii kompilator powinien wywalić błąd jeśli napiszemy np.: Config portb.3 = Output ale tego nie robi. Czy tak działa po zaprogamowaniu to nie sprawdzałem.
Witam mam pytanko dotyczace programowania bascomem 8051 demo . Chciałbym przerobic program do dds NE-380k gdzie jest procek 89c4051 i przy okazji nauczyc sie basoma . No i pojawia sie błąd podczas kompilacjina na wysokości pierwszej deklaracji Dim Stx As String * 10 , błąd nr 8 out of internal memory . Czy ktoś mogłby mi wytłumaczyć w czym problem???...
Kochani, kompilator (1.11.8.6) wyrzuca błąd: 22 Line : 120 Out of SRAM space , in File : C:\PROGRAM FILES\MCS ELECTRONICS\BASCOM-AVR\CONFIG_AVR-DOS.Ba... Pozdrawiam i proszę o pomoc. idla
Witam Mam dwie zmienne typu string i chcę zrobić tak : Dim Energia_s As String * 2 Dim Energia_na_lcd As String * 2 Energia_na_lcd = Enegria_s Po czym kompilator wywala mi błąd 242 source varibles does not match the target varible, dziwne ? Jak więc mam to zrobić ?
Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 W 8051 nie ma prescale, a przynajmniej kompilator zgłasza w tym miejscu błąd... i zapomniał kolega dodać Start Timer1 po enable... :) Dalej sobie poradzę ... Dzięki!
Witam. Doczytałem w helpie bascoma że polecenie "printbin" może wysłać po uarcie całą zmienną tablicową. I tak mamy zmienną Dim Send(3) As Integer do której wpisujemy trzy różne wartości Send(1)=Ts Send(2)=Tb Send(3)=Tzew i wysyłamy po uart Printbin Send i właśnie tu kompilator daje błąd: Array expected[SEND] Nie rozumiem co robię nie tak przecież chcę...
tak tu moze być błąd ktorego nie zgłasza kompilator. to dlatego ze P wpisuje mi sie automatycznie, po sekundzie zwłoki. a widoczie pisałem szybko. dzis sprawdze, poprawie itd. W dalszym ciagu mam pytanie jak przekształcac liczby decy>bin Gdzie można zdobyc tda7318 i to jeszcze w obudowie DIP?? moja technologia produkcji płytek nie pozwala na stosowanie...
Witam jeszcze raz na tej stronie Jest tam wsad do procesora i plik źródłowy w bascomie oraz biblioteka i fonty do wyświetlacza z telefonu nokia. Zrobiłem ten układ i zaprogramowałem procesor oryginalnym plikiem si5351VFOv11.hex układ działa prawidłowo choć jeśli chodzi o przełączanie BFO z usb na lsb synteza nie zmienia częstotliwości jest cały czas...
OK kolego źle Cię zrozumiałem skoro czytasz to masz dobrze poustawiane ale może nie masz rezystorów podciągających a na szybkiego nie mogę znaleźć abyś włączał wbudowane i będą się jaja dziać, to jedno, natomiast druga sprawa po co jest komenda "stan=1" do tego rejestru nie powinno się zapisywać, co prawda nie jest to błąd aby kompilator go wywalił...
A oto rozwiązanie zagadki. układ zmontowany jest prawidłowo i nawet kabelki z taśmy nie są nic winne. Rzeczywiście jak podpowiada kolega emarcus: źle, że pozostawiłem w drugiej linijce $lib "LCD4.LBX" - bo to specjalna biblioteka i trzeba się do niej dostosować. problemem jest kompilator (mam BASCOM.1.11.9.5) - który nie wykazuje żadnego błędu w piątej...
Przepraszam ale w pierwszej wypowiedzi popełniłem błąd logiczny - oba przerwania powinny być ustawione na te same zbocze a nie różne. Dlaczego, bo tak jak napisałem wcześniej nie będzie można określić kierunku zmian, zawsze bedzie ta sama kolejność wywoływania przerwań. Obojętnie czy kręcimy w lewo czy w prawo. np. ChA narastanie 0->1 a ChB opadanie...
Uważam, że moderator ... Działania moderatorskie wykonuję na czerwono za pomocą odpowiednich funkcjonalności. Niestety raz się zdarzyło że na czerwono wyciąłeś tekst o "niewygodnym" środowisku programistycznym :D Ale nie o tym będę pisał. Napiszę jak to wyglądało u mnie. Ja zaczynałem od BASCOMa. I to BASCOMa '51. Były artykuły w EdW. Nie miałem jeszcze...
co prawda przekracza 255, ale wynik z dzielenia przez 10 i Modulo 10 już nie, czyli 28 i 3 Tyle, że najpierw przekracza i tu masz błąd. W żadnym przypadku, nie można przekraczać zakresu, zrób operację na bajcie np bajt = bajt * 10000 / 10000. Człowiek tą operacje skróci, kompilator nie.
W bascomie przed procedurą pętli głównej moge napisać (nie pamiętam juz czy składnia dobra, ale mniejsza z tym, dało się) DIM p1.2 as SDA i2c start .... w Przerwaniu znów: DIM p3.0 as SDA i2c start ... Natomiast w MIDE (asm) moge tlko raz zdeklarować port. Potem wywala błąd. Chce tylko wiedzieć czy w mide da się zrobić tak jak w bascomie. czyli kilka...
Problem raczej nie jest po stronie kompilatora... Gdyby nie obsługiwał timera 3 to wywalił by błąd przy kompilacji... Więc jest tak jak pisałem trzeba wyłączyć tryb zgodności... W programie który używasz to ładowania pliku hex do uC powinna być zakładka Fusebits lub coś w tym guście... Jak już pisałem wcześniej za ten tryb odpowiada bit o nazwie M103C......
Bo w bascomie na bitach nie ma operacji "przypisz =". Są tylko komendy Setb i resetb. Coś takiego jak A = 1, B = 0 dla zmiennych typu bit po prostu nie działa - w helpie do Bascoma gdzieś to jest napisane malutkim druczkiem ;) Inna sprawa to jest to, że kompilator nie zgłasza do tego błędu ani ostrzeżenia - ale "ten typ tak ma", i to nie tylko z tym.
Nie wiem w jaki sposób program który został zamieszczony w gazecie ma tak poważny błąd. Nie tyle błąd, tylko źródła są na inny kompilator. Bodaj IAR ma rozszerzenie, pozwalające odwoływać się do poszczególnych bitów na portach właśnie w ten sposób (jak w BASCOM-ie). Ale nigdy nie korzystałem...
Witam dziękuje za podpowiedz to prawda ściągnąłem wersje Avr Help jest tam dużo ciekawych rzeczy z tym że mam kompilator Bascom 8051 wersje demo kod żródłowy nie daje się z kompilować wersja nie generuje tak dużego kodu wynikowego wyświetla mi błąd Error alows 2048 bytes of code only in file Czy jest większa wersja demo dla procków z serii 8051 czy...
Jeżeli chodzi o to: On Timer1 , Juz to nie jest błędem umieszczenie tego w warunku bo to tylko komenda dla kompilatora Ale oczywiście jest to skrajnie przekombinowane cudo.
błąd kompilator bascom bascom kompilator kompilator bascom
skrypt uruchamia automatyczny skype mikrofon cicho piosenka radia
Prasa termotransferowa nie podnosi płyty - przyczyny i rozwiązania Skoda Octavia 2 1.6 MPI 2004 LPG – cienkie przewody emulatora, zasilanie radia eM Navi Plus