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. Zrobiłem taką animację do M168,jest z tym problem. $regfile = "M168def.dat" ' use the Mega168 $crystal = 2000000 Config Portc = Input Portc = &B0000000 Config Portd = &B11110000 Portd = &B00001100 $sim Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0...
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...
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...
Zapoznaj się z $hwstack, $swstack i $framesize.
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...
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 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 =...
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...
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, 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...
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 :/
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...
Witam! Mam problem z jednoczesnym użyciem Timera1 i funkcji RC5 która jak wiadomo dziął na Timerze0 (kod napisany na ATTINY2313) Jeśli rozdzielę kod na dwa czyli: 1. Wykorzystuje timer1 do sterowania serwem - wszystko działa (bez funkcji pilota na RC5) 2. Jeśli zaprogramuje attiny2313 aby używało tylko funkcji RC5 (pilota) i przy okazji korzystam z...
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
Na razie nie mam jeszcze własnego programu zacząłem od prób na twoim programie. Interesowała mnie szybkość odczytu z karty, ten sam kod kompiluje pod M8 i M32. W programie zapisuje jeden sektor i potem odczytuję 365 sektorów. Zwiększyłem hwstack bez zmian Nie próbowałem jeszcze zejść do 1MHz (nie zdążyłem kupić), ale na płytce od Atmega8 z tym samym...
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]...
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...
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
Kolego ostag . Powiedz mi , dlaczego "odświeżasz" wyświetlacz z częstotliwością aż 7812.5 Hz :?: 60-100Hz na 1 cyfrę wystarczy , a u Ciebie wychodzi 1562.5Hz na cyfrę :?: Marnujesz niepotrzebnie "moce przerobowe" proca ;) Czy tylko to co widać w kodzie , wysyłasz RS-em :?: Ustaw stosy na $hwstack = 48 $swstack = 32 $framesize = 32 Piotrek
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...
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...
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 ,...
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...
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...
Zamieszczony wcześniej kod jest sprawdzony - działa na atmega8 Również po pomyfikacjach portów działa na attiny2313 i zajmuje 65% flash, wiec jest jeszcze miejsce na jakieś "wodotryski". Używam Bascom demo w wersji chyba najnowszej: 1.11.8.7 build 001 MS windows XP SP-2 Program pod attiny2313 na płytce uruchomieniowej ZL11AVR (Płytka ZL2AVR pod megę...
K_o_n_r_a_d widzę że się dobrze znasz:) Tak AVR 128 ma 2 uarty. Wykorzystuje jeden zerowy do komunikacji z komputerem. 2 nie jest wykorzystany ( właśnie przeczytałem w instrukcji) - są to linie tylko RxD i TxD tak? Chcę mieć przetwornik oddalony o 200 metrów, więc chcę zrobić na układzie Atmega8535 z rsr232 na rs485 i dalej znów rs232 i do mojego Atmega128....
$regfile = "m128def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 32 $framesize = 32 Dim A As Byte Dim Message As String * 16 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2 'konfiguracja linii mikrokontrolera‚ do których dołączono wyświetlacz...
$regfile = "attiny2313.dat" $crystal = 10000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.2 'konfiguracja podłączenia LCD Config Lcd = 16 * 2 Config Timer1 = Counter , Edge = Falling , Noise Cancel = 1 , Prescale = 1 Config Timer0 = Timer...
witam ja do obsugi panela dotykowego uzywam takiej oto proceduru: $regfile = "m32def.dat" $crystal = 7372800 $hwstack = 64 $swstack = 32 $framesize = 64 Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Portd , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8 Dim X As Word Dim Y As Word Config Adc = Single , Prescaler...
Witam nie działa mi zegarek. Co zrobiłem źle lub co mogło się stać. Nic się nie wyświetla na LCD poza jakimuś bzdurami (ale się nie odświeżają - tak jak by się procek zawieszała albo I2C. W załączniku schemat mojego układu a poniżej listing mojego testu który nie odczytuje mi czasu: $regfile = "m16def.dat" $crystal = 8000000 $baud = 19200...
OK chłopaki to ja mam tak jeden układ MASTER i reszto układów to SLAVE. Z układu Master chce wysyłaś rozkazy do pozostałych układów które ciągle nadsłuchują transmisje. Każdy z nich odbier ten sam kod i po sprawdzenie czy adres jest równy z jego adresem wykonyje dany rozkaz. Mój układ Slave ma taki kod jak go zmienić uwzględniając wasze doświadczenie....
To bez znaczenia bo i tak wywala sie nawet na 2^2 :) Nie czytasz co piszą inni - stos :D Wklej na początku kodu ... $hwstack = 64 $swstack = 64 $framesize = 64 ... Piotrek
ok. jak tylko będę w pracy wkleję kod. teraz tylko napisze, iż mam bufor kołowy, wykrywam w moim przypadku znak 155 (przyzwyczajenia z transmisji w Atari 800) jak sie pojawi sprawdzam 3 bajty adresu i jeżeli jest ok ustawiam flagę i wskaźnik na początek bufora. procedura nie jest odporna na nadpisanie bufora!!! lecz u mnie sie to nie może zdarzyć. oto...
Absolutnie nie chcę się nikim wysługiwać , po prostu po utworzeniu kodu: Przyczyną krzaków na LCD , sa najprawdopodobniej zbyt małe wartości w: $hwstack = 32 $swstack = 32 $framesize = 32 Wklej te 3 linijki na początek swojego kodu i sprawdź czy pomogło. Piotrek PS Znajomość swojego kompilatora , to moim zdaniem 25% sukcesu "programistycznego" :D
dla kwarca lub oscylatora 8MHz i preskalera = 64, będziesz miał PWM 8bitowy z częstotliwością 15,625KHz i wszystko powinno chulać Zakładając , że zmienna Licz jest 8-bitowa , to mi wychodzi , że okress takiego PWM-a jest < 2Hz :!: Ale rozumiem , późno było ;) ... ale na pewno przenieś rezystor na drugą stronę Hmmm... a jaka to różnica :?: Czyżbyś...
Teraz ja tez "miele " ten kod I mimo szczerych checi nie moge uzyskac dobrych rezultatow... Poprawnosc polaczen sprawdzilem parokrotnie Modol zasilam z 3,3V wraz z mega8L wewnetrzny rc ustawiony na 4mhz '$sim $regfile = "m8def.dat" $crystal = 4000000 ' $hwstack = 32 $swstack = 32 $framesize = 40 $baud = 19200 '########### SPI Config Spi =...
Witam, próbowałem przeanalizować ten kodzik ale naprawdę , uwierz - jest to baardzo ciężkie. Robisz narazie wszystko niezgodnie z zasadami programowania. Rozumiem oczywiście, że dopiero się uczysz ale postaraj się przestrzegać kilku zasad o których za chwilę a będzie nie tylko tobie łatwiej analizować napisany kod ale co najważniejsze szukać błędów....
Jak w temacie zmieniłem wyświetlacz z 16x2 na 16 x 4 i pojawił się problem. Mianowicie nie mogę ustawić prawidłowo kontrastu tzn jak popatrzeć pod dużym kątem to wszystko się wyświetla prawidłowo natomiast jak patrzyć na LCD normalnie efekt jest taki jak by kontrast był źle ustawiony (a na pewno nie jest bo działało ) myślę że to problem wysterowania...
Poniższy temat (w odróżnieniu od 99.9% znajdujących się w tym dziale) jest krótkim przewodnikiem opisującym w jaki sposób uruchomić wyświetlacze oparte na sterowniku OKI (MS)C1937-01. Od pewnego czasu spora ilość wyświetlaczy (opartych na tym sterowniku) jest do zdobycia na portalu allegro i zapewne poniższy tekst ułatwi zabawę z tymi cudeńkami. Sterownik...
Dr_DEAD -> tak mója najprostszy program to : $regfile = "ATtiny2313.dat" $crystal = 4000000 $hwstack = 32 $swstack = 8 $framesize = 24 Config Pinb.0 = Output Led Alias Portb.0 Reset Led Do Waitms 100 Toggle Led Waitms 100 Loop i oczywiście wystarczy, że wyłączę BOD i program "cudownie" rusza. Ale jak mówię tylko przy 4MHz bo już przy 8MHz...
...Może mi ktoś podesłać działający program - może mam uwalony zegar? Ależ Twój program jak najbardziej działa, tylko masz źle skonfigurowany kompilartor. Na początku kodu, dodaj 3 "magiczne zaklęcia" i powinno działać. Np. $hwstack = 32 $swstack = 24 $framesize = 32 Piotrek PS dawid512 :arrow: Widzisz błędy tam, gdzie ich nie ma.
Skoro jedna komorka pamieci eeprom ma dlugosc Byte, to maksymalna liczba jaka mozesz wpisac jest &B11111111 czyli 255 ... Odpowiem pytaniem na zapytanie ;) Skoro jedna komórka pamięci RAM ma długość 8 bitów, to jakim cudem Bascom oraz inne języki programowania, potrafią zapisać np. liczbę 2147483647 w zmiennej Long :?: Mało :?: Bascom potrafi w eepromie...
Zmienilem na takie cos i wogole nic nie wysyla, wiec cos gdzies sie zatrzymuje.. $regfile = "attiny2313.dat" $crystal = 8000000 Config Pind.5 = Input Config Portd.1 = Output $hwstack = 32 $swstack = 10 $framesize = 40 $baud = 300 Config 1wire = Pind.5 Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single...
Witam. Ja używam takiego kodu i PCF pracuje poprawnie. kod $regfile = "attiny2313.dat" $crystal = 4000000 $baud = 9600 $hwstack = 32 $swstack = 8 $framesize = 24 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Config Sda = Portd.6 Config Scl = Portd.5 Dim...
Powinieneś sobie sam "ręcznie" ustawić takie parametry jak: $hwstack = 32 $swstack = 8 $framesize = 16 bo to od nich m.inn zależy ile Bascom będzie zjadał pamięci RAM na Stos, ramkę itp
Linijka: If C = 1 And D = 1 And E = 1 And F = 1 Then Goto Ok "sama" się chyba naprawiła Tak wygląda kod, na własne potrzeby, a raczej z powodu błędów, musiałem dodać linijki wyświetlające jaką cyfrę wciskam, później oczywiście nie powinno tego być Program działa, do momentu gdy odczytaną z klawiatury zmienną B ma być przypisana do C,D,E,F Wgrałem program...
Witam Mam banalny program, po włączaniu zasilania startuje licznik czasu, program prawie działa nie do końca dobrze. Atmega8 steruje wyświetlaczem LED (segmenty) z portu D, poszczególne cyfry od najbardziej znaczącej W4,W3,W2,W1 sterowane z portu B, z portu B jest też sterowanie jasnością wyświetlaczy (PWM) i buzerem. Ogólnie licznik liczy ale buzer...
Witam! Programując ten kontroler mam poważny problem. Funkcje czasowe (waitms) nie działają tak jak trzeba. Program w stylu: do dioda = 1 waitms 500 dioda = 0 waitms 500 loop powoduje miganie diody w bardzo nie regularnych odstępach czasu - widać to "gołym okiem". Na dodatek trudno nazwać te odstępy "pół sekundy". Sytuacja jest podobna przy różnych...
Witam. Jestem zwolennikiem bascoma avr. Mój problem jest w poprawnym zainicjowaniu LCD od Noki 6100 (PCF8833) z Atmega128. Obecnie wyświetlam małe bitmapy (.BGC) i tu mam problem gdyż wyświetlany obrazek jest odwrócony ,tak samo jest z wyświetlanym tekstem lustrzane odbicie. Współrzędne piksela (Pset 1 , 1 , Red) znajdują się w górnym prawym ekranie....
Procesor to ATtiny2313. Nie ma sprzętowego TWI, więc pozostaje programowe. Przy okazji dodam, że piny są zwarte AB na płytce. Zwory przestaw tak: J1=BC J2=BC Hmm, wyświetla No device! :( A to oznacza kłopoty ;) I żeby było wszystko jasne, to skonfiguruj w kodzie magistralę I2C i inne rzeczy :-P Np. $Crystal = 1000000 ' wpisz właściwą wartość $Hwstack...
Witam Chcę zaimplementować do mojego procka wysyłanie danych po RS'ie ( chodzi tylko o wysyłanie zgodne z standardem RS232 8 bitów danych, brak parzystości, 1 bit stopu, prędkość konfigurowalna). Czy ktoś ma jakiś przykładowy programik jak zaimplementować w programie alby jeden z pinów procesora pracował jako TX. Rozumiem że trzeba jakieś timery uruchomić...
I2cwbyte &B1010_0000 To zapis binarny dopuszczalny przez BASCOM (spotkałem w kilku przykładach), można też oczywiście zapisać adres szesnastkowo i dziesiętnie (160). Rozumiem Twoje zdziwienie, bo sam tak zareagowałem... ale kompiluje się bez problemu. Poniżej zameszczam zmodyfikowany program... jednak też nie działa prawidłowo... niektóre liczby wyświetlane...
Próbowałem podłączyć ATMEGE8-16PU do telefonu komórkowego SIEMENS S35 za pomocą sprzętowego UART i poniosłem klęskę. Nic nie działa, próbuję wysłać na telefon prostą komendę wybrania numeru i nic się nie dzieje. Może troszkę więcej szczegółów. Mikrokontroler jest podłączony do telefonu wg poniższego schematu: Do ATMEGA wgrałem następujący kod: $regfile...
A może: $HWStack = 32 $SWStack = 32 $FRAMESIZE = 32 ?
emulator ruszył błędnie obliczyłem sume crc8 crc = crc8(mytemp(1),8) a miałem mytemp 8 na 8 master nie odbierał danych bo suma kontrolna sie nie zgadzała wrzucam kod prosze paniętać że autorem jest Vladimir I. Yershov Program jest jeszcze do poprawek to tylko prowizorka jest 1:08 w nocy i chciałem sie podzielić radoscią $regfile = "M8DEF.DAT" $crystal...
Problem rozwiązany 1. na co nie zwrociłem uwagi to brak odpowiedniej konfiguracji UART $regfile = "m8def.dat" $crystal = 8000000 $baud = 4800 $hwstack = 160 $swstack = 40 $framesize = 120 Config Serialin = Buffered , Size = 200 2. Sprawdziłem 11 szt atmegi8 i ani jedna nie działała na PORCIE C!!! zmieniłem na PORT D, i działa idealnie: Open "comd.2:4800,8,n,1"...
Wiec tak: Twój program wrzuciłem do attiny13, pod wyjścia podpiąłem 3 oddzielne diody. Efekt - szybko mrugające diody, żadnego płynnego przejścia między nimi, 1 i 0 :) Znalazłem projekt twojej lampki, masz tam po drodze trochę więcej rzeczy niż mój rezystor i dioda, może dlatego. Fusebitów nie ruszałem. Co do samego działania - za bardzo nie rozumiem...
'******* procek ******* $regfile = "m32def.dat" $crystal = 8000000 $hwstack = 50 $swstack = 50 $framesize = 50 '******* lcd ******* Config Lcd = 24 * 2 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0 Dim Menu As Byte '****** przycisk ****** Config Pinb.2 = Input Set Portb.2...