Przykład z Bascoma. Przypatrz się, gdzie popełniłeś błąd. $hwstack = Twoja wartość $swstack = Twoja wartość $framesize = Twoja wartoś ć
1. Jeśli używasz czyjegoś kodu, bądź łaskawy nie wycinać z niego informacji o licencji i prawach autorskich. '=======================================... '= MAX7456 Video overlay Demo = '= By EvertDekker.com 2009 = '= Created with Bascom-Avr: 1.11.9.3.001 license = '= No copyright for private use = '= Version 1.1 = '=======================================...
Jeśli założyć, że przycisk podpięty do PORTD.1 i jeśli założyć, że dobrze zrozumiałem Twoją idee programu, bo namieszałeś okropnie, to... $regfile = "m8def.dat" $crystal = 1000000 Led Alias Portb.0 Config Pinb.0 = Output config Pinb.0 = input : Portb.0=1 Do if Pinb.0= 0 then Set Led Waitms 400 Reset Led Waitms 700 else Set Led Waitms 1000 Reset Led...
Zajętość flash`a z 46% na 38% :P Tak bym się nie bawił, ale w Tiny13 to ma znaczenie bo można coś jeszcze upchnąć ahahaha :D [syntax=vbnet]$regfile = "attiny13.dat" $crystal = 9600000 $hwstack=20 $swstack = 8 $framesize = 16 'Declare Sub Zmiana Config Pinb.2 = Input Set Portb.2 Config Portb. 4 = Output Config Servos = 1 , Servo1 = Portb.4 , Reload =...
Zmiana $crystal nic nie daje,jeśli chodzi o program inicjacji to ma być pisany w bascom czy w asm,bo asm nie znam
Mówisz masz na timerze. $regfile = "m16def.dat" $crystal = 1000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Timer1 = Timer , Prescale = 1024 Enable Interrupts Enable Timer1 Start Timer1 On Timer1 Odmierz_czas Const T = 6942 Config Portb.1 = Output : Portb.1 = 1 : Led Alias Portb.1 Config Portb.2 = Input : Portb.2 = 1 :...
Witam $crystal to chyba tylko informuje program jak taktowany jest procesor a nie przestawia jego częstotliwości, wpisz 8000000 i powinno zadziałać prawidłowo.
W jaki sposób chcesz kolego je zmieniać? Małe na duże litery i odwrotnie czy coś ambitniejszego? [syntax=vbnet]$regfile = "m48def.dat" $crystal = 8000000 ' 8 MHz crystal Dim X As String * 8 Dim Temp(8) As Byte At X Overlay X = "bla" Print X Temp(2) = 70 Print X End[/syntax]
Zmiana stanów led po przytrzymaniu przycisku ma jedną zaletę, otóż jeśli chcę szybko przejść do stanu gdzie świecą się oba ledy. W niczym mi to nie przeszkadza. Jeśli tak, to nie ma problemu. Możesz jeszcze zebrać opóźnienia w jednym miejscu: [syntax=basic4gl] $regfile = "attiny13.dat" $crystal = 1000000 Config Portb = &B111100 Portb = &B000010 Dim...
Na tej płycie masz LED-y. Sprawdź na nich. Sprawdziłem Twoje ustawienia -ale w Bascomie. Na takiej samej płytce. Wszystko chodzi. Wygląda to na układ a nie program. Poniżej program-napisałem w sposób zrozumiały dla C. $regfile = "M8def.dat" $crystal = 8000000 'Config Lcd = 20 * 2 'Config Lcdpin = Pin , Db7 = Portc.0 , Db6 = Portc.1 , Db5 =...
No to tak. U mnie pamięć grafiki w LCD zaczynała się od 768. Stąd taka stała w programie. Wcześniej (od 0) była pamięć textu. Pixele są rysowane poziomo. Czyli każdy bajt reprezentuje 8 pixeli jako pozioma linia. I teraz dość nieprzyjemna rzecz. Mianowicie tryb wyświetlania zależy od trybu textu. Jak wybierzesz tryb 8-mio bitwy to każdy bajt będzie...
Wpisywanie $CRYSTAL bez rzeczywistej zmiany taktowania procesora będzie powodować, że wszelkie opóźnienia i obliczenia kompilatora dotyczące liczników nie będą zgodne ze stanem faktycznym. GETRC5() korzysta aktywnie z licznika TIMER0. Tak manewruje wartością wpisaną do rejestru licznika oraz preskalerem by otrzymać jednakowe odcinki czasu zliczane później...
Witam. Składam sobie ta przejściówkę a niestety nie mam na stanie (w domu:) kwarcu 12mhz. Czy da się coś gdzieś w kodzie pozamieniać żeby działało na innym, może być 8mhz, 6mhz. Jeśli tak, czy jest to zmiana 'kostetyczna' tak jak w bascomie '$crystal =xxx' czy trzeba tutaj (c) bardzo grzebac sie w kodzie i lepiej poczekac do poniedziałku i kupić ten...
Witam ! Oto program napisany w Bascom AVR na ATtiny2313. Myślę zę sobie poradzisz ze zmianą na Megę8. Odczytuje on Adres i Rozkaz kodu Rc5 i wyświetla na wyświetlaczu LCD. $regfile = "attiny2313.dat" $crystal = 10000000 Config Lcdpin = Pin , Db7 = Pb.2 , Db6 = Pb.3 , Db5 = Pb.4 , Db4 = Pb.5 , E = Pb.6 , Rs = Pb.7 'Config Lcd = 16 * 1a Config...
Witam. Pomyślałem że, dopiszę się do rozmowy o sterowaniu serwami :D . W BASCOM jest gotowa obsługa serw która wygląda tak: $regfile = "m16def.dat" $crystal = 8000000 Config Servos = 1 , Servo1 = Portd.5 , Reload = 10 Enable Interrupts Dim I As Byte , Ruch As Byte Do If I < 130 And Ruch = 0 Then Incr I If I = 130 Then Ruch = 1 End If If...
chyba mamy trop 'Odebranie jakiejkolwiek informacji z modułu GPS $regfile = "m16def.dat" $crystal = 8000000 Config Portd = Output Portd.0 = 1 Do Toggle Portd.0 Wait 1 Loop dioda świeci się 7s, gaśnie na 7s... do programatora mam wpięty kwarc 8Mhz. Czy mam rozumieć że Atmega używa wbudowanego zamiast niego? Edit: Wszystko jasne - AVRdude programował...
Witam sprawdź ten kod co prawda są inne numery portów i inny procek ale jak zmienisz powinno działać. Problem jest jeden w momencie jak naciskasz przycisk i zmieniasz końcówkę na WYJŚCIE to stan tego pinu Musi być (0) Niski , żeby nie zrobić zwarcia. '$sim $regfile = "attiny2313.dat" $crystal = 11059200 $baud = 9600 enable interrupts 'włącz...
Witam. Mam pytanie. Ja mam kwarc 12 MHz i jak wyliczyć te liczby i czy coś zmieniać w prescale. Dziękuję za odpowiedz i pozdrawiam. $crystal = 12000000 i oczywiscie zmiana sposobu taktowania i czestotliwosci w FuseBitach jezeli masz ATmege.
ale nie sorki, nie wyświetla test1 i test2 tylko jakieś dziwne znaki i przesuwają się Hmm takie "krzaczki" pokazują się zazwyczaj podczas programowania układu (jeżeli programujesz uC bez odłączonego LCD) lub też co bardziej prawdopodobne zła jest ustawiona (w programie) częstotliwość taktowania. Jeśli masz użyty kwarc 10MHz to zmień w kodzie Bascom-a...
Nie no proszę nie w ten sposób. Jak napisałem rozumiem co mówicie ale widzę też jak zachowuje się układ. I sam widziałem jak zmiana 12 czy 16 MHZ w dyrektywach robiła różnicę. Jak jednak widzicie mimo pewnego braku logiki działa jak oczekiwałem. Sam również już spotykałem się z innymi niedoróbkami BASCOMa np. w definicjach procków (właśnie 644p) Na...
Dałeś radę - prawie dobrze i nawet powinien działać... chociaż nie do końca jak byśmy tego chcieli ;) Parę moich poprawek: $crystal = 1000000 Config Pind.0 = Input Config Pinb.1 = Output Config Pinb.2 = Output Portd.0 = 1 Portb.1 = 0 Portb.2 = 0 Dim Dioda As Byte Dim Licznik1 As Byte Licznik1=0 Dioda = 0 '------------ Do Waitms 10 If Dioda > 0 Then...
Zastosowałem się do instrukcji i dalej nic mi nie wychodzi.Przepraszam ,że zawracam głowe ale ja dopiero się uczę i to moje pierwsze pisanie. Dodano po 7 Teraz wygląda to tak: $regfile = "2313def.dat" $crystal = 800000 Config Pind.0 = Output Config Pind.1 = Output Config Timer0 = Timer , Prescale = 256 On Timer0 Odmierz_1s Dim Licz_8ms As...
[syntax=bascom] $regfile = "attiny2313.dat" $crystal = 4000000 Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B11111100 Portd = &B11111111 Dim Jednostki As Byte , Dziesiatki As Byte , Zmiana As Bit , Pomoc As Byte Jednostki = 0 Dziesiatki = 0 Pomoc = 0 Do Waitms 10 Toggle Zmiana Incr Pomoc If Pomoc = 10 Then Pomoc = 0 Incr Jednostki End...
Witam Trochę opóźniona odpowiedź bo życie rodzinne się o mnie upomniało :) Dziękuje bardzo za fragment kodu który w tej chwili próbuje ogarnąć mam tylko takie wątpliwości Co to jest za zmienna nowy_klik ?? skoro ma przypisaną literę (nowy_klik=A) to według książki powinienem zadeklarować DIM nowy_klik As STRING to samo tyczy się poprzedni_klik Rozumiem...
Zaczynam dopiero programować i mam problem z TIMER = COUNTER . Chce by o zliczeniu ilości impulsów procesor wykonał np: zmianę stanu portu lub coś innego . To jest program : [syntax=bascom] $regfile = "m32def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1...
Szybko zajrzałem do noty PCF8583 i tam jest napisane, ze kiedy nie używasz funkcji alarmu to stan na pinie INT zmienia się na przeciwny co 500ms. Tak wiec impuls jest na tyle długi ze spokojnie można go traktować jak zwykły przycisk naciskany co sekundę. [syntax=vbnet]$regfile = "m32def.dat" $Crystal=8000000 $hwstack = 64 $swstack=32 $framesize = 128...
Generalnie, W Bascomie obsługa RC5 pozostawia wiele do życzenia dlatego też Mark w najnowszej wersji ma wprowadzić obsługę RC5 na przerwaniu ICP ("prawdziwie" w tle) według poniższego kodu, który udostępniam i polecam: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1...
Tamten program ma błędy. Napisałem nowy, ale dalej jest to okrężna droga do celu. Zrobiłem symulację i działa niby. Ale... : - zamiast przycisków musiałbym użyć chyba normalnych włączników - zmiana trybu działa tylko na początku trybu (jeśli program czeka to wtedy przycisk nie działa) - nie wiem dalej jak zrobić regulację szybkości migania - ogólnie...
Witam wszystkich Może ktoś mi pomoże bo już wymiękam. Ogólnie pracuje na C ale mam jeden projekt w BASCOM który chcę skończyć i nie mam pojęcia co jest nie tak. po skompilowaniu prostego programu wyskakuje mi taki błąd: $large $regfile = "80535.dat" $crystal = 10000000 ' CPU clock frequence Declare Sub Zmiana(m_n As Byte , Mx As Byte)...
Witam wszystkich, mam problem potrzebuję sterować stanem pinu lecz nie potrafię rozgryźć co jest nie tak w kodzie. Poniżej kod w BASCOMIE : [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 Config Portb.1 = 1 Portb.1 = 0 Config Portd = &B11110000 Portd = &B11011111 Config Portc = &B11111110 Portc = &B11111001 Tccr1a = &B11110010 Tccr1b = &B00011011...
Witam. Mam pewien problem a mianowicie po wgraniu najprostszego kodu na migającą diodę: $regfile = "attiny2313.dat" $crystal = 4000000 Do Set PORTD.6 Wait 1 Reset PORTD.6 Wait 1 Loop End Dioda nie miga z częstotliwością 1Hz tylko ok. 1 raz na ok 6sec. Zmiana fusebitów nic nie dała. Mikrokontroler pracuje na wewnętrznym oscylatorze. Dodam tylko,...
Witajcie, Sprawdzałem z trzema wersjami Bascoma (1.11.8.3, 1.11.9.3, 1.11.9.8 -wszystkie oryginalne) i sam nie mogę uwierzyć co się dzieje. Otóż w samym układzie jak i zgodnie z symulacją nie następuje zmiana stanów portu. Czy u Was jest tak samo??? I o co tu chodzi??? Oto kod: $regfile = "m32def.dat" ' specify the used micro $crystal = 8000000 ' used...
Dziękuję wszystkim za pomoc, rozwiązaniem było zmiana fuse bitów - zmieniłem wewnętrzny oscylator na 8MHz i wszystko pięknie pokazuje. Kod gotowego programu dla kogoś kto miałby problem: [syntax=basic4gl]$regfile = "m8adef.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.0 , Db5...
Odświeżam bo zmiana czasu jest rozwiązana w Bascom-ie bezpośrednio na dowolnej ATMega. Nie potrzeba zewnętrznego RTC. [syntax=vbnet] $regfile = "m32def.dat" 'procesor $crystal = 11059200 $hwstack = 64 $swstack = 64 $framesize = 64 $lib "Datetime.lbx" Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.1 , Db6 = Portb.0 , Db7 = Portd.6 , E = Portb.4 ,...
Witam! Przypuszczam, że masz źle ustawione tzw. fuse bity. Domyślnie ATtiny2313 pracuje z wewnętrznym generatorem 8MHz i prescalerem 8, co daje w wyniku 1 MHz. W programie jest 4 MHz, można zmienić w programie na $Crystal=1000000 i zobaczyć co wtedy się bedzie działo. Dodatkowo, przy pomocy potencjometru wyregulować kontrast wyswietlacza. Powodzenia...
jest jeszcze jedna historia. Gdy tekst jest przesuwany w ostatniej linii to daje się zaobserwować zwalnianie przesuwania. Na początku jest szybko, potem gdy widoczny jest cały tekst jest wolno i gdy tekst się kończy to idzie szybko. Czego to może być wina? Przestawianie $crystal i zmiana FUSE nic nie daje. Widoczne to jest nie tylko na tekście, razem...
Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...
Witam Potrzebuję zrobić zegar na ATMEGA8535 i nie mogę uruchomić pracy asynchronicznej. Kwarc zegarkowy podłączony do XTAL1/2. Program wstępny poniżej. Analogiczny program (ze zmianą ASSR.5 = 1) dla ATMEGA88 działa poprawnie. Proszę o pomoc. Pozdrawiam Jacek Program napisany w "BASCOM AVR" [syntax=basic4gl][/syntax] $regfile = "m8535.dat" $crystal =...
Cześć. Mam taki problemik. Jest sobie program, który działa, tylko denerwuje mnie jedna rzecz. Po włączeniu zasilania serwomechanizm robi chaotyczny ruch. Wydaje mi się, że gdyby zapisywać po każdej zmianie i odczytywać na początku programu ostatnia wartość problem by zniknął, ale nie ma już pary pod kotłem. 96% pamięci zajęte. Piszę w Bascom. Kozystam...
Dzięki za odpowiedź! nie ma powodu, żeby nie była powtarzalna Czyli bez różnicy, którą wersję zrobię bo nic poza tym interwałem nie będzie. Zatem biorę się za zrobienie na gotowo i spróbuję dwie wersje; waitms i timer. Drążę prosty temat, bo ten wzorzec ma iść do GUM, oni sprawdzą, zapłacę, wystawią świadectwo, zaplombują i koniec grzebania. Zamierzam...
Witam Mam problem ze zmuszeniem licznika T0 w bascomie do pracy z częstotliwością większą niż 25kHz. $regfile="m8def.dat" $crystal="8000000" Config portd.0= output Config timer0=timer,prescaler=1 Enable interrupts enable timer0 start timer0 on timer0 nosna do loop end nosna: load timer0,1 toggle portd.0 return Program napisany...
Program kompiluje się prawidłowo na Atmega8. Kompiluje się także na ATiny2313 (należy usunąć linijkę: Config Serialout = Buffered , Size = 150) Ustawienia Atmega32: $regfile = "m32def.dat" $crystal = 8000000 -kwarc wewnętrzny 8MHz -wejście sygnału z odbiornika podczerwieni PD5 (OC1A) -wyjścia na przekaźnik i diody sygnalizujące PA1, PA2, PA3 skonfigurowane...
Fusebit A997 ustawiony na oscylator wewnętrzny 8Mhz , 0100 $regfile = "m8def.dat" ' DYREKTYWY DLA KOMPILATORA $crystal = 8000000 'OSCYLATOR 8MHZ Config Lcd = 16 * 2 'KONFIGURACJA TYPU WYSWIETLACZA Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.6 , E = Portd.1 , Rs = Portd.0 'LCD Config Clock = Soft 'KONFIGURACJA...
Zobacz jak ja to zrobiłem na Mega8 http://obrazki.elektroda.pl/8838731900_1... Program jaki zastosowałem korzysta z przerwania INT0 które po naciśnięciu klawisza wyprowadza procesor ze "śpiączki" , wysyła dane na IR i usypia go ponownie.Dla mnie takie rozwiązanie jest lepsze niż chwilowe zasilanie procesora poprzez diody. Poniżej wklejam...
Witam. Jak w temacie. Czy da się zaprogramować układ szeregowo na uniwersalnej podstawce z wlutowanym kwarcem 4MHz, jeśli docelowo układ ma być przeniesiony do innej płytki na której znajduje się kwarc 10 MHz i z taką ma pracować? Proceder ten raczej będzie jednorazowy. W docelowym projekcie po prostu nie da sie zaprogramować kontrolera, bo nie ma stosownych...
proszę dodaj komentarze żebym wiedział dokładnie jak to działa, pls A co tu jest do komentowania :?: , te kilka linii kodu :?: Wrzucilem do kompilatora i wysypal sie na tej linii: Dim Ab(6) As Byte At A Overlay "address out of bounds" A co konkretnie wrzuciłeś :?: To ... Dim A As String * 5 ...również :?: Pokaż swój kod. jaki mam wstawić adres w miejsce...
Witam. Mam problem z porgramemem w Bascomie, Do tej pory wszystko działało poprawnie aż do poewnego momentu zaczeły sie jakies anomalie. Mianowicie, program nie reaguje na zminanę na porcie A w podprogramie zamkanie_awaryjne, zamykanie i otwieranie, gdy wciskam przycski i wysyłam stam przez RS232 to odczytuje poprawnie ale w Do Loopp Until Kpz=1 nie...
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...
Jak nie ma migać, jak w pętli do-loop masz toogle. Ogólnie to twój program jest do kitu. W pętli do-loop sprawdź czy coś się zmieniło, jeśli tak, to skocz do podprogramu. Tam toogle, zapamiętanie nowych wartości, mała przerwa, aby nie migać i powrót. Napisałem w notatniku, ale chyba złapiesz o co chodzi. Spróbuj tak: $regfile = "m32def.dat"...
Problem typu jak wykonać np zmianę stanu na porcie w momencie kiedy otrzymujemy na INT0 lub INT1 zbocze narastające i zmiana trwa do momentu kiedy pojawi się zbocze opadające. $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.0 = 1 : Portb.0 = 0 Config Pinb.1 = 1 : Portb.1 = 0 Config Pinb.2 = 1 : Portb.2 = 0 Config Pinb.3 =...
Witam, od kilku dni męczę się z podobnym problemem (piszę w Bascomie AVR 1.11.8.3). Juz sam nie wiem co jest nie tak. Programator działa poprawnie. Mogę odczytać sygnaturę układu(ATtiny26) jak również załadowac program (przez ISP programer Dybkowskiego) plik hex (cykliczna zmiana stanów na wyjściach portów)- napisany celem sprawdzenia programatora i...
Pobawiłem się dziś chwilkę programowym PWM. Jest to rozwiązanie na 8 kanałów - 25 może być ciężko pociągnąć ale oczywiście możesz próbować rozbudować program i zmienić częstotliwość zegara czy wywołania przerwań. Pierwszy to demonstracja tworzenia w zasadzie dowolnie biegnącego światła - dane umieszczamy w liniach Data (wartości od 0 zgaszone do 8 max...
albo zle zrozumialem albo..... $crystal = 1000000 $regfile "attiny2313.dat" Dim Bylo As Byte If(portd.6 = 1) And(bylo = 0) Then Bylo = Portd.6 Wait 5 Set Portd.7 Elseif(portd.6 = 0) And(bylo = 1) Then Bylo = Portd.6 Wait 5 Reset Portd.7 End If end: wyswietla sie blad skladni "if" i "elseif" a w tym wyswietla...
chcę osiągnąć coś takiego: Declare Function Set_by_spi(co As String*10 , Wartosc*40 As String , Procesor As Byte) As Byte A co to za zmienna Wartosc*40 ? Poza tym zmiennych w parametrach się nie wymiaruje. Wszystko dlatego, że w przekazywaniu parametrów uczestniczą tylko wskaźniki do zmiennych. Nie użyłeś ByVal więc kompilator przekaże 16-bitowy...
Jak wyżej napisałem, przepraszam, że tutaj piszę, ale zależy mi na szybkiej odpowiedzi, a tym ogólnym temacie może się to zgubić. Natomiast odnośnie tego problemu nic co by mnie uspokoiło nie znalazłem. Mam gotową płytkę, programator chodzi i programuje procka na wewnętrznym oscylatorze. LCD pokazuje co trzeba, więc chciałbym zmienić ustawienia co do...
Witam. Postanowiłem spróbować nauczyć się kilku podstaw z mikrokontrolerami i programować je. Kupiłem zestaw EVBavr05 Propoxu z atmega16. Do zestawu dołączone zostały również przykładowe programy napisane w c. Próbuje w pisać w BASCOM, jednakże po poprawnym skompilowaniu programu, przeprowadzeniu symulacji i wgraniu na procesor nic się nie dzieje. Atmega...
Kod pochodzi z EP 4/2005 Problem polega na zmianie wyświetlanej wartości tylko z 1 na 2 przy kręceniu w jedną stronę. $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Portd = Input Dim Licz As Byte Dim Stan_enk...
Już nie mam więcej pomysłów...po prostu nie ogarniam tego. Czytam o zmiennych i jakoś nic mi z tego nie wychodzi a to przecież taki prosty programik do zrobienia. Pomóżcie koledzy ! Czego mi TU brakuje, że nic nie działa ?! [syntax=basic4gl] $regfile = "m644pdef.dat" $crystal = 16000000 Config Porta = Output '1=wyjscie Porta = &B00000000 Config...
Witam. Jestem na etapie czytania książki "Programowanie mikrokontrolerów AVR w języku BASCOM", kilka dni zajęło mi budowanie programatora i płytki z diodami do testowania Atmega8. Na pierwszy ogień poszedł oczywiście najprostszy program ze strony 87 - schemat ideowy układu na stronie 86. Mój problem polega na tym, że kiedy wgram bez błędów programik...
M.S Ty tak zawsze krzyczysz? Nie! Zawsze to żartuję! Teraz trochę wariacji na temat: '======================= $regfile = "m8def.dat" $crystal = 8000000 Dim Zmiana As Bit Config Pinb.3 = Input 'konf.portów Config Pinb.4 = Output Config Pinb.0 = Output Portb.3 = 1 'podciągnięcie tasty do + Portb.4 = 0 'jw., wył. LEDów Portb.0 = 0 Tasta Alias...
Witam, jest Atmega8. Niby wszystko dobrze podłaczone i skonfigurowane, ale coś jest źle bo na terminalu , po użyciu PRINT, widać krzaczki zamiast znaków. Kod[syntax=vbnet]$regfile = "m8def.dat" $crystal = 1000000 $swstack = 80 $hwstack = 80 $framesize = 40 $baud = 1200 Config Pind.1 = Output 'Tx Label1: Print "aaaaaa" Waitms 2000 Goto Label1[/syntax]...
Witam! Zrobiłem urządzonoko na uC Attin2313, które po naciśnięciu jednego przycisku zaświeca kolejno diody na porcie B; po pewnych bólach udało mi się. Teraz próbuje zrobić to samo lecz z wykorzystaniem przerwań... i mam małe kłopoty, a mianowicie napisałem sobie programik w Bascom'ie: $regfile = "ATtiny2313.dat" $crystal = 4000000 $baud =...
Dzień dobry! Próbuje napisać program który będzie mi powoli przyśpieszał silnik krokowy. Posiadam silnik 4,2nm i sterownik mikrokrokowy m545. Prędkością tego silnika steruje się podając jakąś czestotliwość od 1Hz do 200kHz. Napisałem program w bascomie na zmiane czestotliwości ale silnik nie startuje płynnie tylko tak jak na flmiku który dołączyłem....
Witam. Potrzebuje licznik co 1us sprawdzam poprawność działania na 1s i jakoś nie działa program do odliczania 1s działa : $regfile = "m8def.dat" $crystal = 8000000 Config Portd.1 = Output Config Timer2 = Timer , Async = Off , Prescale = 64 Dim Licznik2 As Integer On Timer2 Tim2_int Enable Timer2 Enable Interrupts Timer2 = 6 Licznik2 = 0 Do...
Poprawiłem nieco kod i wygląda tak :[syntax=vbnet] $regfile = "m16adef.dat" $crystal = 80000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Porta = Input 'port A jako wejścia Config Portb = Output 'port B jako wyjścia ' Config Portd = Input 'Port D Jako Wejścia Config Portc = Output 'port C jako wejścia Config Sda = Portc.1 'konfiguracja pinu...
Usunąłem ten wiersz i nadal brak odczytu - czekam do wieczora. P.S Jeśli możesz to podaj mi swój kod moze on zadziała. To jest przykład z Baskom8051 przystosowany do AVR-a. Twój chiba tyż :D U mnie działa bezbłędnie z CRC i bez CRC na pojedynczym DS1820 . ' ----------------------------------------... 'Author : Bojan Ivancic ' Email...
Witam Jestem nowy na forum i w temacie mikrokontrolerów. Mam płytkę Evb 4.3 v4 na procesorze Atmega644p (duży sprzęt jak na początkującego, ale lepiej kupić raz a lepiej). Czytałem trochę na temat programowania w BASCOMIE na stronie http://www.dioda.com.pl/forum/topics20/k... (kopiowałem sobie programiki...
Może wkleję cały kod : $regfile "m32def.dat" $crystal = 8000000 Dim Zmianna As Byte Dim Porownanie As Byte Config Portc.1 = Output Config Timer0 = Timer , Prescale = 1 Config Int0 = Rising On Int0 Zero Porownanie = 255 Enable Interrupts Enable Timer0 Counter0 = 255 Glowny: Set Portd.2 Start Timer0 Do Loop End Zero: Stop Timer0 Reset...
Nie działa nawet wariant z helpa, ten sam prog na MEGA8 śmiga bez problemów a w AtTiny ani śladu sygnału na którymkolwiek porcie. Ktoś może wie dlaczego? $regfile = "attiny2313.dat" $crystal = 8000000 Dim Togbit As Byte , Command As Byte , Address As Byte Command = 12 'kod włącz/wyłącz Togbit = 0 'wyzeruj toggle bit Address = 0 Do Waitms 500...
Witam Potrzebuję zbudować licznik który po zliczeniu określonej liczby impulsów wykona jakąs czynność. Jako generator impulsów wykorzystałem kontaktron magnes i filtr RC Początkowo napisałem program obrotościomierza i wszystko działa ok. A Teraz po małych zmianach nic nie zlicza. Wykorzystuję Timer1 $regfile = "m16def.dat" $crystal = 1000000...
OK, problem rozwiązałem, problem polegał na tym, że pilot ma przyciski "CD", "FM", "MW" i "AUX". Naciskając przypadkowo przycisk "FM" zmieniłem nadawane adresy i komendy, żeby wszystko wróciło do normy musiałem nacisnąć przycisk "CD". Jak widać więcej osób zgodziło się, że nie zrozumiało postu, więc przepraszam za nieścisły język. Program do testowania:...
Po pierwsze. Nie ma znaczenia czy przy konfiguracji portu użyjesz PIN czy PORT bo pod uwagę brany jest tylko numer pinu a operacja w obydwu przypadkach dzieje się na rejestrze DDR. Na dowód tego przedstawiam program i wygenerowany kod asm który jest identyczny dla obydwu zapisów. [syntax=vbnet]$regfile = "m32def.dat" $crystal = 8000000 $hwstack = 64...
Jak dla mnie to powinno być tak. Nie mam kompilatora pod rękom nie jestem pewien czy jest dobrze ale to mniej więcej to. Kod: $regfile = "m8def.dat" $crystal = 1000000 Config Portd = Input ' ustawiam we/wy Dim A As byte 'po co marnować pamięć A = 0 Config Timer0 = Timer , Prescale = 1024 Enable Timer0 Enable Interrupts Do If Pind.4 =...
trol.six kiedyś robiłem UART i wysyłałem duże ilości typu byte przy małym transferze , chodziło dobrze a tu dosłownie wysyłam 2 byte i problem....może dał byś jakiś przykład Zrobiłem tak i jakby trochę lepiej(zmiana zegara na 16MHz i Noss=0) nadajnik: [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 16...
Witam, Mam pewien problem z ATMEGĄ8 i serwem MG90S. $regfile = "m8def.dat" $crystal = 1000000 Config Servos = 1 , Servo1 = Portb.1 , Reload = 10 Config Adc = Single , Prescaler = 128 , Reference = Avcc Start Adc Dim W As Integer Config Pinb.1 = Output Dim I As Byte Dim I2 As Integer I = 150 Servo(1) = I Enable Interrupts Do 'W = Getadc(0)...
Usiadłem przy Atmedze328P i uruchomiłem SPWM dla Twojego przykładu. Zdefiniowałem następujące wyjścia sygnałów: - PD0 - sterowanie lewym dolnym MOSFETem mostka H - PD1 - sterowanie prawym dolnym MOSFETem mostka H - PD5 - sterowanie lewym górnym MOSFETem mostka H - PD6 - sterowanie prawym górnym MOSFETem mostka H Wyjścia PD5 i PD6 są niezmienialne, ze...
Witam programowałem atmege 128 - podłączenie ISP wg specyfikacji( PDI PDO SCK REset ogólnie dobrze bo 1 raz się zaprogramował) następnie przeszedłem do fusebits (programuje w BASCOM AVR demo) i tutaj wszystko ładnie ustawiłem o ile pamiętam zmieniłem na zewnętrzny oscylator 8MHz - (mam w układzie 8Mhz crystal) było ustawione Internal 1MHz, dodatkowo...
A więc do zapamietania: BYVAL w deklaracji podajemy tylko 1 raz Nie. :) byval , a druga jako byref . Ty masz inny błąd, nazwy przekazywanych zmiennych w deklaracji funkcji są takie same jak nazwy zmiennych globalnych. I tak naprawdę w funkcji operujesz na zmiennych globalnych, a nie na zmiennych przekazanych przy wywołaniu funkcji. Zrób sobie test,...
NIEDZIAŁA $regfile "m8def.dat" $crystal = 1000000 Dim A As Byte Config Pind.0 = Output Config Pind.2 = Output Config Pind.3 = Output Config Pinc.0 = Input Config Pinc.1 = Input Set Pind.0 Set Pind.2 Set Pind.3 Set Pinc.0 Set Pinc.1 A = 3 Do If Pinc.0 = 0 Then If A = 1 Then incr A Waitms 100 End If End If If Pinc.1 = 0 Then If A = 2 Then decr...
Witam, Rozpocząłem pracę nad programem obsługującym sampler kruszyw i już przy obsłudze menu natknąłem się na problem. $regfile = "m16def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Ddra.2 = 0 Ddra.3 = 0 Ddra.4 = 0 Porta.2 = 1 Porta.3 = 1 Porta.4 = 1 Declare Sub Inicjacja_menu Declare Sub Menu_czas_cyklu Declare Sub Mccp2 Declare Sub Czas_cyklu_up...
Witam O regulacji grupowej było już dość sporo napisane, ale tu chciałem pokazać trochę inne podejście do tej kwestii. Zaletą takiej regulacji jest minimalizacja zakłóceń przy obciążeniu indukcyjnym. Wadą jest nierównomierny rozkład momentu obrotowego w czasie w przypadku silników. Tu pojawia się właśnie to inne podejście do regulacji grupowej. Rozproszenie...
Mam taki timer ale jak przypisać żeby po odliczeniu czasu przekaźnik się wyłączył. [syntax=vbnet] $regfile = "m16adef.dat" $crystal = 8000000 'OSCYLATOR 8MHZ Config Lcd = 16 * 2 'KONFIGURACJA TYPU WYSWIETLACZA Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Config Pina.2 = Input 'S1 Config...
Nadal nie rozumiem kwestii konfigurowania timera tak aby zliczał tyle ile chcę. Poczytałem parę wątków i nadal nie wychodzi. Aktulanie na Atmega16 z taktowaniem 4MHz staram sie uzyskać przerwanie co 100ms. Dla testów wyświetlam zmiany na LCD [syntax=basic4gl] $regfile = "m16def.dat" $lib "I2C.LBX" '$lib "mcsbyte.lbx" $lib "Ds1307clock.lib" $crystal...
Witam Udało mi sie uzyskać w miarę płynną regulacje na podanym przezemnie wyżej schemacie PC817 zastoswałem gdyż był pod ręką a PC814 jeszcze nie dotarł Ale docelowo chciał bym zastosować ten drugi zmieniłem też program teraz procedura przerwania i timera wygląda następująco [syntax=vbnet] $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 128 $swstack...
Witam serdecznie. Próbuje stworzyć generator PWM o zmiennym wypełnieniu i zmiennej częstotliwości. Generator ten chce stworzyć na ATmega32 12MHz w języku BASCOM. Zmian dokonywać będzie można przez dwa potencjometry. Mam już napisany program ale niestety sygnał na oscyloskopie wariuje. Co jakiś czas jest przebicie innych wartości. Walczyłem z tym dość...
Witam! Próbuję uruchomić program, który umożliwiałby mi klawiszowe ustawienie np. minut. Na razie mam tyle, ale program nie chce działać. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 '$baud = 4800 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portb.0 Config...
Której? PLL czy tej z dwoma Timerami? Ta z PLL jest bardzo zamotana (albo inaczej - zamotana nie jest ale wymaga dużej ingerencji procesora. A to bardzo spowalnia program główny więc trzeba to napisać a assemblerze i własnie to powoduje zamotanie). Podam więc ten drugi sposób: $regfile = "M8def.dat" $crystal = 8000000 $hwstack = 64 '---------------------------------------...
Witam. Mam pewien problem . Do mikroprocesora ATMEGA8 podłączyłem wyświetlacz LCD od telefonu NOKIA 6100. Sterowaniem wyświetlacza zajmuje się program, napisany w BASCOM-ie. Do sterowania używam biblioteki Lcd-pcf8833.lbx, która jest zgodna z kontrolerem znajdującym się w wyświetlaczu. Wszystkie połączenia LCD z procesorem i dotyczące nich ustawienia...
Dziękuję kolego e marcus za wszelkie rady i instrukcje, zaraz poprawiam konfiguracje portu b. Według mnie przerywanie co 100ms jest używane przez program w pętli głównej programu, ponieważ co 100ms odwołuje się do 3 pod programów. Popoprawiałem wyszło coś takiego i działa jeszcze raz dziękuje wszystkim za pomoc: [syntax=basic4gl] '************* Konfiguracja...
1. sprawdź taktowanie np. dając miganie diodą co 1s z wykorzystaniem polecenia wait 2. czy testowałeś mój program po zmianie odpowiednich wartości (regfile i crystal)?
Więc sprawdziłem i takie wyniki. Testowane na układzie i oscyloskopie 2 kanałowym. Zmiana opóźnienia If Licznik = 1 Then do 1000 daje włąśnie to opóźnienie lecz mam uszkodzona podstawę czasu w oscyloskopie i nie bardzo jestem w stanie sprawdzić ile trwa. Po podaniu impulsu czas zmian portów wydłuża się i skraca zgodznie z watroscia 1 do 1000. Lecz działa...
Podsumowując projekt na moim przykładzie: najprościej dać kwarc 16 mhz i do tego 2 kondensatory 33 pF a potem skompilować wsad drakerusa zmieniając przy tym na $crystal = 16000000 i Config Timer1 = Timer , Prescale = 256. Przy użyciu wbudowanego RC o częstotliwości 4 mhz zegar bardzo się późni i nie polecam tego choć i tak przy 16 mhz jest to u mnie...
piotrva wiem o drganiu styków przełącznika ale to nie one są problemem. Odlutowałem przełącznik i stykałem samymi kablami i efekt jest ten sam. Ogólnie problem polega na tym że przerwanie zachowuje się tak jakby reagowało albo na zmianę stanu logicznego na przeciwny albo na każde zbocze sygnału. Mol ten "end if" nie jest potrzebny jeżeli "if" zajmuje...
Witam Od razu napiszę, że forum elektroda przeszukałem i wszystkie tematy podobne ku mojemu mi nie pomogły, chodź je przećwiczyłem. Jeżeli temat dodałem w niewłaściwie, bądź w złym miejscu to przepraszam. Problem polega na braku inicjacji wyświetlacza LCD 20x4.Problem miałem już wcześniej z wyświetlaczem 16x1 i tam pomogła zmiana wyświetlacza w programie...
witam! Bardzo proszę o pomoc z takim problemem: nadajnik kodu rc5 program z ogólnie znany (z książki "programowanie mikrokontrolerów AVR w języku BASCOM" i z przykładów w bascomie) jedyna zmiana: command = 6 address = 25 i $regfile = "m8def.dat" żadnych problemów z kompilacja problem z tym, ze nie nadaje kodu - nie odbiera go inny układ (reaguje na...
Może nie umie wstawiać? $regfile = "m88def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4 Config Portd = &B00001111 'portd 0 1 2 3 jako wyjscia portd 4 jako 1wire 5 6 7 jako wejscia Portd.5 = 1 Portd.6 = 1 Portd.7 = 1 Portd.3 =...
Witam Wiem, że podobnych tematów na forum jest sporo, ale głównie polegały na braku kondensatorów, braku rezystora przy resecie, złym podłączeniu zasilania, złym podłączeniu programatora, czy też błędach wykrywanych przez MkAVRCalcurator. Niestety, ale wydaje mi się, że u mnie nie ma tych błędów. Zacząłem się interesować programowanie mikrokontrolerów...
Witam. Jestem początkujący w programowaniu mikrokontrolerów i mam prośbę do osób z większym doświadczeniem o wyjaśnienie zasady działania poniższego kodu. ‘Program obslugi jednego przycisku S1 za pomoca instrukcji Debounce ‘Krotkie przycisniecie S1 umozliwia właczenie i wyłaczenie diody LED1 ‘natomiast przycisniecie przycisku S1 na...
Do odczytu stanu portu służy instrukcja PINx a nie PORTx , zmieniłem też sposób wyświetlania informacji bo przy Twoim nawet nie wiesz co było i co jest bo czyścisz za każdym razem wyświetlacz $regfile = "m8def.dat" $sim $crystal = 8000000 Dim C As Byte Dim B As Byte Dim Freq As Byte Config Pinc.5 = Input Config Pinc.4 = Input Config Pinc.3...
Witam Tak jak w temacie mam napisałem program w bascomie który ma za zadanie zapalać cztery diody led po odebraniu po RS232 cyfr od 1-4 i chodzi to bez problemu ,ale teraz gdy uczę się języka C postanowiłem ten sam program przenieść na C i już nie jest tak dobrze.Objaw jest taki gdy wyśle 1-Zapalają się i gasną diody "STROBO I KULA" gdy 2-Tak sama 3-Też...
crystal bascom crystal bascom zmian zmiana prescale bascom
cannot convert oświetlenie przez bluetooth pendrive odzyskanie partycji
galmet wyswietlacz galmet wyswietlacz
Toshiba e-Studio 382P zgniata kartki w harmonijkę Blokada na wyświetlaczu: przyczyny i rozwiązania