powoduje miganie diody w bardzo nie regularnych odstępach czasu - widać to "gołym okiem". Na dodatek trudno nazwać te odstępy "pół sekundy". ... Na początku mam jeszcze: $hwstack = 32 $swstack = 8 $framesize = 16 Bez tego nie idzie zadeklarować żadnej zmiennej - "out of SRAM". Dyrektywa CRYSTAL tylko informuje kompilator o częstotliwości generatora....
Próbuję uruchomić programowy zegar w Bascom na arduino Mega 2560 Kompiluje się bez problemu ale niestety nie działa. Jakiego 'działania ' się tu spodziewasz? -ma poruszac wskazówki, czy też wskazywac czas na dysplay leżącym w szufladzie? - a może przekładac kartki kalendarza? Nie bardzo będziesz mógł uruchomic 'Bascomowy- softwarowy' zegar na Arduino...
Jaka walka to tylko 4 przewody chyba że nie masz LPT w kompie. Bascom pod względem ustawiania "fusb..." jest najbardziej czytelny. Ja próbuje samodzielnie zaprojektować PCB ale idzie topornie. Dodano po 25 A jeszcze zapomniałem że pisze w HELPIE do BASCOM : Podczas gdy bity zabezpieczeń oraz tzw. fusebits pozwalają na dostosowywanie niektórych układów...
Ten sam kod, który zaprezentowałem w pierwszym poście , natomiast przerwanie wywołane już na nodze portb.0 i działa zmienna nie jest nadpisywana. Cała reszta kodu bez zmian poza zmianą przerwania. Przerwania skonfigurowane prawidłowo. Moze przerwania masz skonfigurowane prawidlowo... ale..... Czy mozesz wyjasnic w jakim celu, w obsludze przerwania...
Grala1 - Nie wiem czy ta wersja spełni oczekiwania : '$prog &HFF , &HE1 , &HD9 , &H00 ' Fusebity fabryczne !!! $sim ' dyrektywa opuszczania zwłoki (usunąć ten wiersz przy wgrywaniu w chip) $regfile = "m8def.dat" ' dyrektywa kompilatora o rodzaju procka ATMega 8 $crystal = 16000000 ' określenie kwarca 16 MHz Config Pinb.1 = Output...
Przecież po wejściu w Helpa Bascoma masz wykaz dyrektyw na $... także od LCD - tych na $LCD...
(...) No chyba że zamienisz BASCOMa na nowszego o ile nowszy też nie ma tej wady. No właśnie mam najnowszego... Bascom często bywa dziwny :(.
Tak wiem. Tak tylko napisałem. Ogólnie to za wcześnie się ucieszyłem. Na czas testów kodu od Niveasoft, miałem wyłączony ADC i wyświetlanie było ok. Po włączeniu z powrotem ADC, procesor nie chce się wybudzić. Znowu jestem w kropce. Siedzę nad tym i kombinuję. Tytuł już zmieniłem na DYREKTYWA :)
Tak dokladnie deklaruje sie je dyrektywa $ASM
Najważniejsza jest dyrektywa $CRYSTAL!
Witam wszystkich Mam takie pytanko, czy moglby mi ktos powiedziec co wpisac w programie za dyrektywa "#if _chip =...", posiadam procesory atmega8L oraz atmega16L jakie one maja oznaczenia? Probowalem M16 i M8 ale to nie to :) Nigdzie nie moge tego znalesc. Pozdrawiam
Jest tak dla tego żeby można było dokładnie przeanalizować działanie programu. Cytat z pomocy Bascom'a: Dyrektywa $SIM rzeznaczenie: Instruuje kompilator by nie generował pętli opóźniających dla instrukcji WAIT czy WAITMS. Spowoduje to zwiększenie szybkości symulacji. Składnia: $SIM Opis: Symulacja instrukcji WAIT może trwać dość długo, zwłaszcza gdy...
Witam Myślę, że to rozwieje wątpliwości: Dyrektywa $ASM używana jest razem z dyrektywą $END ASM, podczas tworzenia bloków kodu w języku asembler, umieszczanych jako wstawki w programach języka BASCOM BASIC. Zamiast używać tych dyrektyw, można także przed każdą linią zawierającą mnemonik postawić znak !. Większość mnemoników asemblera nie potrzebuje...
chcę zrobić tablicę z nazwami dni tygodnia do kalendarza. deklaruję dim tablica(7) as string * 12 tam powinno mi się to zmieścić, potem robię tablica: data "poniedziałek", "wtorek" ..... itd przy próbie wyświetlenia lcd tablica(x) mam tylko 11 zaciemnionych kostek . czy trzeba wpisywać do tablicy kody ASCI dla każdej literki ? jak to zrobić , żeby działało....
Jest dyrektywa $sim, powoduje ze opóźnienia podczas symulacji nie są brane pod uwagę.
Z tego co pamiętam to bascom ma w zwyczaju wrzucać na stos wszystkie możliwe zmienne przy wchodzeniu do przerwania - może w tym jest problem? Jeśli dobrze pamiętam to mogła temu zaradzić dyrektywa (at)nostack ale głowy nie dam.
Nie ma takiej możliwości. Z reszta dlatego istnieje dyrektywa $sim, ale nawt i ona nie powoduje symulacji w czasie rzeczywistym.
Witam W jaki sposób można zmienić w Bascomie zmienną typu WORD na dwie zmienne typu BYTE... Jaki Bascom , 51 czy AVR :?: Dla 51 , to dzielenie , Shift ,High,Low , a jak AVR , to jeszcze dyrektywa Overlay . Piotrek
Kolega Jimi Hendrix pewnie myślał że jaśniej już się nie da. W pomocy programu jest napisane: masz ten błąd 148 to napisz na początku programu: $Large KONIEC Jeśli piszesz program na procki z 2kB pamięci, to nie wystąpi potrzeba wpisania tej dyrektywy. Dyrektywa "Large" umożliwia odwoływanie się do pomięci powyżej 2kB - tak przynajmniej zrozumiałem...
(Nie piszę w bascomie, obiło mi się tylko o uszy) Ostatnio pojawił się na forum wątek a'propos kwarca i częstotliwości i płytki z bascom college. W bascomie jest dyrektywa $crystal a gdzieś na elektrodzie help do bascoma po polsku. Gdzieś też czytałem, że (można lub trzeba - nie wiem) coś ustawić w opcjach kompilatora.
Z tym $large to jest tak: W procesorze 8051 (i podwersjach) jest potrzebne gdy rozmiar skoku przekracza 2kB (ogólnie także gdy rozmiar pamięci programu przekracza 2kB). Jeżeli rozmiar skoku przekroczy 2kB to zostanie wygenerowany błąd numer 148 co oznacza, że trzeba zastosować dyrektywę $large, która powoduje generowanie w kodzie rozkaz LCALL (3 bajty)...
Jaca jesteś wielki! Właśnie przetestowałem kilka wariantów i okazało się, że wszystko działa, pod warukniem że jest dyrektywa $framesize = 32 . Gdy parametr zmniejszyć na 16 to kompilator głupieje. Jeszcze raz wielkie dzięki i szacunek.
No chyba odwrotnie. Dyrektywa $sim powoduje pominięcie w symulacji opóźnień Wait, Waitms, Waitus, zatem przyspiesza symulację. Co do szybkości, można obserwować przeskakiwanie kursora po aktualnie symulowanych instrukcjach.
A czy mógłbym prosić o jakiś konkretny przykład? Albo poprawić ten: Config Timer0 = Timer , Prescale = 1024 On Timer(15) Gosub procedura 'czekaj 15sec. Timer On Do Loop End Procedura: Cls Lcd "ok" Waitms 500 Return Nie wiele tu mozna poprawic bo od poczatku do konca masz bledny koncept pracy z timerami. Po pierwsze: w konfiguracji wartosc 'Prescale'...
Tak był błąd w przypisaniu zmiennych na odwrót. Mnie ciekawi tylko gdzie są wartości początkowe timerów ? Aco za tym idzie skąd to przekonanie że timer1 wywołuje przerwanie co sekundę ? Co do Timera0 też nie jestem pewien czy przerwanie jest co 4ms ? A jaka jest częstotliwość taktowania ? i gdzie jest dyrektywa $crystal ? W dodatku w podprogramie obsługi...
Tym że czarno to widzicie to się akurat nie martwię, gorzej jest z tym że sam to czarno widzę, ale jest światełko w tunelu :D ponieważ z AVR atmega doctor powinienem sobie poradzić. po prostu wykonaj płytkę to Ci się przyda na przyszłosć :) - W tym przypadku wykonuje płytkę, montuje elementy, programuje atmege np w bascomem dołączonym plikiem hex lub...
Wrzuc tu ten plik hex ze zlym rozmieszczeniem... genetix: chyba cos ci sie pomylilo, plik hex to plik hex i dyrektywa .org nie ma nic do hex'a, bo jej tam w ogole nie ma (zostala juz wczesniej zinterpretowana przy kompilacji, a dokladniej to przy linkowaniu). Byc moze uzyta jako wstwka asemblerowa w BASCOMie jest pomijana, ale to dwie rozne sytuacje...
dyrektywa $crystal nie wplywa na instrukcje LCD ... musialby to byc chyba jakas wstawka w asemblerze albo musialbym obslugiwac 8bitowe wejscie danych w LCD, ale nie za bardzo z instrukcji moge dojsc do tego jak to zrobic
Dyrektywa $NORAMCLEAR i po problemie: Przeznaczenie: Instruuje kompilator by nie umieszczał w procedurze inicjalizacji fragmentu czyszczącego zawartość pamięci. Składnia: $NORAMCLEAR (c) Zbigniew Gibek, 2002-2005 (c) MCS Electronics, 1999-2005
W zasadzie w opcjach kompilatora nic nie musisz ustawiac bo ustawia sie to bezpośrednio w programie np. dyrektywa conifg lcd lub $regfile. Napisz jakiego programatora używasz i sprawdź czy linie Miso, Mosi, Sck, Rst sa podlaczone prawidlowo do programatora i procesora.
Config Portc.0 = Output ' wyprowadzenie pinu 0 portu C jako wyjście MRQ Tak się nie konfiguruje jednej linii portu w BASCOM Basic. I co linię wcześniej w Twoim programie robi dyrektywa $eeprom ? Jak już sterujesz ręcznie liniami SCL (PD4) i SDA (PD5) to wcześniej je skonfiguruj jako wyjścia bo CONFIG SDA / SCL tego za Ciebie nie zrobi do czasu wykonania...
Serio-mam BascomBasicAVR 7.7 pl jest tam coś ale tak mało jakiś konkretów-może nie umiem szukać... Opis: Standardowo przestrzeń adresowa zewnętrznej pamięci RAM (tzw. XRAM), zaczyna się tuż za pamięcią wewnętrzną. Za pomocą tej dyrektywy, można także zabezpieczyć określony obszar pamięci XRAM. Wtedy podajemy adres powiększony o rozmiar zabezpieczanej...
Dopisałem, ale jak mam teraz inicjalizować procesor? Wkleiłem wstawkę asm z helpa (dopisując przed ; ' , bo bascom nie akceptuje ; jako komentarza). Mam błąd 60 - duplicate label _basicstart i _clearram. Proszę o pomoc, bo asm nie znam. Dodano po 5 Wiem już dlaczego był ten błąd. Doczytałem w helpie, że ta dyrektywa nie usuwa całej inicjalizacji, tylko:...
Czy fuse bity można ustawiać bezpośrednio w kodzie programu bo PonyProg mi nie działa z moim programatorem Jeżeli programujesz w Bascom to dyrektywa na początku programu: $PROG LB, FB , FBH , FBX służy do ustawienia fusebitów processora, gdzie: LB - Lockbit settings FB - Fusebit settings FBH - Fusebit High settings FBX - Extended Fusebit settings Nie...
W C tez mozesz robic wstawki w assemblerze, podobna dyrektywa zreszta, mozesz tez wstawiac cale fragmenty napisane w assemblerze umieszczone w innych plikach. Sa tez dostepne rozne biblioteki, ktore ulatwiaja pisanie, takze przewaga BASCOMa IMHO jest niewielka. Szybko sie tez okaze, ze kod napisany w BASCOMie jest dluzszy i wolniejszy co bedzie cie...
Niestety dyrektywa nie pomogła :( Dodano po 3 Sprawa wygląda tak: 1. programik z mryganiem diody - kompilacja w innym kompilatorze (Micro IDE) - programowanie w PonyProg Efekt końcowy: DZIAŁA 2. programik z mryganiem diody + wait, waitms - kompilacja w Micro IDE, BASCOM - programowanie w PonyProg, BASCOM Efekt końcowy: NIE DZIAŁA Wait 1 - czekałem około...
:arrow: Co do wielkości kodu to pewnie już zmieniłeś ustawienia w kompilatorze i dodatkowo musi w programie być dyrektywa $large lub cos takiego, ale jak już sobie poradziłeś to spox. :arrow: polecenie getrc5 ma parametry Command i Adress. Adres każdy pilot ma inny (zależy czy jest od np TV, Video, HiFi itp), musisz go sobie wyczaić albo po obejrzeniu...
Jeśli tak znasz C jak Bascom to nie istotne czy zaczniesz pisać w C czy w Bascomie czy w czym zechcesz. Po pierwsze to nie Config Portb.0 = Output tylko Config Pinb.0 = Output Po drugie ciekawe czemu tak cho chwilę żonglujesz dyrektywą $crystal 4000000 czy zmieniłeś w ogóle fusebity na zewnętrzny rezonator kwarcowy ??? a jeśli tak to po jaką choinkę...
kolego Michał~88 --> czy ty rozumiesz co to są fusebity i dlaczego ustawia się za ich pomocą częstotliwość taktowania procka??? toż masz nie przestawione - czyli fabrycznie 1MHz - i tak jest procesor taktowany - a ty deklarujesz sobie w programie że taktowany jest 4MHz. Tobie się chyba wydaje, że ustawienia fusków można sobie odpuścić a dyrektywa $crystal...
Nierozumiem co masz na mysli ze to jest jezyk oparty na include?????????? include jest jest dyrektywa wlaczajaca plik.W kazdy jezyku jest cos takiego. Chodzi o mechanizmy jezyka(np. wskazniki czy petle).Minimalizacja slow kluczowych.Standaryzacja.Przenosnosc kodu.C w tej kwesti wygrywa.I dlatego wsrod programistow obok Pascala jest uwazany za najlepszy.Natomiast...
$regfile = "attiny13.dat" $crystal = 1200000 'częstotliwość taktowania .............. Czy kod jest poprawny? Mam pewne wątpliwości. Chciałbym aby przerwanie było wykonywane np. co 5 sekund a pętla główna była sprawdzana cały czas. Nie, ten kod nie ma szans na kompilację, a nawet jeśli udałoby ci się go skompilować to jego działanie byłoby...
Witam, Posiadam moduł Ethernetowy IIM7300 (datasheet w załączniku), mam problem z ustawieniem częstotliwości oscylatora. Do Atmegi 128 mam podpięty oscylator 16 MHz i gdy w programie dyrektywa $crystal=16000000 ustawiam częstotliwość generatora (Atmega jest fusbitami ustawiona na zewnętrzny oscylator) to ładuje mi się program ale nie mogę na moduł puścić...
Witam panowie od razu podkreślę że jeszcze uczę się bascoma więc proszę nie krzyczeć i nie usuwać tego postu do kosza Siedzę już nad tym 3 dzień i efekt mojej pracy nie najgorszy ale mam parę pytań po pewnych rzeczy nie rozumiem i nie mogę rozwiązać. Więc tak założeniem był pomiar temperatury przez ds18b20 wyświetlenie je na LCD i 4 wyświetlaczach 7...
Zastosuj dyrektywę $sim powinno przyśpieszyć.
A skąd niby takie wnioski skoro w programie została umieszczona dyrektywa m32def.dat ? Jeżeli sugerujesz się opcjami to jesteś w błędzie.
A czy zdajesz sobie sprawę z tego, że przerwania "rozwalają" Ci transmisję 1wire :?: Poza tym, co z niżej wymienionymi dyrektywami Bascom-a :?: A jak powinno być poprawnie ??
...Czy trzeba coś zrobic żeby miec te 4kb. Jeśli komunikat nie zaczyna się od słowa DEMO , to należy dodać dyrektywę $large . Piotrek
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
przestawienie fusebitów nie jest równoznaczne z tą linijką definiującą taktowanie procka. Wszystkie podstawowe definicje powinny się znaleźć zawsze w kodzie programu - a że tego do tej pory nie robiłeś to teraz się troszkę mści. poczytaj w helpie bascoma o takich dyrektywach jak swstack, hwstack itp - i zobacz co mówią na ten temat przykłady a na pewno...
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 :!:
dyrektywa kompilator bascom maszyna dyrektywa dyrektywa asembler
moc3021 sterowanie fazowe ogrzewać klimatyzator mondeo przebieg
interfejs multidiag interfejs multidiag
Stiga Estate – piszczący głośnik sygnalizacyjny po włączeniu koszenia, diagnostyka PTO, czujniki Pioneer XR-P270C – brak 12V i 17V, pulsuje Error 1 po wymianie żarówki wyświetlacza