Akurat ważniejszy jest mały spadek napięcia, żeby stan niski pozostawał niskim również za diodą. Zrobiłem szkic pokazujący o co chodzi w tym różniczkowaniu i ANDowaniu: Przy zwykłym różniczkowaniu widać, że brakuje szpilki wskazującej początek impulsu pierwszego kanału. Można ją odtworzyć różniczkując zanegowany przebieg kanału 1. Innym rozwiązaniem...
Witam. Prosze o pomoc. Probuje skonfigurowac dzialanie przerwania INT2 w bascomie komenda: Config Int2 = Rising i za kazdym razem przy kompilowaniu wyskakuje mi blad: "No more space for BIT [EICRA]" czy jest to blad programu? Procesor jaki posiadam to atmega16 wiec ona na pewno posiada przerwanie int2. A moze zamiast tej komendy mozna wstawic instrukcje...
Albo czy da sie to jakos obejsc? W opisie do funkcji RC5Send napisane jest że kod powstał na podstawie noty aplikacyjnej Ger Langezaal. Na stronie MCS Electronics jest ten kod [url=]AN #105 - Sending RC5 and SONY IR codes. Można spróbować dostosować go do własnych potrzeb ;). Tu jest też fajny przykład w assemblerze [url=]RC5SIRC.ASM, nie wykorzystuje...
Witam. Mam problem z odpowiednim programem dla uc (bascom) który odczyta mi np 7 kliknięć, przerwań? (dzwonków). Jak wyglądał by taki program, i jakie komendy użyć. Kwestia podłączenia nie wymaga omawiania - powiedzmy 6 stanów niskich (0) i siedem wysokich (1) ---> stan wysoki na jakąś nóżkę. Przerwań w helpie bascoma nie mogę znaleźć :( Pozdrawiam.
Jeśli masz to czasami, to pewnie problem przerwań. Nie znoszę Bascoma jest tak nieczytelny. To wina programistów używających tegoż języka, bo można pisać bardziej zrozumiały i przejrzysty kod. Potrzebowałem aż kilku minut aby zobaczyć, że obsługujesz wyświetlacz w pętli głównej. Zrobiłeś to, jak to się mówi, od dupy strony. Dlaczego nie obsługujesz...
... z resztą jest o wiele szybszy niż lcd więc to chyba nie kwestia zbyt szybkiego wysyłania. . Nie jestem pewien czy to będzie to - ale z tym zdaniem, że jest o wiele szybszy to bym się nie zgodził tak do końca bo wprawdzie minimalny czas (E)nable Pulse Width 450ns jest podobny jak w innych typowych wyświetlaczach LCD to już (E)nable Cycle Time 1000ns...
Mam kłopot z obsługą przerwania INT0 w ATmega32. Chciałem, żeby były generowane zboczem opadającym. Na nogę ITN0 wchodzi sygnał prostokątny 1Hz z wypełnieniem 50%. Jest rezystor podciągający do +5V. Kod jak niżej. Powinno generować sygnały na beeperzerz podłaczonym do portu D ale nic się nie dzieje. Bascom odmawia skompilowania linijki zawierającej...
Witam Oto przykładowy program w BASCOM AVR obsługujący dwa czujniki o znanych numerach seryjnych: '***************************************... 'Konfiguracja AVR '***************************************... $regfile = "m162def.dat" $crystal = 16000000 $baud = 2400 Config Porta = 255 Porta = 255 Config Portb = 255 Portb = 255 Config...
Mam problem podczas kompilacji prostego kodu. Wyświetla się komunikat: Error: 117 Line: 24 Unknown interrupt [OVF0] Nie potrafię tego zidentyfikować. Czy ktoś pomoże w naprawieniu tego błędu?
Drodzy koledzy, Programując uC ATTINY13 natknąłem się na pewien problem związany z obsługą przerwania od czasomierza. Poniżej krótko co program mniej więcej ma robić. Do jednego z wejść mikrokontrolera doprowadzony jest sygnał. Pojawiają się tam impulsy o różnej długości i na dodatek w różnych odstepach czasu. Zadaniem programu ma być wygenerowanie...
Witam! W programie wykorzystuję dwa podprogramy i w każdym z nich przerwania od licznika timer0. Chciałbym gdy wykonywany jest podprogram1 przepelnienie licznika powodowalo przerwanie do przerwania1 a gdy wykonywany jest podprogram2 przepełnienie licznika powodowało przerwanie do przerwania2 . Moje pytanie brzmi, czy to jest możliwe, a jeśli tak to...
Mam pytanko czy da się zrobić tak aby przerwanie było aktywowane zboczem opadającym i wyłączane narastającym? czy trzeba to zrobić na 2 przerwaniach? bo chodzi mi o zliczanie czasu trwania stanu niskiego i nie wiem dokładnie jak to zrobić. Z góry dzięki za pomoc
Jak zrobic Input w przerwaniach ? mam program dla atmega16 odbierajacy dane w przerwaniach aczkolwiek jest to zrobione w taki sposob ze odczytuje Udr i przypisuje jej wartosc do jakies zmiennej no i nie mam jak "ladnie " wyslac np liczby 53 <przypisywanie rejestru Udr do zmiennej powodoje ze zczytywane sa z klawiatury kody ascii a 53 ma "5">
Wybaczcie początkującemu, bo pytam zapewne o jakąś strasznie trywialną sprawę, ale póki co nie mogę sobie z nią poradzić, więc szukam pomocy. Piszę sobie cośtam. Cośtam ma multipleksowo obsługiwany wyświetlacz LED, multipleksowanie jest załatwiane podprogramem uruchamianym z przerwania od T0. Tyle napisałem i tu wszystko działa pięknie. Dalej, przed...
Witam Czy ktoś ma doświadczenie z przerwaniami w bascomie. Napisałem sterownik temp. I cyklicznie za pomocą przerwania wywołuje podprogram który odczytuje temperaturę niestety często zdarzają się kaszaki na LCD poczym reset procesora zazwyczaj w ekranach parametrów po wyłączeniu przerwania wszystko jest ok. Domyślam się że przerwanie zatrzymuje działanie...
Witam serdecznie. Szukałem już chyba wszędzie, próbowałem kilkunastu innych programów i problem ciągle zostaje nie rozwiązany. Otóż piszę program do sterownika pieca. Posiada on 3 czujniki DS18B20, 3 przekaźniki i 1 triak do sterowania pompki kolektorów. Wszystko działa bez zarzutu. Problem pojawia się dopiero po włączeniu przerwania od INT0 (regulacja...
Witam ! Oto fragment pliku pomocy Bascom AVR w języku polskim. Przeznaczenie: Konfiguruje działanie funkcji GETATKBD() oraz określa końcówki portów do których podłączono klawiaturę komputera PC AT. Składnia: CONFIG KEYBOARD = PINx.y , DATA = PINx.y , KEYDATA = tabela_kodów gdzie: KEYBOARDKońcówka portu do której dołączony będzie sygnał CLOCK klawiatury....
Witam ,napisałem program który ma odmierzyć czas lotu helikoptera (do wyczerpania bateryjki) ,niestety po 2 tygodniach utknąłem na czymś takim: $regfile = "attiny2313.dat" 'wybór procesora attiny2313 $crystal = 8000000 Config Pinb.0 = Output 'dioda sygnalizująca odmierzenie czasu Config Pinb.1 = Output 'buzzer mający piknąć 3 razy po odmierzeniu...
Czy w Bascomie, przy odczycie danych z wewnętrznej pamięci EEPROM, należy wyłączać przerwania - np. Timery je zgłaszające, czy nie ma to znaczenia i dane po odczycie, nawet jak ów proces zostanie przerwany, będą nieuszkodzone? Czy przerwania wyłączają się automatycznie, tak jak przy zapisie, tj. WRITEEEPROM var , address czy nie? Polecenie odczytujące...
Witam. Piszę sobie sterownik temperatury w Bascom '51 i mam problem z przerwaniem. Otóż serce układu to AT89C52 do niego jest podłączony RTC DS1678. Ustawiłem RTC, aby na wyjściu INT generował co sekundę impuls. Podaję ten impuls na wejście INT0 procesora. W obsłudze przerwań dałem ustawienie zmiennej Bit na 1, na podstawie jego inicjuję w pętli głównej...
Ten drugi pomysł jest moim zdaniem lepszy. Do tego możesz użyć końcówki przerwania INT - ma konfigurację zbocza, którym jest wyzwalane przerwanie.
Po co ten rezystor. Nastepnie jak nie chcesz czekac zanim dojdzie do ifa wykorzystaj przerwanie. Jak masz duzo przyciskow, to podlacz do wszystkich switchy diody do ktoregos przerwania
Witam Mam podłączony odbiornik IRDA do procesora. Chciałbym aby po odebraniu sygnału z pilota procesor zdjął nośną 36kHz i na wyjściu np; PB1 wystawiał impulsy tak jak w układach TSOP Nie mam pomysłu jak to ugryźć Na razie wiem tyle że muszę wykorzystać INT1 i w przerwanie od niego
typowy układ pracy komparatora dokonującego pomiaru napięcia na wejściach +/- (schematów jest wiele w sieci ),po za tym skoro to AVR to warto skorzystać dodatkowo z przerwań INTx
Z tego co zrozumiałem będziesz wysyłał wyrazy przedzielone myślnikiem więc odczytujesz string, zliczasz ilość myslników (lub spacji, bo by było łatwiej) a następnie w pętli for wycinasz fragmenty pomiędzy myślnikami do tablicy i jednocześnie zwiększasz indeks tablicy. Poczytaj w helpie o poleceniach obróbki string'ów mid, instr, len, itd Aaa sorry zapomnialem...
Idziecie nie w tym kierunku co trzeba. Trzeba zająć się odpowiednią obsługą komunikacji a nie watchdog'a. 1. Jeśli odbiór ma wykorzystywać Input to jest coś takiego jak: $Timeout = value 2. Komunikację radziłbym wykonać w oparciu o przerwanie od Urxc.
O Matko i Córko... Konstrukcja: [syntax=basic4gl] CONFIG PORTB = OUTPUT : SET PORTB CONFIG PORTD = OUTPUT : SET PORTD Do If PINB.0 = 0 Then: locate 4,1:lcd "1" Else locate 4,1:lcd " " Endif If PINB.1 = 0 Then: locate 4,2:lcd "2" Else locate 4,2:lcd " " Endif ... Loop [/syntax] Dodałbym jeszcze mechamizm kontroli przy pomocy zmiennej tymczasowej aby...
Nie analizując kodu przeszkadzają zapewne wszystkie instrukcje Wait, Waitms itp. Ogólnie zasadą jest, ze w programie nie powinny występować tego typu opóźnienia - stąd obsługę DS'a zrób na przerwaniu timera.
Jeśli wywołanie nie działa to znaczy że masz coś w kodzie nie tak. Z tego co dobrze pamiętam to jak wywołujesz funkcję to chyba najlepiej z parametrem. Sprawdź jak masz przerwania.
Bawiłem sie w bascomie ładne pare miesiecy, od bascoma zacząłem swoją (trwającą już od zimowych ferii 2004) przygodę z uC, no na początku oczywiście było świetnie, byłem zdziwiony jakie to proste i nie przejmowalem sie tym że proste programy zajmują ponad 1k w pamieci programu. Pierwsze programiki to było coś wspaniałego, programowałem na początku tylko...
Plik jest za duży i nie mieści się w przewidywanej pamięci programu uC. Poprzedni komunikat o tym miałeś, że maksymalnie może być 4 kB (to dokładnie 4096 bajtów) i ani ćwerć bajta więcej. Jak się nie mieści to przeorganizować trzeba program. Sprawdzić czy nie naładowałeś niepotrzebnych rzeczy albo (no tutaj trochę gorzej) pisać przynajmniej niektóre...
Polecenie konfiguracyjne serwa w języku Bascom wygląda następująco: CONFIG SERVOS = liczba , SERVO1 = końcówka [ , SERVOn = końcówka ] , RELOAD = czas W Helpie napisano, że parametr RELOAD to czas opóźnienia pomiędzy kolejnymi przerwaniami licznika TIMER0, rozdzielczość. Zazwyczaj jest to 10us, a wielokrotność tego to szerokość stanu wysokiego. W opisach...
Witam serdecznie, pomóżcie bo nie znam bascoma. Potrzebuję zrealizować odbiór sygnału z pilota RC5 w asemblerze AVR a znalazłem jedynie kod w bascomie. Język Bascom AVR Do poprawnej pracy mikrokontrolera AVR, konieczna jest jego konfiguracja (przykład dla ATTiny2313). ustawiony zostanie typ mikrokontrolera, rezonator kwarcowy i funkcje wyprowadzeń....
Witam, miałem na zaliczenie zrobić jakiś projekt z wykorzystaniem mikrokontrolera AVR, jako ze miałem tak mało czasu jak doświadczenia to zrobiłem działający projekt ze strony '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 16000000 Config Portb = &B11111111...
Do rejestru trafia wartość 8 zatem bit AS2 jest ustawiony. CONFIG TIMER2 jest zbędne w tym programie gdyż CONFIG CLOCK = SOFT sam ustawia ten licznik i jego przerwania. 7: Config Clock = Soft +00000047: ldi r24, 0x08 ; set AS2 in ASSR +00000048: out ASSR, r24 +00000049: ldi r24, 0x05 ; prescale 128 +0000004A: out TCCR2, r24 +0000004B:...
Witam, ja się w ogóle nie dziwię, że masz taki efekt, ja gdybym był na miejscu procesora i gdybym otrzymał taki kod to też bym zwariował na maxa ;) Na prawdę jeszcze czegoś takiego to nie widziałem, żeby : 1. nie skorzystać ze sprzętowego UARTA - gotowca w bascomie 2. nie skorzystać z pięknych buforów cyklicznych - gotowca w bascomie tylko w zamian...
kbw - nie bądź ryzykantem i zbuduj prototyp. Układ jest na tyle banalny że zrobisz go na jakiejkolwiek płytce uniwersalnej. Wyjdą ci wszystkie bzdety źle wpływające na działanie. Zawsze lepiej jest odkłócić przycisk kondensatorem niż bawić się w dziwne rozwiązania programowe. Tzn, programowo i tak musisz zrobić debounce ale "sprzętowo" odkłócony przycisk...
Co do $regfile = "m8535.dat" to jest to coś w rodzaju instrukcji, którą dodaje się w pierwszej linii programu, z tym że w cudzysłowiu należy wpisać nazwę pliku odpowiadającego zastosowanemu uC, który można odnaleść w miejscu gdzie zainstalowano bascoma (np. C:\ Program Files\MCS Electronics ...). Dla porządku m8535.dat nie da się tym zaprogramować bo...
To zależy bascom 8051 zawsze da dłuższy kod niż asm a to dlatego ze w nim nie można wyłączyć procedur inicjalizacyjnych (tablica wektoró przerwań, itp). W bascom avr można wyłaczyć (noinit, nosp) ale częsc będzie zawsze dopisana przez kompilator bascoma. Jeżeli używasz bascom 8051 to pomyśl nad innymi funkcjami w programie, odpowiednim ich poukładaniu....
Witam, Zrobiłem sobie programator do AT89Cx51, schemat sciągnąłem z działu "Mikrokontrolery" na Elektrodzie. Programator ten ma współpracować z pakietem Bascom 8051, tyle że przy programowaniu procka dostaje komunikat "Chip not the same as buffer". Ponadto kiedy chce zidentyfikowac procesor (a jest to AT89C4051), to ustaia mi na AT89C1051, czyli zachowuje...
Niestety to nie to. Getad jest w przykładzie z Bascoma. Z asemblera bez problemu da się pobierać z przetwornika dane, ale jest tam skok do przerwania od przetwornika, myśle że w przykładzie Bascomowskim program po getad skacze do tej procedury i nie wie gdzie wrócić. Zawiesza się, a nie wiem jak w Bascomie napisać program żeby znajdował się pod konkretnym...
Tu raczej średnio na jeża pomogę, bo nie lubię wynalazków takich jak BASCOM. Piszę głównie w asemblerze i trochę w C. Jedyne co zrobiłem, to bardzo niedokładny zegar na AVRki (taki test LCD ;) - nudziło mi się kiedyś :] Oto kod: $crystal = 8000000 Dim Godziny As Byte Dim Minuty As Byte Dim Sekundy As Byte Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4...
... zrobilem komputerek podkladowy do auta wg. gotowego projektu z kodem w Bascomie ale nie dziala mi w nim poprawnie funkcja spalania sredniego. No to ją popraw , skoro znasz(?) Bascom.Poza tym , w tym kodzie "widać" , że w programie(tym w C) pracuje przerwanie od rejestru porównania(OCIE1A) , a w tym kodzie w Bascomie masz wogóle takowe i jesteś...
Heh :-) Siedziałem 2 dni nad tym (aż żona dostała białej gorączki) i doszedłem o co w tym wszystkich chodzi. Po pierwsze to musiałem zamienić UARTy, tzn. sprzętowego użyć do komunikacji z modemem GSM, zaś Softowego do komunikacji z PC. Po drugie intrukcja Bascoma Print domyślnie na końcu wysyła chr(13) i chr(10), więc musiałem użyć instrukcji printbin...
Daj schemat. Jak to jest enkoder od myszki, mozna postarac sie zrobic to najpierw na przerwaniu.
Buduje uklad programatora na bazie procesora 90S8515 i napotkalem na problem przy pisaniu programu w Bascomie. Przy przesylaniu danych do procesora (115200 baud) z predkoscia pisania na klawiaturze program dziala, ale gdy program na PC wysyla dane strumieniem do procesora wszystko sie wywala. Problem w tym ze przesylane dane sa binarne a nie znaki z...
witam kolegów, walczę z tym modułem już od chwili w połączeniu z atmegą162 i Bascomem. wprawdzie nie przeczytałem tego nigdzie, ale też nie ma nigdzie napisane, że wiznet po I2C działa tylko z procesorami ze sprzętowym TWI. aktualnie robie przejściówkę z mega32 na mega162, bo za laminaty troche zapłaciłem i nie chce ich od nowa robić, a współpracy z...
Ja właśnie robie "kabel" dwukierunkowy na tych CC1000PP z buforowaniem itd. Jeszcze nie zrobiłem, ale myśle (z wyliczeń tak wynika), że uda się aby transmisja była fullduplex 38,4 kb/s. Przy każdym cc1000pp stoi atmega 8 z kwarcem 11,0592. I pisząc w asemblerze myśle że dam rade, chociaz łatwo nie będzie, ze względu na długości procedur obsługio przerwań...
Zrob to po swojemu, bez kozystania z procedur Bascoma. ustaw odpowiednie rejestry, wlacz przerwanie i w jego obsludze wpisz byte=udr i tyle. W zmiennej byte bedziesz mial odebrana dana. Zmienna najprosciej zadeklarowac jako tablice czteroelementowa i do tego wskaznik zliczajacy do 4. Kazde przerwanie bedzie zwiekszalo dodatkowo wskaznik i sprawdzalo...
Stworzyłem nowy program działający dokładnie tak jak chcę. Obsługa rc5 jest w pętli a nie na przerwaniu. $regfile = "m8def.dat" $crystal = 10000000 Config Pinb.0 = Output Config Pinb.1 = Output Config Rc5 = Pind.2 , Timer = 2 Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 Dim Address As Byte , Command As Byte Dim I As...
Mam jeszcze 2 pytanie związane z Bascomem. Zrobiłem program przykładowy przedstawiony poniżej. Dim Nr As Byte Dim Nr2 As Byte Dim Koniec As Bit Skocz: Koniec = 0 Do Input "Podaj nr" , Nr If Nr > 0 Then If Nr < 20 Then Koniec = 1 End If End If Loop Until Koniec = 1 Do Print "pętla 2" Input "Podaj nr 2" , Nr2 If...
Dzięki! Pytałem zapobiegawczo. Muszę wybrać temat pracy inżynierskiej. Kiedyś bawiłem się BASCOM-em, ale do przerwań nie doszedłem- pamiętam, że też miałem problemy z równoległym wykonywaniem zadań przez procesor, ale i moja wiedza była też mizerna. Ten program chcę napisać w AVR-GCC, bo to jest szeroko chwalone środowisko programistyczne i język programowania...
Ja pozakładałem żółte tło z czarnymi literami. Pisałem soft w Bascomie i miałem wątpliwości co do kodu po kompilacji. Kompilator nie wykazywał żadnych błędów składniowych. Na początku gdy kod był jeszcze krótki w zasadzie co napisałem to działało OK za wyjątkiem przerwań zewnętrznych na końcówce INT procka. Więc zrezygnowałem z tych przerwań choć to...
nie wiem czy jest ret czy reti bo akurat obsługę przerwania mam napisaną w Bascomie, a wysylanie tekstu przez I2C w ASM. Obsluga_przerwania: 'coś co ma robić Return U mnie tak wygląda w Bascomie obsluga przerwania. Co do Akumulatora i Psw to fakt ,że ich nie zapamiętuje.No chyba ,że tym zajmuje się sam Bascom. W przerwani nie będę używał i2c bo za długo...
Witam Pisalem kiedys program do sterowania robotem (manipulatorem ) w bascomie. Zliczal on miedzy innymi impulsy z 3 enkoderow. i wszystko ladnie chodzilo: Fragment kody ktory zlicza impulsy z 3 enkoderow: //enkoder 1 Enk1_a Alias Pinb.0 Enk1_b Alias Pinb.1 //enkoder 2 Enk2_a Alias Pinb.2 Enk2_b Alias Pinb.3 //enkoder 3 Enk3_a Alias Pinb.4 Enk3_b Alias...
Witam. Chciałbym alby ktoś pomógł mi napisać program w języku Bascom, na Atmegę8. Chcę aby atmega generowała sinusoidę 50Hz (nie trudno sie domyśleć w jakim celu). Chcę żeby na wyjściu OC1A była generowana jedna połówka sinusoidy a na OC1 druga i tak w kółko naprzemiennie. Żeby sinusoida ładnie wyglądała podczas trwania jednej połówki (10ms o ile się...
Witam, Panowie na poważnie wziąłem się za TWI Slawe ale za pomocą własnej obsługi w Bascomie. Na podstawie szukajki na elektrodzie i kilku postów kolegów zdaje się szymtro i robiw udało mi się w końcu zrobić to aby AVR zaopatrzony w sprzętowe TWI grzecznie odbierał przesyłane do niego bajty. Zrobiłem to tak: Twar = &B10000000 'Adres=128, jeśli chcesz...
Witam Chciałbym się poradzić bo mam problem z uC i/lub bascomem (nie wiem czym jest to spowodowane). Otóż napisałem sobie prosty program który ma zapalać diodę po podaniu na jedną nóżkę uC stanu niskiego dioda podpięta pod inny pin zapali się na 200 ms i zgaśnie z powrotem.Okazało się jednak że uC nie reaguje na podania gnd na nóżkę wejścia. (sprawdzałem...
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ł... ;)
To nie ma nic w wspólnego z BASCOMem, C, czy Assemblerem. Masz błąd w rozumowaniu. Używasz LCD w programie głównym i przerwaniu. Obsługa LCD nie jest ReEntrant (tylko nie szukaj definicji słowa "ReEntrant" na Polskiej Wikipedii bo na Polskiej Wikipedi ta definicja jest błędna ;) (albo przynajmniej niekompletna)). Umieść wyświetlanie w programie głównym....
Witam! Niedawno zacząłem się uczyć bascoma. Jako pierwszą poprzeczkę postawiłem sobie napisać zupełnie sam sterownik do lampki rgb. Długo analizowałem kody innych sterowników (np. na stronie mirley.firley.org) W końcu udało mi się zrozumieć i napisałem program wykorzystujący metody kolegów, lecz został zaprojektowany "od podstaw". Gdyby ktoś mógł sprawdzić...
Problem nie jest mały. Musisz poczytać o przerwaniach i Timerach. W helpie po polsku napisanym przez Zbigeen i umieszczonym na stronie Bascoma. I zapomnieć na jakiś czas o wait. Bo w takim "liniowym" programie bez przerwań to tego się nie da zrobić.
Rozwiązanie problemu tkwiło gdzie indziej. Poddałem deasembacji HEX z Bascomu. Zawierał na początku przygotowanie miejsca w pamieci na obsługe przerwań a później to samo co ja pisałem w ASM, czy nie ma co się czepiać, więc na próbę z tego asm zrobiłem hex'a assemblerem i dalej porty milczą. Napisałem prosty program w ASM który w petli wysyłał znak na...
Witam. Szukam informacji nt. dekodowania RC5 w Bascomie. RC% wykorzystuje kodowanie typu Manchester i do dekodowania używa się takich samych technik jak dla kodu Manchester. Z. Hajduk w książce "Mikrokontrolery w systemach zdalnego sterowania" przedstawił następujące metody: *układy cyfrowej pętli synchronizacji fazowej DPLL *automat sekwencyjny Działają...
tak jest w bascomie i koniec, nic na to nie poradzisz prawdopodobnie czas potrzebny na przeliczenie ile porezeba instrukcji na 1 uS jest porównywalnie duzy z czasem 1uS dlatego było by to bez sensu. jeśli chcesz zrobić programowane PWM to użyj przerwania licznika do odmierzania czasu i całłą obługe zrób w przerwaniu. ja tak czasami robie gdy potrzebuje...
A stan Timera0 się zmienia? Ja też mam problemy z tym. Ale pod pojęciem "tym" kryje się nie Timer, lecz BASCOM. W BASCOMie niektóre rzeczy nie działają z niektórymi procesorami (np. Timery w ATMEBA88 nie działają, w ATMEGA8 już tak. BASCOM ma źle przypisane adresy rejestrów IO).
Hmm. No to żeś kolego janbernat zabił początkującego tym tematem :) Tak ogólnikowo pisząc to by wszytko działało w pseudo multitaskingu nie należy stosować opóźnień typu wait, tylko timery, oraz wykorzystywać system flag i przerwania. Przykładów na forum jest sporo więc można zawęzić wyszukiwanie tylko do elektrody, oraz na stronie firmowej Bascoma.
Przede wszystkim w komunikacji po Usarcie to przeszedł bym na przesyłanie ASCII, a wyrażenie kończyłbym znakiem CR (13). Wtedy możesz wysyłać odebrane ciągi na wyświetlacz, bez używania stałych. Używaj do tego zwykłego Print zamiast printbin. Tak swoją drogą nie wiem czemu większość początkujących próbuje komunikować się poprzez Printbin zamiast używać...
Witam Jestem w trakcie robienia zagara nixie ze strony Mikrokontrolerem jest Atmega8 a wkład zrobiony na Bascomie. Potrzebuję dodać opcję chwilowego wyłączenia lamp, w celu zabezpieczenia lamp przed zatruciem. Bardzo proszę o pomoc. To kod: '************* Konfiguracja uC ***************** '***************************************... $regfile = "m8def.dat"...
Witam! Czy istnieje procedura odczytu sygnału z pilota SONY będąca odpowiednikiem GetRC5 (dla pilotów RC5)? Przeglądałem elektrode, suport na www firmy MCS ale wszystko co znalazłem to dosyć rozbudowane procedury. Poszukuje też materiałów na temat sposobu kodowania IR SONY i ewentualnych innych przykładów procedur odczytu w bascomie. (Procek to ATMEGA8...
K_o_n_r_a_d , rozumiem. Nie potrzebuję aż tak dużej dokładności na zakres obrotu serwa jaką przypuszczałem. Problem tkwi w uzyskaniu tych 50Hz z zegara 4MHz. Sam preskaler nie jest w stanie tego uzyskać. W jaki sposób to zrealizować? (w tym przykładowym programie opóźnienie "Waitms 5" dałem jako przykładowe - zupełnie przypadkowe). Waitms 5 w żaden...
Bascomem juz całe wieki się nie bawiłem, ale wydaje mi się, że najprostsze rozwiązanie to: 1. Zadeklarować jakąś zmienną typu bit 2. Po wciśnięciu przycisku należy: -sprawdzić stan tej zmiennej -wyświetlić odpowiedni napis na wyświetlaczu (np TAK dla wartości zmiennej = 1 lub NIE dla wartości zmiennej równej 0) -zmienić wartość zmiennej na przeciwny...
Ponownie chciałbym zwrócić się do kolegów z prośbą o pomoc. Chcę zrobić rejestrator czasu, zdarzeń występujących na przerwaniu. Układ miałby zapisywać do pamięci eeprom datę i godzinę wystąpienia zdarzenia. czyli zmienne _mies, _dzień, _godz, _minuta Myślę sobie tak. Skoro mam serie danych składającą się z czterech zmiennych więc muszę zarezerwować...
Przecież w bascomie możesz se robić wstawki w asamblerze do obsługi dokładnych operacji na rejestrach czy krytycznych czasach . ALe ktoś kto nie klepał kody w asm tego nie pojmie. Na C-64 pisałem w Basic: Dodano po 17 Ale jak trzeba dołożyć scenariusze z błędami, alarmami itp. i reakcjami na nie to nagle maleństwa przestają być wystarczające. Dokładnie,...
Witam, mam programtor + plytke uruchomieniowa pod atmela 2051 , programator specjalnie pod bascoma, wszystko ladnie hula gdy pisze jakies tam programiki zmienialjace set/reset dla portow, (diodki - kazda na wyjsciu pinow postow zapalaja sie/gasna) ale problemem jest dla mnie zestawianie komuniakcji po RS, plytka jest wyposazona w uklad na MAXie, kwarc...
Moja propozycja: Kup gotową centralę, na pewno wyjdzie taniej, zwłaszcza jak policzysz swój czas spędzony nad tym, prąd zużyty przez komputer, koszty wykonania płytek, części, okulary (bo oczy siądą od komputera :) ) Poza tym gotową centralkę masz szybciej, bardziej niezawodną, z gwarancją i zrobioną z leprzych części, która nie zdechnie po miesiącu....
Przeglądałem PDF-a dotyczącego I2C w Atmedze16 i mało z tego wiem. O ile ze sprzętowym UART-em sobie poradziłem, to I2C mnie przeraża. Przy obsłudze UART-u zrezygnowałem ze standardowych poleceń Bascom-a (wszystko zrobiłem ustawiając rejestry i obsługując przerwania). Na chwilę obecną napisałem program, który symuluje I2C (nie kożystałem ze standardowych...
Witam , mam kawalek kodu i zauwazylem , ze w symulatorze programu nie wykonuje mi przerwania na timer1 , timer0 dziala bardzo dobrze i symulator go symuluje . Oto programik $regfile = "attiny2313.dat" $crystal = 8000000 Config Portb = Output Config Portd = &B1111000 Dim Adres As Word , Adh As Byte , Adl As Byte , T1pom As Byte Dim I As Byte , T As Byte...
Witam, zwraca się z ogromną prośbą do wtajemniczonych w programowaniu w Bascomie. Otóż piszę program do mierzenia obrotów wirnika silnike elektrycznego i wykombinowałem sobie, że to będzie działać tak, że co obrót wygenerowane zostanie przerwanie zewnętrzne a właściwie przepełniony zostanie T2 bo będzie mu brakowalo zawsze tylko 1 do przerwania, a w...
Dzieki ksz o to mi właśnie chodziło ! Mam tylko jeszcze jedno pytanko jak napisac programik aby np na dany kod przycisku ( 0x00000000000009F6) zmieniał stan portu ! Niezabardzo mam pomysł jak to zrobic w bascomie ! myśle nad podpięciem pod int0 tylko niewiem jak program ma mniej więcej wyglądac ! Robiłem niedawno odbiornik podczerwieni (w C), użyłem...
ZbeeGin -> no tak z tą dowolnością użycia rejestrów to mogłem przesadzić. Wprawdzie czytałem o tych zarezerwowanych rejestrach - ale ciarki mnie przeszły po plecach jak czytam w twoim poście, że przerwanie w Bascomie nie zapamiętuje wszystkich rejestrów i to co się dzieje we wstawce, która ich używa może zostać "zniszczone". Zniszczone lub zmienione...
PF - Jak zakładasz temat że potrzebujesz jakiejś pomocy, to postaraj się trochę szybciej odpowiadać na zadane pytania. Poniższy program powinien rozwiązać Twój problem. Zmienna "C" odpowiada w tym programie za czas w którym powinieneś wcisnąć przycisk 2-3 razy, wartość 5 (If C = 5 Then) odpowiada 1-nej sekundzie (prawie). Poprzeglądaj sobie schematy...
Sprawdzę to. A dla czego prąd przy uśpieniu jest znowu duży? Nie pomaga teraz wyłączenie adc. Próbowałem też wyłączenia przerwań, ale nic kurde nie pomaga na obniżenie poboru prądu po uśpieniu. Komenda odlicz była ustawiona na 5. Nie działało to. Gdy ustawię 50, wtedy działa 5 sekund i gaśnie czyli ok. No i w końcu, procesor startuje za każdym razem...
Witam Czy ja dobrze widze, ze mikrokontrolery serii ATmega nie maja ustawianego priorytetu przerwan ? Z manuala wynika, ze po wywolaniu przerwania system przerwan zostaje wylaczony. I zostaje wlaczony dopiero po wykonaniu podprogramu obslugi tego przerwania. Tak to wyglada i w manualu i w Bascomie. Oczywiscie mozna w podprogramie obslugi przerwania...
Witam ponownie !!!! Kolega Zumek świetnie to napisał. Ja uwzględniłbym jeszcze czasy wykonania warunku L1=30 i sprawa załatwiona. W obsłudze tego przerwania można dopisać jeszcze dwa warunki i sterować dwoma dodatkowymi częstotliwościami. (M.) Dzięki za uznanie :) Czas "wykonania się" przerwania niema tu żadnego znaczenia,a czas od rozpoczęcia obsługi...
Jeśli wykorzystujesz przerwania, to instrukcja serwa rozsypie się, jak z resztą większość rzeczy w bascomie. Moja rada: Napisz obsługę serwa ręcznie, w dziale Automatyka i Robotyka opisałem kiedyś jak sterować serwami, przynajmniej czegoś się nauczysz
Witam. Robię sobie wyświetlacz widmowy do roweru. Wszystko jest na 89c2051. Zrobiłem już tak że mam synchronizację obrotu koła i napis zaczyna się zaraz po zrobieniu pełnego obrotu (zastosowałem hallotron w połączeniu z int0). Wszystko spoko tylko im szybciej się jedzie to napis bardziej się rozjeżdża. Wpadłem na pomysł żeby zależnie od czasu obrotu...
na początek spróbował bym pobawić sie przerwaniami np Enable Interrupts lub odblokowanie przerwania wejściowego. Enable URXC jak to nie pomoże to odpiąć telefon, zmostkować TX i RX po stronie telefonu i wysłać coś i zobaczyć czy wróci. pozdrawiam kolegę :P
Wykonalne i niespacjalnie wymagajce ;) Ja bym do tego wykorzsytal timer1, poczytaj w datasheecie tam o timerach i sprzetowych pwmach. Wykorzystujac dwa kanaly jednego timera mozesz ustawic przesuniecie w fazie, tylko jak przesuniecie bedziesz mial polowe okresu to wypelnienie bedzie moglo byc maks 50%. Ale to tak na szybko co mi do glowy przychodzi....
dzięki za pomoc. Żeby mikroprocesor odbierający nie musiał długo oczekiwać na dane, zrobiłem tak, ze uC nadający wywołuje przerwanie w programie uC odbierającego, po czym nadaje (printbin). Natomiast uC odbierający w programie obsługującym przerwanie odbiera dane (inputbin). Dzięki za podpowiedzi
Wystarczy jeden programowy licznik, na który zapewne jeszcze się miejsce w przerwaniach znajdzie i coś na wzór częstotliwościomierza, który też można napisać dosłownie w kilku linijkach bascoma... Wszystko dostępne na elektrodzie mistrzu ;) EDIT Ech, jakoś mam taki dzień dzisiaj, że chcę jakiś dobry uczynek zrobić obadaj ten temat praktycznie masz całe...
Ostatnio zaprojektowałem na potrzeby dyskoteki switch DMX. Wykonałem 8 sztuk, jak na razie pracują bez zarzutu. Nie publikuję płytki, bo wymaga dopracowania, a nad publikacją wsadów i źródła się zastanowię. Co do PCB, to i tak zaraz dostaną mi się pewnie słuszne baty za zbyt małe odstępy części sieciowej od niskonapięciowej. Zdjęcie tablicy też nie...
Witam wszystkch. Mam wątpliwości co do odmierzania czasu w Bascom za pomocą Timerów. Sprawa dotyczy procków 51. Proszę o poprawienie mnie jeśli się myle. 1. Timer zlicza w górę od wpisanej wartości do 65535(16bit), Tryb 1. Zadaną wartość ładujemy komendą load timerx, yyyyy 2. Tak więc aby odliczyć 1 sekundę należy np.: 20 razy odliczyć po 50ms więc...
Proszę o prosty program który będzie obsługiwał przerwanie INT2 opadającym zboczem na procesor atmega 8535 w bascomie. Wynikiem działania obsługi przerwania może być zaświecnie ledy na dowolnim porcie. Próbowałem różnych konfiguracji i nic nie działa, INT0 i INT1 działa a INT2 nie :( z góry dziękuję george2002
teoretycznie program powinien działać ale skoro nie działa top znaczy że panowie z MSC znowu dali Dxxx :D w sumie to lubie pisać w bascomie a po takich jajach to mi się czasami odechciewa. więc tak najpierw to usuń "END" bo ot nic nie daje a moze program głupieje. zmień też typ zmiennej licznik na byte bo moze to go boli. policz też dokładnie co ile...
Po co stosować tu przerwanie? Kardynalny błąd to stosowanie polceceń opóźnień w przerwaniach. W tym programie problem tkwi w: If Przycisk = 0 Then Waitms 100 If Przycisk = 0 Then Incr Sekwencja If Sekwencja = 0 Then Incr Sekwencja If Sekwencja = 4 Then Sekwencja = 1 End If End If End If End If Popraw na: If Przycisk = 0 Then Waitms 100 If Przycisk =...
Imo jest to bezsensowne oszczędzanie. Ale to taka moja mała rada:) No i w/g mnie średnio będzie to działać, chyba że się postarasz mocno i będziesz blokował przerwania albo cuś:> Bo tak to co naciśnięcie klawisza / coś na lcd wysłane będzie się procedura przerwania wywoływać:>
Płytkę zrobiłem metodą foto: drukarka laser-folia-positiv-"kret do rur"-wytrawiacz. Wzorowałem się głównie na przebiegach z oscyloskopu podłączonego do PC. Układ generuje tylko jeden obraz. Obsługa VGA nie jest trudna. Trzeba tylko zadbać o prawidłowe generowanie sygnałów synchronizacji w przerwaniach. Natomiast jakość treści obrazu zależy głównie od...
Witaj :D Według mnie tablica jest niezbedna poniewaz to w niej sa zapisane wlasciwe znaki , i wydaje mi sie ze nauczuciel sie myli bo samo polecenie getatkeyb() zwrocilo by numer wcisnietego klawisza a nie konkretna literke , liczbe czy znak . Przykladem moze byc fragment polskiego helpa do bascom-a w ktorym jest opisane dzialanie tego polecenia Funkcja...
Witam, Niestety deklaracja programowego uarta w BASCOMIE dla ATTiny26 mi nie działa np: 'Open a TRANSMIT channel for output Open "comb.1:4800,8,n,1" For Output As #1 'Now open a RECEIVE channel for input Open "comb.0:4800,8,n,1" For Input As #2 Czy zna ktoś metodę na zrealizowanie Uarta w Attiny26 w najbardziej lajtowy sposób...