W itam. Kiedyś próbowałem zrobić odbiornik RC5 na ATtiny13V lecz próba skończyła się fiaskiem, ponieważ w BASCOM'ie nie da się na ATtiny13 przypisać zmiennych typu Byte. A jednak, przeglądałem internet w poszukiwaniu nowych pomysłów na urządzenia i natrafiłem na program gdzie gość programuje ATTiny13 z 5 zmiennymi Byte , 1 Integer(!) , i 4 typu Bit...
Witam. Proszę Was o sprawdzenie poniższego kodu: Problem polega na tym że na LCD pokazuje się error=3 , a w symulacji error=0. Dalsze zwiększanie ramki to jakaś paranoja. Wyłuskałem ten kod z programu który ma kilkaset linii . Tam mam dopiero skutki przepełnienia stosu :-( . $regfile = "m32def.dat" ' specify the used micro $crystal = 8000000...
Przebadałem program według instrukcji i nic się nie zmieniło prócz framesize = 0, to możliwe? Dodano po 26 To chyba jakaś lipa. Jak określę w opcjach np : $hwstack = 40 $swstack = 50 $framesize = 20 to po wyliczeniu nic się nie zmienia, mogę wpisywać dowolne wartości. Dodano po 3 Gdy wpisałem $hwstack = 1 $swstack = 1 $framesize = 1 to po wciśnięciu...
Tu nie chodzi o ilość Gosub'ów ale o rekurencyjność i iloś zagnieżdżeń. Trzeba pilnować by każdy podprogram kiedyś zakończył się i wyszedł przez Return. Czym więcej zagnieżdżeń tym więcej potrzeba pamięci na tzw. HW Stack. Jeśli masz wolny RAM to zwiększ ilość pamięci na hwstack ,a przy okazji możesz dorzucić na framesize i swstack. Podkreślam jeszcze...
tutaj mam kod i z tego powodu, że dopiero zaczynam programowanie w bascomie to nie orientuje się jak są sterowane rgb ****************************************... 'Software für FullColor-RGB-3x3x3-Cube (je 256 PWM-Stufen für R, G, und B) ' 'Kompatibel mit ATmega88/168/88p/168p/328p (entsprechendes Dat-File wählen) '...
A wracając do początku dyskusji myślę że problem bierze sie ze zbyt małego zadeklarowanego stosu. Szczególnie jeśli problemy wystąpiły nagle po przekroczeniu pewnej ilości programu. Umieść na początku programu : $hwstack = 100 $framesize = 100 $swstack = 100 i spróbuj jeszcze raz
Witam. Mam problem ze zmianą odebranych danych z Uart'a na zmienną liczbową. Mianowicie na jednej Atmedze mierzę poprzez ADC wartość prądu i wysyłam ją na uart'a. Na drugiej Atmedze odbieram te dane i tu nie mam problemów - wysłane i odebrane dane się zgadzają i są poprawne. Ale odebrane dane są stringiem, nie mogę nic z nimi zrobić (matematycznie)....
$regfile = "m8adef.dat" 'najpierw określamy typ proca $crystal = 8000000 'definiujemy z jakim taktowaniem będzie pracował $framesize = 32 $swstack = 32 $hwstack = 32 Config Portb = Input 'port b jako wejścia 'Portb = 0 'wszędzie stan spoczynkowy-0 <--TU PIERWSZY BLAD 'Jezeli definiujesz PORTB jako wejscie to podpinasz rezystor podciagajacy. PORTB.0...
Witam Próbuje zainicjować pracę wyświetlacza po SPI Mam taki opis: Initialization This is an inizialisation example for single supply +3V / +3.3V supply with internal booster on. 1. RESET-pin must be set to high (as along as the pin RESET is low, nothing works). 2. CS-pin must be set to low (It can be written to the display, display input...
Uściślijmy jeszcze czy w kodzie który działa też nie masz wartości $framesize, $swstack i $hwstack? Rzeczy należy eliminować sukcesywnie. Dopisałbym te brakujące rzeczy od razu zamiast je podejrzewać... !EDIT! Zapomniałem o tym a już się w tej sprawie kontaktowałem kiedyś z Supportem :D Słowo Hbyte jest słowem używanym przez wewnętrzne procedury Bascom....
Nie wiem o co chodzi- czy mu się zasoby skończyły...? Pamiętaj o tym, że istnieją dyrektywy $hwstack, $swstack, $framesize. W poprzednich wersjach źle był domyślnie ustawiony $swstack.
Troszkę za dużym ogólnikiem rzuciłem... Tak, stos to HW Stack (sprzętowy) i Soft Stack (programowy). Należało by zwiększyć rozmiar stosu sprzętowego, bo używasz przerwania od Trmer1. Wywołanie obsługi przerwania powoduje zajęcie 32 bajtów stosu (czyli tyle, ile masz zadeklarowane), a nie tylko do tego jest on używany. Możesz ustawić np. dwukrotnie więcej....
ok to by mogło być tylko mam problem z kompilacją kodu tzn Assignment error $hwstack:112 128:112 i to samo dla $swstack , $framesize. Następnie Can't find HW-registere DDR5 i DDR2. Może mi to ktoś skompilować do hex-a. ??
Zapoznaj się z $hwstack, $swstack i $framesize.
Może takt nie jest "plusowy" Wiesz, że po resecie każdy PORT ma wartość zapisaną która można odczytać w nocie "Default" albo "After reset" To najcześciej oznacza że każdy port ma po Reset wartość 0 (zero). Czyli nie ma żadnego podciągania do plusa. Jednak włączenie portu jako Output przestawia DDR i ze zwykłego Floata (pływający/mogący przybierać różna...
A mikrokontroler to: A ustawienia dla AVR-DOS to: A ustawienia $framesize, $hwstack i $swstack to:
Dziękuję. Rejestr już jest odczytywany przed zapisem. Każde przerwanie w slave zapisuje coś do SPDR, więc jeśli slave ZDĄŻY obsłużyć przerwanie i wpisać to zawsze jeden bajt jest wpisany. Przed transmisją przy inicjacji nic nie wpisuję do spdr, pierwszy wpis jest w przerwaniu. Wygląda na to, że oba wyrabiają się z wpisywaniem danych do rejestrów bo...
Mam problem z skompilowaniem programu tego sterownika (program ściągnięty z strony EP) jak używam Bascoma w wersji 1.1 1.8.3 to instrukcje: $xa 'wlaczenie dostepu do zewnetrznej magistrali mikrokontrolera $hwstack = 50 'wartosc stosu $swstack = 50 'wartosc stosu $framesize = 50 są podświetlane prawidłowo jako akceptowalna składnia (na niebiesko) Niestety...
Witam ostatnio założyłem temat [url=]Link ale przez moje nie dopatrzenie zostało no wyrzucony dziękuje wszystkim za pomoc chwilowo (po poprawkach) zegarek wygląda tak [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 Config Timer0 = Timer , Prescale = 256 On Timer0 Przerwanie Dim Licz As Byte Enable Interrupts Enable Timer0 $hwstack = 32...
Witam. Zrobiłem taką małą płytkę pod sterownik domowy z dwoma prockami: at32(mini) i at128 i mam mały problem właśnie z tym drugim. 1.Po pierwsze at128 nie chce wykonywać nawet prostych pętli: Proszę o pomoc w znalezieniu błędów w schemacie lub programie.
Dopisz na wszelki wypadek pod predkoscią rezonatora i typem procesora Zamiast Set i Reset spróbuj Portb.0 = 1 Możesz też spróbować dodać nową zmienną jak poniżej dla testu. [syntax=basic4gl]'### TERMOMETR 4xDS18B20 ### $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 128 $swstack = 64 $framesize = 64 Config Lcdpin = Pin , Db4 = Portb.2 , Db5...
Ludzie, jak potrafią, to pisza po rejestrach, ale prawie każdą rzecz da się zapisac komendami Bascom,a Znam wyjątki, ale nie będę teraz o nich pisał. Masz tu trzy przykłady bo się nie wygrzebiesz z tego a jest ładny dzień ;) Gdzies tam się machnąłem z częstotliwością bo wstawiałem z automatu, ale przynajmniej znasz składnie. Miłej reszty dnia ;)
Eksperymenty związane z EKG Od dawna uważałem za interesujące rozważania o własnych systemach EKG. Szczególnie interesują mnie rozwiązania niedrogie i łatwe w konfiguracji. W tym artykule przedstawiono kilka sposobów wykorzystania tej techniki. Ale najpierw coś podstawowego: Ze względu na bezpośredni kontakt elektrod EKG z ciałem, wszystkie elementy...
Witam Problem następujący: Dwa procki komunikują sie radiowo na modułach telecontrolli. Jeden procek nadaje string, drugi odbiera. Ogólnie all jest ok, ale gdy dopisze opcje wyświetlania czasu na LCD to sekundy idą tylko wtedy kiedy coś nadaje nadajnik, a jesli go wylacze sekundy sie zatrzymują. Oto kod: Odbiornik $regfile = "m16def.dat" $crystal...
Witam Zacząłem się bawić bascomem od niedawna. Jak do tej pory wszystko szło w miarę dobrze. Problem pojawił się przy użyciu SHIFTOUT/SHIFTIN. Generalnie chodzi o to, że podczas pierwszej transmisji, zaraz po resecie, dane są jakby nie pełne kolejna transmisja jest już poprawna. Po wysłaniu powiedzmy (63) odczytuję (31) tak jakby za pierwszym razem...
Można ustawiać kierunek transmisji UARTa programowego: Układ_1: $regfile = "M8def.dat" $hwstack = 32 $swstack = 32 $framesize = 32 $crystal = 8000000 '---------------------------------------... Dim Data_out_1 As Byte dim Data_out_2 As Byte dim Data_out_3 As Byte dim Data_in_1 As Byte dim Data_in_2 As Byte...
Witam Szykuje do swojego projektu transmisję po RS między dwoma mikrokontrolerami Udało mi się już coś uruchomić ale chciałbym się upewnić czy wszystko robię ok Nadawanie zrobiłem tak: 'projekt regulatora temperatury $regfile = "m8def.dat" $crystal = 8000000 $baud = 2400 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2...
Podaje kod w bascomie jaki użyłem do komunikacji się tych modułów. Może gdzieś popełniłem błąd. Podczas testów moduły były w odległości 5cm na jednej płytce stykowej z jednym zasilaniem. Nadajnik: $regfile = "m8def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 10 $framesize = 40 Xon Alias &H11 Xoff Alias &H13 Ppb1 Alias Pinb.1...
Witam napisałem programik w bascomie który wysyła po uarcie do drugiej atmegi8 temperature moje pytanie brzmi : 1 atmega wysyła mi temperature np.260 a druga odbiera mi to w pojedynczych bajtach czyli 2 6 0 jak to połączyć razem? abym mógł podzielić 260 przez 10 Nadajnik: $regfile = "m8def.dat" 'Amega8 $crystal = 7200000 'kwarc $baud = 1200 'predkosc...
Robie projekt ktory sklada sie z jednego mastera i paru slavow. Problem: nie bardzo dziala mi odbieranie danych po spi. Dodam, ze odbieranie mialo byc po przerwaniu od spi. Gdy mam spiin w petli jest wszystko ok, jak odbieram w przerwaniu to odbiera co 2 byte. Na lcd pojawia sie 0 , 2 , 4 a powinno 0,1,2,3,4 itd. Master: $regfile = "m8def.dat"...
1. Attiny ma fuzy ustawione na L7A HFF czyli bez podzialu na 8 2. Po podłączeniu Attiny spada do 4.8V 3. Przy włączonym triaku i załączonym elektrozaworze spada do 4.4V 4. Nie zgadza się deklarowany czas jest 10 sekund a faktyczny wynosi 22 sekundy 5. LM78L05 ma tylko 100mA może to za mało? z data shitów wychodzi ze powinno wystarczyć, grzeje się trochę...
Cały problem jest w tym żeby te dwie ATmegi się zsynchronizowały. Przerwanie od SPI występuje po zakończenia transmisji pierwszego bajtu. Zanim nastąpi obsługa przerwania to pierwszy bajt zostanie utracony. Nie mamy też gwarancji że dwie Atmegi "wystrzeliły" :) równocześnie i Slave nie czyta np. 4 bajtu nadanego przez Mastera. Jeżeli to by była np....
Witaski Panowie i Panie :) Wiele szukałem, niestety bez skutku prostego programiku, który to sprawdziłby, czy SPI w mojej ATmedze jest sprawne. Tak więc zamieszczam dwa proste programiki, które sprawdzają poprawność działania SPI Test SPI sprzętowego Test SPI programowego Przy sprzętowym podłącz diodę do pinu B.5 portu B, natomiast przy programowym...
Witam ,uczę się obsługi przetwornika ADC i na bazie helpa z Bascoma napisałem dwa programiki: [syntax=basic4gl] 'przetwornik ADC $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 64 $framesize = 40 Config Portc = Input Config Portd = Input nop Portd = &B11111111 nop Config Lcd = 16 * 2 Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portb.3...
Witam. Próbuję uruchomić potencjometr cyfrowy - DS1267. Na elektrodzie znalazłem temat użytkownika bartods [url=]Link. Udało mu się sterować potencjometrem w języku bascom. Ja w swoim projekcie używam języka C dlatego staram się przetłumaczyć obsługę na ten właśnie język. Poniżej wklejam kod który już udało mi się przetłumaczyć, w zaznaczonych miejscach...
nadajnik: [syntax=basic4gl]$regfile = "M8def.dat" $crystal = 16000000 $baud = 19200 $hwstack = 40 $swstack = 20 $framesize = 40 '=== Declare sub routines Declare Sub R_register(byval Command As Byte , Byval C_bytes As Byte) Declare Sub W_register(byval C_bytes As Byte) '=== Constante === 'Define nRF24L01 interrupt flag's Const Idle_int = &H00 'Idle,...
Działa!!!!!!!!! Zastanawiałem się czemu procesor próbował wyświetlać ciągle tę samą wysłaną zmienną jedną pod drugą i po wielu próbach i błędach znalazłem przyczynę. Mianowicie wcześniej myślałem że zmienna zdefiniowana jako: Dodano po 1 Nawet szybko mi poszło z tą kartą sd. :D Oto kod wysyłania z atmegi32 pliku *.txt z karty sd w którym zapisany tekst...
Witam, Piszę na Atmedze odczyt danych z BMP085 i dodatkowo zapis danych na kartę SD. Wszystko wydaje się działać poprawnie, a jednak coś jest nie tak. Do obsługi BMP085 wykorzystałem kod z tego tematu: Oto wykres z odebranych danych, czas pomiaru to około 10min Za każdym razem ćiśnienie spada, niemożliwe, żeby w ciągu 10 min spadło o 4hPa. W czasie...
Witam. Od pewnego czasu zajmuje się wykonaniem sterowania na mikro-kontrolerach AVR. Nadajnik pracuje na atmega 8 a odbiorniki na atmega 16. Mój system to zestaw 15 odbiorników i 1 nadajnika. Połączone jest to wszystko za pomocą magistrali RS485 za pośrednictwem Sn75176 z przełączaniem odbiór nadawanie. To tyle odnośnie układu docelowego. Do celów diagnostycznych...
Witam, własnie uruchomiłem zegar, kalendarz na DS1307 wszystko śmiga lub prawie , poza jednym drobnym szczegółem a mianowicie , nie mogę ustawić wyświetlania daty w Config Date ... wyświetla się w stylu USA [syntax=basic4gl] '---------------------------------------... ' DS1307.BAS ' shows how to use the ds1307 clock...
Witam Mam problem z przesyłaniem kilku zmiennych po RS485, tzn. wartość zmiennych przesyłana jest prawidłowo, ale w odbiorniku zmienne zamienione są miejscami. A mianowicie nadajnik wysyła np. zmienne a=504 b=129 c=292, a odbiornik odbiera je tak a=292 b=504 c=129. I nie mogę dojść dlaczego tak mi się dzieje. NADAJNIK [syntax=basic4gl]$regfile = "m32def.dat"...
Wysyłanie i odbieranie RC5 jest w Bascom kodowane automatycznie. Manchesterem swoje dane musisz więc zakodować sam. Poniżej masz wersję którą mam jeszcze w planie dopracować więc nie myśl o niej jak o finalnej. na pewno można coś poprawić. Po skopiowaniu ten kod powinien znajdować się w tym samym folderze co Twój kod. [syntax=basic4gl]$nocompile ' send_by_air...
Muszę odebrać 9 zmiennych bitowych . Transmisja działa ale jest problem, co jakiś czas zdarzają się przypadki gubienia danych lub fałszywych danych.Zmiana szybkości transmisji nie pomaga.czy ktoś pomoże rozwiązać problem? fragmenty kodów [syntax=basic4gl] 'nadajnik $regfile = "m128def.dat" $crystal = 7372800 $hwstack = 32 $swstack = 10 $framesize =...
Zrozumienie prostego i nieskomplikowanego, jak się na końcu okaże, Overlay bardzo się przydaje. Zanim zacznę to przypomnę i umówmy się że jeden bajt zapisujemy w dwóch znakach, na przykład FA, FF, 8C, 0B itd.. Pierwszy przykład obrazujący zagadnienie: Jak wiadomo zmienne typu WORD albo INTEGER składają się z dwóch bajtów. Jeśli więc zadeklarujemy w...
Użyj symulatora. To potężne narzędzie. Można nawet zadawać wartości które program odczyta z ADC dla każdego z kanałów z osobna.. To jednak nie wszystko. Ma wbudowany emulator wyświetlacza. To nic że nie chcesz wyświetlać na LCD. Możesz każde swoje obliczenia matematyczne które ma wykonać mikrokontroler wyświetlić w postaci wyniku na tym LCD i już wiesz...
No i paczka doszła. Szybko zrobione na stykówce, i wyświetlacz działa, ale coś jest nie tak, oraz nie widzę komunikacji. Nadajnik: [syntax=Bascom] $regfile = "m8def.dat" $crystal = 1000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Portb.1 = Input Portb.1 = 0 Config Portd.3 = Output Config Pind.1 = Output 'PIN TXD Set Portd 'PIN TXD Enable Interrupts...
Mój program który stworzyłem na swoje potrzeby analizuje plik OBJ tworzony przez kompilator i pokazuje które rejestry zostały użyte podczas obsługi przerwania. Pozwala to na użycie parametru Nosave i znaczne przyspieszenie w przypadku Bascoma. Plik OBJ można oczywiście załadować do Atmel Studio i patrzeć na Assemblera, ale to niewygodne bo nie wszystkie...
Witam, Z tej stronki [url=]Link dowiedziałem się jak obsługiwać moduły komunikacji radiowej RFM12B. Przykład nadanika: [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 '8MHz $hwstack = 70 $swstack = 70 $framesize = 160 '$noramclear Config Submode = New Config Watchdog = 512 '512ms Start Watchdog '---------Constants---------------------...
Można to napisać dużo krócej, żeby się nie powtarzać, ale byłoby go trudniej zrozumieć. Można to też napisać na kilka innych sposobów. [syntax=vbnet]$regfile = "m8adef.dat" $crystal = 16000000 $hwstack = 40 $swstack=16 $framesize=32 ' *** WPISZ PRĘDKOŚĆ OD 1 DO 5 *** Const Szybkosc_wyswietlania = 5 Const Linia1 = "Witam" Const Linia2 = "test LCD" Const...
Przykład z Bascoma. Przypatrz się, gdzie popełniłeś błąd. $hwstack = Twoja wartość $swstack = Twoja wartość $framesize = Twoja wartoś ć
Niestety nie są one uporządkowane tzn bit0 na tarczy jest przypisany do PORTx.4 a bit1 do PORTx.2 itd Nie ma to znaczenia. Dla przykładu gdy stan wejść całego poru jest równy b00011111 to liczba dla tej wartości binarnej wynosi 248. Począwszy od pinu numer 0. Czy dla Ciebie istotne są wyłącznie piny np. 4 do 0 ?, czy też piny 7 do 5 są nie używane...
Jeśli zerkniesz do dokumentacji w części dotyczącej "serial". Napisano, że do poprawnej pracy należy stosować zewnętrzne taktowanie. Czyli wszytko co wyżej poprzednicy napisali. Jeśli się upierasz zrobić to bez kwarcu, możesz od żądanej prędkości odejmować 20% lub przed rozkazem wysłania/odbierania ustawiać oscylator. Abu ustalić wartość korekcji oscylatora...
Witam, Próbuje dopisać funkcję wprowadzania daty i czasu za pomocą klawiszy w Bascomie na scalaku DS1307, problem mam taki ,że nie widzę nastaw online :-) tylko dopiero po wyjściu z menu i nie wiadomo do końca co się wpisało . Dodano po 3 zrobione może się komuś przydać , [syntax=vbnet] $regfile = "m644pdef.dat" ' specify the used micro $crystal = 16000000...
Witam, Tu: znajduje się opis powielacza czasu automatu schodowego. Obiecałem tam, że na bazie tamtego układu opracuję „inteligentny” automat schodowy, i oto jest :). Jego „inteligentność” jest zawarta w założeniach do projektu: 1. Ma być podłączony równolegle do przycisków oświetlenia, najlepiej w jednym z nich, 2. Ma być zasilany...
Witam. Parę lat temu zaprojektowałem i wykonałem tablicę wyników sportowych dla sali gimnastycznej. Sterowanie tablicy było wykonane za pomocą sterownika, który był połączony przewodem z tablicą. Dlaczego przewodem...? Do sterowania tablicy potrzeba aż 107 przycisków i nie miałem pomysłu, jak takie sterowanie wykonać drogą radiową. Po kilku latach postanowiłem...
Ok, sprawdziłem w praktyce że na SPI dane dochodzą i wszystko działa (przynajmniej w jedną stronę master >> slave) Rozumiem że po RS485/422, CAN było by lepiej itd, ale trochę czas mnie goni i nie wiem ilę zajmie mi nauka czegoś nowego :/ mam takie pewnie banalne kawałki kodu Master Dodano po 47 Ok, zrobiłem, tyle powiem że zacytuję kolegów z...
może ja czegoś nie rozumiem ale ktoś podpowie dlaczego tak się dzieje bo to tu będzie problem kod nadajnika : jeśli zmienie na 100 mil to : Jeśli zmienię program odbiornika bez używania przerwania to timer0 pracuje poprawnie tak samo jak i dane wysyłane przez spi i wyświetlane na lcd. i jak to teraz rozkminić ? mi dane są potrzebne w przerwaniu :/
Witam. Mam zbudowany od 3 lat inkubator na jaja kurze, gęsie i kacze. Cała konstrukcja działa w oparciu czujnik temperatury i wilgotności DHT22. Stary program działa bardzo dobrze, ptaszynki klują się ładnie. Ale żeby nie było tak pięknie to co jakiś czas, powiedzmy raz a może dwa razy na sezon coś się zawiesza i zamiast 37,7 stopni temperatura rośnie...
oryginalnie wygląda to tak: [syntax=vbnet] $regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 16 $swstack = 8 $framesize = 16 Config Timer0 = Timer , Prescale = 1 Enable Timer0 On Timer0 Pwm Enable Interrupts Start Timer0 Declare Sub Miganie Config Pinb.3 = Input Set Pinb.3 Config Portb.4 = Output Przycisk Alias Pinb.3 Config Portb.0 = Output Config...
Takie oto pytanie dla przykładu: Co zrobić jeżeli procedurę wywołujemy z procedury np. w wielostopniowym menu, które jest też procedurą. Mamy ograniczyć użytkownikowi ilość wywołań, trochę nie ładnie. Lepszym chyba rozwiązaniem jest rezygnacja z takiej sytuacji na rzecz skou do podprogramu i powrót bo w tym przypadku stos nie jest nadpisywany. Tym...
Wielkość stosów możesz ustawić w menu Options -> Compiler -> Chip HW Stack, Soft Stack i Framesize (ustawienia domyślne to 32,24,24). Można też dopisać na początku programu: $HWSTACK = wartość $SWSTACK = wartość $FRAMESIZE = wartość gdzie wartość to ilość bajtów przeznaczona na stos. [url=]Link
Ale Bascom przecież łyka instrukcje asm. Napisz mu np coś takiego: OCR4AH=00 OCR4AL=12 Sprawdź może też z małymi literami. Jeśli to nie zadziała to można podać mu to jako wstawkę asm. Być może nie opisali jeszcze tych rejestrów w tym kompilatorze. Też tak zrobiłem, ale mam problem z podziałem 16 bitowej liczby na dwie 8bitowe. Nie wiem czy robię to...
Witam wszystkich Wygląda to tak, że wchodzę w podprogram zmiany czasu i wszystko się zatrzymuje. Nie ma możliwości zmiany czasu ani powrotu do podstawowego trybu pracy czyli wyświetlania czasu i temperatur. W załączeniu przesyłam kod mojego programu: Code $regfile = "m8def.dat" $crystal = 1000000 $hwstack = ? $swstack = ? $framesize =? ...................
Raczej problemem jest sama komunikacja po uart bo cały program bez niej działa jak należy. Mam jeszcze jedno podejrzenie co może być nie tak. Jak sprawdzę to napiszę. Dodano po 38 Myślałem że to budowa ramki danych jest problemem ale niestety nie. Wielkość ramki $framesize mam ustawione na 150. Dodano po 15 Dodaję uproszczony program jak Pisałeś. [syntax=vbnet]...
Jakoś mi ten post umknął pewnie przez to że to weekend :P W Attiny2313 SRAM`u jest dość bo 128 B tylko pewnie zderzyłeś się z czymś o czym ludzie, albo nie wiedzą, albo zapominają. Otóż chodzi o stosy. Nie wgłębiając się w zagadnienie stosów podpowiem, że operacje na stringach Bascom przetwarza w tak zwanej ramce. Kiedy ma podzielić string to robi jego...
Dopisałem do mojego programu (miganie diody): $regfile = "attiny2313.dat" $crystal = 4000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 skompilowałem w BASCOMie nim też zaprogramowałem Attinka i DZIAŁA, chyba tylko o to mu chodziło. Z ciekawości spróbowałem ustawić: Wait 3600 czyli na jedną godzinę i też działa. Można by odczekanie...
Termometr1 Alias Portd.5 '------------------------------------- 'Analogicznie dopisuje tylko po poszczególnych procedurach typu ' wwrite,wreset nazwę działania i zmiennej Termometr1 ' i usuwam Config 1wire = Portd.5 1wreset termometr1 Kurde , to nie możesz zajrzeć do pomocy :!: Składnia dla 1wreset jest 1wreset , Port , Numerbitu i dla każdej innej...
PROŚBA ! ! ! Jak bym przesłał projekt który jest widoczny na zdjęciu w formacie ProtelDXP to może Pan dla mnie zrobić poprawę komunikacji RS232 i ATmega16 (chodzi mi tu o dokładnie jakie piny z jakimi podłączyć? Ewentualnie może Pan napisać: Max232 ATmega16 pin14 z pin1 a jeśli chodzi o Bascom to musi być to zrobione w ten sposób?: $regfile = "m16def.dat"...
dodałem cos nieznacznie 'settings from KS 108.BAS sample program $hwstack = 32 $swstack = 10 $framesize = 40 w załączeniu wynik kompilacji i zwracane u mnie błędy /jarek
... No właśnie... Jak go skompilować. nie chce przejść przez linie: $hwstack = 80 $swstack = 128 $framesize = 80 $lib "ds1307clock.lib" ' modified lib Nie znam tych komend. Czy tą bibliotekę do obsługi Dallasa trzeba skądś ściągnąć ?. Jeżeli tak to gdzie ją wstawić i co znaczy komentarz "modified lib" ?. Dodam, że po wywaleniu tych linii reszta przechodzi...
Można zrobić tak: $hwstack = 32 $swstack = 32 $framesize = 32 Dim Aa As Double Dim B As Double Aa = 5 Aa = Aa / 6 Print Aa B = Sin(0.2) Print B Do Loop End ...i będzie działać ! Pozdrawiam...
Oki $tiny rozwialo sprawe ze zmiennymi. Rozwiało :?: , zapewne Twoją czuprynę :D Po pierwsze , coś kręcisz , bo nawet takie cuś nie da się skompilować dla ATMega8515 :!: $regfile = "m8515.DAT" Config Timer0 = Pwm , Pwm = 8 , Compareb Pwm = Clear Down , Comparea Pwm = Disconnect , Prescale = 64 A nie da się również na wiele innych proców ,...
Oto program: ' Diody LED sa dolaczone do PortC $regfile = "m128def.dat" $crystal = 16000000 $hwstack = 32 $swstack = 32 $framesize = 32 Config Portc = Output Do Portc = &B11111111 Waitms 1000 Portc = &B00000000 Waitms 1000 Loop End Jest to program który dostałem na płytce wraz z zestawem uruchomieniowym.
' czestotliwość $crystal = 20000000 'procesorek Atmega8 mój ulubiony :) $regfile = "m8def.dat" '$regfile = "attiny2313.dat" 'stosy, jak program będzie działał to mozna je pozminiejszać $hwstack = 32 $swstack = 10 $framesize = 10 Const Ile = 12 ' ilość miejśc po przecinku w przyblizaniu, im wiecej tym dokładniej liczy ale...
$regfile = "m16def.dat" '$regfile = "8535def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 80 $swstack = 64 $framesize = 64 Config Lcdpin = Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcd = 16 * 2 Config Portb.0 = Input Config Portb.1 = Input Config Portb.2 = Input Config...
Witam, Mam ATmege16 i chce zrobić zegar RTC. Mam podłączony wyświetlacz LD 16x2 i mam taka opcje steruje podświetleniem poprzez sygnał PWM1b Ogólnie mój kod wygląda tak: $regfile = "m16def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0...
... Oki chyba przerobilem lekcje nauczyciela... i wedlug mnie teraz listing w skrócie powinien wygladac tak..? Declare Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte) Declare Sub Read_eeprom(byval Adres As Byte , Value As Byte) ... Ok :D Proponuję byś jawnie deklarował Byref Value As Byte , bo przy większym projekcie można się nieźle zamotać...
co by niebyć goło słownym $regfile = "8535def.dat" $hwstack = 64 $swstack = 64 $framesize = 32 'Czestotliwość kwarcu np 4Mhz mozna zmienić $crystal = 4000000 'ustawienie końcówki wyjścia Triac_out Alias Portb.0 Config Pinb.0 = Output Set Triac_out '***************************************... Const Rozdzielczosc = 100 Const Tim =(_xtal /(100...
No to spróbuj tego: $regfile = "m16def.dat" $crystal = 4000000 $hwstack = 32 $swstack = 32 $framesize = 32 config 1wire= portb.7 Do 1wreset if err=0 then print "PP_ok" ' czy LCD "PP_OK" - co tam masz else print "PP_err" ' j/w endif waitms 500 Loop Napisz o wyniku doświadczenia :D Piotrek
Witam. RAM-u nie powinno brakować, zresztą można się o tym przekonać naciskając ikonkę "rączka z kartką". Obsługa RS-232 nie wykorzystuje timerów, WAIT również nie. Spróbuj jeszcze zwiększyć $framesize i $swstack. Nie do końca czuję te parametry - w helpie mało o nich jest napisane, a i w praktyce mało ich używałem. teedd P.S. Jaką masz wersję Bascoma?
Ok , postaram się to wyjaśnić ;) Sub Modyfikuj_polbajt(byval Polbajt As Byte , Byval Zmien As Byte) 'Polbajt , to pozycja kursora na LCD (1-16) 'Zmien , to wartość 1 gdy zwiększamy o 1 , lub 255 gdy zmniejszamy o 1 Local Hb As Byte 'zmienna pomocnicza dla starszych(4-7) 4-bitów z bajtu Local Lb As Byte 'zmienna pomocnicza dla...
Witam, Wykonuję projekt w którym muszę wykorzystać komórkę i komendy AT. Mam program wykonujący konwertowanie do PDU. Nie wiem dlaczego komórka (siemens MT50) nie za każdym razem wysyła smsa.Na 10 prób ok 3 smsy nie zostają wysłane. Jest ona podłączona do Atmegi128 bez użycia Maxa232 tylko bezpośrednio, dodatkowo włączam diodę Zenera która ogranicza...
Dodaj na początku programu następujące dyrektywy: $regfile = "m16def.dat" $crystal = 7372800 $hwstack = 128 $swstack = 128 $framesize = 128 Rozmiary poszczególnych stosów ustaw według własnych potrzeb. Wpisz również odpowiednią częstotliwość zegara taktującego (rezonatora, wewnętrznego oscylatora, itp.). Pozdrawiam...
Witam wszystkich Ostatnio zbudowałem sobie przedwzmacniacz z cyfrowym potencjometrem PGA2311, który steruję za pomocą magistrali SPI z mikrokontrolera ATMEGA128. Problem w tym, że po napisaniu programu w Bascomie regulacja głośności nie odbywa się tak jak powinna, a mianowicie nie są regulowane równomiernie obydwa kanały. Dane do potencjometru wysyłam...
Dzięki wszystkim za opinie :D W odpowiedzi na wasze pytania, płytki robię metodą termotransferową z użyciem folii, projektuje w Eagle'u, serwa tak jak ktoś napisał na allegro chodzą po 23zł i właśnie na allegro je kupowałem, niezła cena jak za takie małe i dość silne serwo. Tolerancja odstępu puknięć układu jest wystraczajaca, na początku opracowałem...
Mam problem z uruchomieniem wyświetlacza graficznego bazującego na KS0108. Układ połaczony jest wg schematu poniżej. Atmega zaprogramowana jest standardowym samplem ks108.bas dołączonym do bascoma. Układ zasilany jest napięciem bezpośrednio z portu USB. Tak wygląda stan pinów po uruchomieniu: /CS1 - H (3,8V) /CS2 - H (3,8V) RST - L R/W - L RS - H E...
Witam Problem polega chyba na złej bibliotece... otóż chcąc wyświetlić na KS108 (128x64) regfile = "m8def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 $lib "glcdKS108.lib" Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portd , Ce = 1 , Ce2 = 6 , Cd = 4 , Rd = 3 , Reset = 2 ,...
Znalazłem taki analizator widma akustycznego: I mam pytanie: Znalazłem taki LCD graficzny ale jest inny sterownik LCD wiec musze pisać program od nowa. Czy jest ktoś mi w stanie pomóc przerobić ten program na ten właśnie LCD?? Znalazłem kod źródłowy :) Więc co muszę zmienić, aby go uruchomić na LCD z allegro? 'Analizator widma z wyswietlaczem graficznym...
Znalazłem kod źródłowy :) Więc co muszę zmienić, aby go uruchomić na LCD z allegro? 'Analizator widma z wyswietlaczem graficznym 'Marcin Wiązania 'marcin(at)wiazania(at)ep.com.pl $prog &HFF , &HEF , &HD9 , &H00 ' generated. Take care that the chip supports all fuse bytes. $hwstack = 80 'ustawienie stosu $swstack = 80 'ustawienie stosu...
Niestety nie zadziałał ten program :( Dziękuje bardzo za poświęcenie czasu reaguje tylko kierunek, ale niestety z dużą ilością przekłamań Spróbowałem znowu z nową instrukcją encoder w nowej wersji bascoma $regfile = "attiny2313.dat" $crystal = 4000000 $baud = 19200 ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack...
...może jakaś sugestia please ;) Zapomniałeś o $hwstack = 32 $swstack = 32 $framesize = 16 Wartości w/w parametrów mogą być inne(czytaj:większe) , jeśli "obrabiasz " długie stringi. Poza tym , komplikujesz niepotrzebnie proste rzeczy(czytaj:nie "wgryzłeś się" w help-a) ;) Function Scanstrsp() Local I As Byte I = Instr(text , Sep) 'zwróć...
Witam Atmega8 + kwarc 16MHz i LCD oraz pare przyciskow i Max485 Jak ktos nacisnie ktorys to zmienia tryb i zlicza czasy poszczegolnych trybow. Otoz czasem po paru godzinach Atmega staje (na LCD przestaja leciec sekundy). Czytajac forum zauwazylem ze nie mam podlaczonego AVCC do +5V czy to moze byc to? program $regfile = "m8def.dat" $crystal...
I nie rozwiązałem tego problemu.... A jak u Ciebie wyglądają , poniższe parametry :?: $hwstack = ?? $swstack = ?? $framesize = ?? Jeśli wartości są mniejsze niż ... $hwstack = 48 $swstack = 24 $framesize = 24 ... , to Twój przykład z 1 postu , działał nie będzie. Przy mniejszych wartościach , już na poziome konfiguracji TCP/IP , symulator "twierdzi"...
Hej. Postanowiłem poskładać kit z Nowego Elektronika "Stop złodzieju" 238-k Kiedy przyszedł czas na programowanie µprocka okazało się że nie ma wsadu na stonce gazety. Przystąpiłem do przepisywania wszystkiego co było umieszczone w gazecie do Bascoma. Podczas próby kompilacji wywaliło taki błąd: Error : 31 Line 47 Invalid datatype ,in...
Witam, proszę o pomoc: buduje sterownik na zasadzie włącz/wyłącz, to akurat nie jest w tym momencie ważne :), ale przejdźmy do szczegółów - ma pobierać dane z 4 czujników DS18B20, sam odczyt działa poprawnie, problem zaczyna się w menu, do kroku "2.2" czasem "2.3" wszystko działa poprawnie, lecz z "2.2" i naciśnięciu 'dalej' (lub "2.3") przeskakuje...
Koledzy bardzo dziękuję za odp. jednak muszę przyznać, że każdy ma rację. Ja piszę w bascomie ponieważ go lubię i nie piszę programów zaawansowanych. Ja tylko prosiłem o pomoc z com-em. Zobaczę w helpie jak nie dam rady to jeszcze będę prosił o pomoc. Dodano po 1 Panowie jednak coś mi nie działa, proszę o pomoc. Program który jest w uC - nadawanie kodu...
Dzięki Sind. Utwierdziłeś mnie w przekonaniu że mój LCD Jest uszkodzony i zabrałem się za oglądanie ustrojstwa. Ponieważ nie reagował na kontrast stwierdziłem, że prawdopodobnie nie dociera do niego napięcie regulacyjne. Patrząc po ścieżkach napotkałem na tranzystor. Szybki pomiar multimetrem potwierdził uszkodzenie tranzystora. Wymiana załatwiła sprawę....
Zamieniłem Atmega8 procesor Atmega168 i po resecie watchdoga, program się zawiesza procesor nie reaguje na zewnętrzny reset dopiero po odłączeniu zasilania i włączeniu ponownym układ działa poprawnie do ponownego resetu watchdoga. Czy może ktoś się z tym uporał, bo ja wypróbowałem już wszystko, co mi przez parę tygodni przyszło do głowy... Zamieszczam...
Witam, Mam jeszcze taki problem że licznik impulsów na AVRze nie działa. zauważyłem jednak że wszystko się liczy gdy zamiast impulsów +5V dochodzą impulsy zwarcia do masy czyli daję na PINB.0 sygnał GND i już tam się liczy. Co mam zmienić w programie by reagował nie na masę tylko na +5V? :( Pozdrawiam oto mój kod: '---------------------------------------...
Witam, Mam taki problem: licznik impulsów na AVRze nie działa. Zauważyłem jednak że wszystko się liczy gdy zamiast impulsów +5V dochodzą impulsy zwarcia do masy czyli daję na PINB.0 sygnał GND i już tam się liczy. Co mam zmienić w programie by reagował nie na masę tylko na +5V? :( Pozdrawiam oto mój kod w Bascomie: '---------------------------------------...