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]
Dzięki wielkie !! Pomogło , aczkolwiek nie rozumiem dlaczego bez tego też czasem działało zależnie od kolejności wpisów ? Teraz działa OK bez względu na kolejność wpisów, i reszty (czyli początku programu w którym pewnie jest mnóstwo innych błędów :-) ) [syntax=vbnet] $regfile = "m2560def.dat" ' specify the used micro $crystal = 16000000 ' used crystal...
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 =...
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 :...
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...
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...
A potrafi ktoś obsługiwać ten timer2? Kolega wyżej objaśnił ci to dostatecznie w twoim ojczystym języku. Jeżeli masz z tym trudności to może to będzie pomocne: [code][syntax=basic4gl] ' Must use the internal RC oscillator at 8MHz or at 1MHz because ' a 32.768 kHz watch crystal must be connected between the TOSC1 and TOSC2 pins. ' $regfile = "m8def.dat"...
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...
$crystal to chyba tylko informuje program Prawidłowo powinno być "$crystal to na pewno tylko informuje program". Prawdziwą częstotliwość zegara ustala się w fuse bitach i nie jest to żadna samowolka Bascoma.
Zmiana $crystal nic nie daje,jeśli chodzi o program inicjacji to ma być pisany w bascom czy w asm,bo asm nie znam
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...
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)?
Wielkie dzięki za podpowiedż. Zmieniłem w ustawieniach programatora "port delay" na 100 oraz musiałem w programie wpisać częstotliwość "$crystal = 2000000" (co najmniej 2MHz) bo jak wpisałem poprawną 32768 to też BASCOM nie wykrywał mikrokontrolera. Po takich zmianach mikrokontroler z kwarcem zegarkowym jest przez BASCOM wykrywany. Pozdrawiam Jacek
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...
, przetłumacz poniższy kod z BASCOM AVR na Arduino Uno: $regfile = "attiny2313.dat" $crystal = 8000000 Dim A As Byte a=0 Config Pind.6 = Output led Alias Portd.6 led= 0 Config Pind.0 = Input Portd.0 = 1 Sw Alias Pind.0 do if a >1 then a=0 if sw=0 then bitwait sw, set incr a End If if a=1 then toggle led waitms 100 else led=0 end if loop end Przekształcanie...
Jeżeli to ma nic nie robić tylko generować impulsy, to po prostu może użyj Waitms. A jeżeli nie, zmieniaj wartość porównania w zależności od dodatkowej zmiennej. Np: $regfile = "m16def.dat" $crystal = 16000000 Dim A As Word 'Zmienna zwiększana i porównywana. Dim B As Byte 'Zmienna decydująca z jaką wartością będzie porównywana zmienna A. Config...
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...
Nie to chciałem żebyś przetestował. Tylko to czy mój kod będzie wrażliwy na zmiany deklaracji rezonatora kwarcowego. Bo Twój kod wiemy że jest wrażliwy. To teraz sprawdź mój.
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. 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...
[syntax=basic4gl] $regfile = "m644pdef.dat" $crystal = 16000000 $baud = 9600 $hwstack = 64 $swstack = 64 $framesize = 64 'konfiguracja pinow wyswietlacza LCD; inicjalizacja wyswietlacza Config Lcd = 20 * 4 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Cursor Off Noblink Cls Dim Wart_adc...
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...
Witam W programie AVR studio dokonałem zmiany Fuses aby uzyskać możliwość pracy procesora z zewnętrzym rezonatorem kwarcowym 4Mhz wybrałem opcję : Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 14 CK + 4.1 ms Po tej zmianie procesor pracuje ale strasznie wolno nawet zwykłe polecenie w bascom wait 1 trwa ok 5 sekund zamiast jednej oczywiście dokonałem...
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...
Do Autora wątku: Proszę. Nie taki diabeł straszny. Nie napisałeś jaki to procesor więc napisałem przykład dla Mega8. Funkcja odczytuje ADC(0-5) z włączony ADLAR czyli tylko osiem bitów. Wynik od 0 do 255. Zapewne działa nawet w symulatorze. To taki podstawowy. Można nie czekać a ustawić przerwanie, ale to pewnie jeszcze nie dla Ciebie :D Wpisz w Google...
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.2 = Output Do Set Portb.2 Wait 1 Reset Portb.2 Wait 1 Loop End[/syntax] a po zmianie [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.2 = Output Do Set Portb.2 Waitms 500 Reset Portb.2 Waitms 500 Loop End [/syntax]
Nie wiem jak jest w BASCOM'ie, ale nie wydaje mi się, że komendą w programie można było zmienić fuse bity, chyba że tak mądry jest kompilator. Ustaw crystal na 1 Mhz i wait na 10, jak nie pomoże to 100. Jak także będą krzaczki to sprawdź kabelki czy są dobrze przylutowane i pewne. Pozdrawiam
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...
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.
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...
[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...
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 . Czy da sie zapisać do pętli DO zmianę $crystal?? Np. IF pina.0=0 then $crystal = 16000000. IF pina.0=1 then $crystal = 8000000. W każdym razie w tej konfiguracji nie działa. A jeśli nie to jak to zapisać żeby działało??
Cały czas mówię o nowym :) $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'kwarc 8MHz Config Portc.4 = Output Set Portc.4 Do Toggle Portc.4 Wait 1 Loop
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. 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,...
Po ciężkich zmaganiach z metodą losową dla kolorów postanowiłem porzucić ten pomysł i zastosować przewidywalny sposób który będzie się powtarzał co jakiś czas. Może i nie jest to rozwiązanie pierwsza klasa, ale działa. Nie stosowałem jednak korekcji gamma, bo przy rozdzielczości PWM 8 bitów i zastosowaniu płynnego rozjaśniania było widać przeskoki (mruganie)...
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...
Tak wiem że należy odpalić timer na początku i zatrzymać na końcu i odczytać jego wartość.. no nic. Dziękuję za wypowiedzi tak czy inaczej.. Odp. kol. Draco była troche sarkastyczna, bo na tak prostą procedurę nikt, kto ma choć troche rozeznania w tej dziedzinie chyba (!) nie szuka pomocy. Mopzesz to zrobić na kilka sposobów: 1. mierzyc czas metodą...
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...
1. Czy jest jakakolwiek możliwość sprawdzenia czy poprawnie połączony jest cały układ? Wizualnie, następnie woltomierzem na txd procesora i wyjściu MAX232. Powinno pływać. Możesz na chwilę sobie darować tego WAITa i wysłać na zmianę dłuższą serię chr(0) potem serię chr(255), co powinno dać wyraźne pulsacje napięcia na RS. 2. Czy może to być spowodowane...
Ten powinien działać musisz wszystko wykonywać w odpowiedniej kolejności. A wspak to on może też czytać sensu to nie będzie miało (2 znacznie nawet objaśnienie :D )musisz zmienić na adres-1, kierunek musi być dodawany zakres adresu dla zmiany kierunku zamienione miejscami i adres musi się zaczynać na 80. A Pętla for next jest tylko po to aby wykonać...
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:...
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...
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 ,...
Na 4 Mhz (oczywiscie po zmianie także $crystal = 4000000 w programie i ustawinie na wewnętrzny oscylator 4Mhz) dzwięk staje sie mniej piskliwy ale nadal nie przypomina to DTMF i ciagle jak narazie nadaje te same dzwięki.
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ł...
bascom crystal crystal bascom bascom zmiana
renault wymiana filtra oleju monika instrukcja gramofon artur stereo
mikrokomputer cobra1 myjka ultradźwiękowa
Nierówna praca silnika i gaśnięcie przy hamowaniu – serwo hamulcowe, podciśnienie, alternator Honda 16100-ZL0-D66 – schemat techniczny gaźnika, exploded view, części, serwis EU3000iS