W tym kodzie jest błąd: Load Timer0 = 250 jest niepoprawnie zapisane bascom nie krzyczy błędem ale ta składnia nie działa. Powinno być Load Timer0, 250 Ta funkcja ładuje do timera wartość 256-wartość, czyli w twoim wypadku 6.
Coś mi się zdaje że przerwanie się nie wykonuje. W symulacji się wykonuje, ale co 65536 cykli. BASCOM coś pierdzieli. Może przejdz na Timer0 albo Timer2 , przynajmniej dla testu.
Pojemność timer0 jest 256 kolega jej chce wpisać 625 -> load robi 256-value czyli w kolegi przypadku 256-625 bóg jeden wie co bascom tam wpisze;)
O kurcza. Nie wiedziałem że BASCOM umożliwia coś takiego. Ale jednak domyślne ustawienie jest na Timer0 i o tym mówi HELP. A czy servo drga też na BASCOMOowej obsłudze tego wszystkiego? nekmil : Też bym nie poznał że jesteś Czechem ;)
Ja mam taki program zrealizowany na Atmedze8. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 40 $framesize = 40 Config Portb.1 = Output 'wyjscie triak Triac Alias Portb.1 Config Rc5 = Pind.7 'rc5 pin timer0 Dim Level As Word 'poziom sciemniania 1 - 20 Dim Timer_val As Word 'wartosc timer1 dla sciemniania Dim Command...
Witam Czy ktoś ma jakiś pomysł jak programowo zliczać impulsy timerem0 większe od 256 ? Timer1 chciałem wykorzystać jako PWM więc on odpada. Pozostaje timer0 ale on zlicza tylko do 256, a ja potrzebuję zliczyć do 390. Jak to zrobić programowo, żeby jak counter0 się zwiększy o 1, to żeby zwiększył jakąś zmienną o jeden. W ten sposób mógłbym zliczać większą...
Przerobiłem program na Atmega328. Teraz ma tylko odbierać dane z master na Atega1284p i wysyłać do Domoticz. [syntax=vbnet] $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 100 ' rozmiar stosu sprzętowego $swstack = 100 ' rozmiar stosu programowego $framesize = 128 $baud = 19200 '************ Uart 0 Config Serialin0 = Buffered , Size = 150 ,...
Witam mam prosty program. Timer zlicza naciśnięcia przycisku. Problem polega na tym że po jednokrotnym naciśnięciu wartość zwiększa się o jakąś ilość (nie zawsze o 1). Jak temu zaradzić? np. żeby zmiana stanu licznika była możliwa tylko co określony odcinek czasu. [syntax=basic4gl]Config Pinb.0 = Input Set Portb.0 Config Timer0 = Counter , Edge = Falling...
Nic nie ustawiałem, więc pewnie są domyślne "Domyślnym (fabrycznym) ustawieniem mikrokontrolera ATMEGA 8 są bity CKSEL3..0 = "0001" oraz SUT = "10". Oznacza to że fabryczny mikrokontroler, przed zmianą jakichkolwiek "Fusow" pracuje na wewnętrznym oscylatorze RC z najdłuższym czasem startu i taktowaniem 1MHz."
Witam, Chciałem skomunikować ze sobą 2 atmegi32 i mam z tym problem. Jedna atmega wykonuje pomiar z wejścia adc i próbuję wartość ADC wyświetlić na wyświetlaczu podłączonym do drugiej atmegi, ale zamiast wartości np 467 na wyświetlaczu uzyskuję jakieś przypadkowe cyfry np. 13 10 19 51 54 ... Podłączone jest dobrze RxD do Txd i podciągnięte rezystorami...
Więc zostają 2 możliwości, albo program coś mieszał w odliczaniu czasu(może przerywałem timer0 timerem1 ale to powinno powodować opóźnienia!)albo atmega zła :P Mniejsza, teraz zrobiłem go na pcfie, wystarczy program dopieścić :P
Witam, Chciałbym przerobić nie swój kod programu pod żyroskop l3g4200d. Kod znalazłem w internecie jest napisany właśnie na atmegę 1284p, a ja potrzebuję go przerobić na atmegę8. Kod wygląda następująco: [syntax=basic4gl]'======================... ' Project: L3G4200D 3tripple axes gyro Test #1 '...
Niestety to nie jest wina prescalerów i taktowania, próbowałem już w każdej kombinacji . Żadnej różnicy nie zauważyłem, a napięcie przy wyjściu pwm się nie zmienia. Z tego co wiem ,to może być to wina złej kompilacji, dlatego przy wyjściu oc1a(Pin D5) od pwma muszę odwoływać się do poszczególnych rejestrów coś na wzór tego: [syntax=vbnet]Config Pinb.3...
Witam! Na podstawie informacji zawartych w książce "Programowanie mikrokontrolerów w języku Bascom" napisałem program: Problem: Problem polega na tym, że program nie działa poprawnie. Po pierwsze procesor zamiast 1 sekundy odmierza ok. 8s. Jest to dla mnie nie zrozumiałe, ponieważ kodu zawierającego instrukcje tyczące się timer0 nie zmieniałem. To samo...
Witam W Atmega 644 mam: EQU not found, probably using functions that are not supported by the selected chip Według noty Timer0 i Timer2 są 8-bitowe, więc można je "zamieniać" i mają oddzielne preskalery.
Niestety Bascom jest niedorobiony. Ilez to ja niekiedy spedzilem czasu bo cos mi nie chodzilo. Co wersja to inny blad. W jednej wersji nie chodzily mi np. timery na Atmega 16, prescaler blednie sie ustawial itp. Warto jest podgladnac rejestry i sprawdzic czy aby Bascom nie wpisal tam glupot. Jesli wpisal glupoty a to najczesciej jest przyczyna probowac...
Witam, ja właśnie dokładnie taką samą konfigurację 2 procków czyli łączyłem Atmega8 oraz Atmega16 po tym właśnie i2cslave w Bascomie i mogę się coś niecoś na ten temat wypowiedzieć.... ... otóż biblioteka ta I2cslave dla softwarowego rozwiązania układu SLAVE w I2C rzeczywiście działa dobrze tak jak jest opisana ale... jest właśnie jedno i to dosyć spore...
Co do szybkości - Flaga jest ustawiana co 3,21 sekundy [syntax=basic4gl] Czas: Timer0 = Timer0 + 112 ' ( 100 = 1 sekunda ) Incr Licznik_ds If Licznik_ds = 321 Then ' 3,21 sekundy Flaga_ds = 1 Licznik_ds = 0 End If Return [/syntax] czyli pierwsza flaga to wywołanie DS18B20, później znowu 3,21 sekundy i flaga, wtedy konwersja i obliczenia. Zastanawiam...
Mam mały problem chcę zrobić prosty miernik częstotliwości w bascomie do ok. 600KHz Warunek ma mierzyć z dokładnością 1Hz i niestety nie wychodzi mi to. Taimer 1 mam skonfigurowany jako taimer (Config Timer1 = Timer , Prescale = 8) taimer 0 skonfigurowany jako licznik (Config Timer0 = Counter , Edge = Falling ) z resztą zamieszczam fragment kodu [syntax=basic4gl]$regfile...
Witam! Jakiś rok temu zainteresowałem się elektroniką. Zrobiłem kilka układów. Obecnie interesuję się programowaniem mikrokontrolerów. Zakupiłem na allegro zestaw uruchomieniowy EvB 4.3 ( wystarzczy, że wpiszecie w wyszukiwarce i będziecie wiedzieli o co chodzi) - inaczej po prostu płytka uniwersalna. Z tym, że przeważnie do tego zestawu jest dołączany...
Witam, Nie będę zakładał nowego tematu. Mam podobny problem. Atmega 2560 + 16Mhz. Przy tym ustawieniu timera przerwanie powinno być generowane co 0,5s. Natomiast jest generowane co 1s. 256/16000000= 16us*65536=1,048576s 65536-31250=34286 co daje 0,5s [syntax=basic4gl] $regfile = "m2560def.dat" $crystal = 16000000 Config Portg.5 = Output : Portg.5 =...
Witam, Potrzebuje podłączyć 8 diod LED 3mm dwukolorowych i buzzer z generatorem pod uC ATmega16/32 i nie bardzo wiem jak to zrobić :( Problem polega na tym, że nie mam pomysłu jak to zrobić i to, że mam tylko wolne dwa piny w uC. LEDy jakie chcę wykorzystać mają parametry: Red - kąt 30º; światłość 60 mcd (20mA) (2,1V); d.f. 627 nm Blue - kąt 30º;...
Witam! Na podstawie informacji zawartych w książce "Programowanie mikrokontrolerów w języku Bascom" jak i wiedzy, którą udało mi się przyswoić piszę proste programy. Ostatnio zacząłem się interesować PWM'em jako sterownikiem wentylatora lub regulatorem oświetlenia. Oto program: [syntax=basic4gl]$regfile = "m8adef.dat" $crystal = 8000000 Config Pinb.1...
Dziękuje wszystkim za pomoc. Program poprawiłem, działa. No nie do końca tak jak bym chciał:) A mianowicie program obsługi przerwania podaje mi impuls co 2 sek. A powinien co 1 sek. Próbowałem już inaczej przeliczać wartość tak aby uzyskać czasookres impulsu 1 sek Załadowałem do licznika wartość o połowę niższa czyli 125. Teoretycznie powinno pomóc....
Możliwe sugerowałem się tym, że niezależnie czy po wpisaniu Reset Pinb.1 lub Reset Portb.1 i wrzucenia do uC działanie było takie same. Nawiązując do mojego problemu, próbowałem zmieniać w poprzednich kodach port na pin tak jak radził "piotrva" jednak nie przynosi to efektu. Nadal mam problem z uruchomieniem tego obrotomierza. EDIT: Jest jakaś poprawa,...
Jest to proste korzystasz z przerwań jakie generuje timer0 podobnie jak to opisał kolega z innego tematu tego fora w bascom napisał '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111111...
Hmm, moim zdaniem gdzieś jest zmienna 8 bitowa (Byte) musisz zmienić ją na większy typ. np. Word, Long. zmienna word Dodano po 1 A czy trzeba konfigurować port Config Pinb.0 = Input Set Portb.0 pod counter0 atmega 32 Dodano po 11 [syntax=basic4gl] $regfile = "m32def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 8 $framesize = 24 Config Lcd = 16...
Witam, Chciałbym napisać jakiś najprostszy program w VB do obierania wartości zmiennej wysyłanej przez Atmegę, wysyłana jest zmienna Lngfreq Program wgrany na atmęgę poniżej [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13 encoder (reichelt.de) 'Author Georg Latzel, DL6GL 'Copyright (c) Georg...
Witam, Mam problem z programem na Atmege8a, mianowicie: Piszę program sterujący pracą silnika (za pomocą L293D) który dodatkowo będzie zliczał w czasie impuls od przerwań zewnętrznych i tu pojawia się problem: kiedy napisałem program obsługujący tylko pracę silnika, wszystko działa sprawnie, kiedy napisałem program zliczający impulsy w czasie, również...
Z tym Bascomem nie może byś aż tak źle - znalazłem w sieci opis pojazdu typu segway na silnikach BLDC i wszystko w Bascomie. [syntax=vbnet]'25 04 2017 'poprawiny blad z wartoscia w przypadku braku potencjometru '21 04 2015 ' m,nastawa prądu od 256 do 512 na adc 'czas migania LED ustalany przez timer 0 '255x256x60 cykli timera dla f 8Mhz 'procesor attiny88...
Witam, postanowiłem dodać do programu pomiar temperatury mam czujnik DS18B20 , tylko że kod programu odpowiedzialny za sterowanie czujnikiem opóźnia działanie encodera ,gdzie jest tutaj błąd może czegoś nie uwzględniłem w tym kodzie ? poniżej cały kod [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13...
Witam, Jak można zainicjować dwa odrębne pola tekstowe tak aby wyświetlały dwie zmienne wysłane przez UART -Atmegi kod VB [syntax=basic4gl] Option Explicit On Imports System Imports Microsoft.VisualBasic Imports System.Configuration.ConfigurationSettin... Imports System.Windows.Forms Imports System.IO Imports System.Data Public Class Form1 Public comm_stat...
hello i am using the hp02s sensor in a circuit for barometr.i have read of the calibration value d0=46170,t0=35393,p0=10127,s=340,c=298 .my value for t1 and d1 61423 61423.please help me.they are t1=d1?vcc=5v and i make with timer0 a frequency for mclk.and my frequency atmega 32 is 1MHz i am using lcd for display. i think my freaquency mclk is mistek.am...
Jak poprawnie skonfigurujesz to zadziała. Oczywiście sam licznik to nie wszystko, trzeba jeszcze ustawić port jako wyjście.
Mam mały problem z programem napisanym w bascomie , mianowicie założenia są takie jest to odbiornik pilota IR na atmega 8 chodzi mi o sam algorytm dekodowania sygnału , który ma dekodować wszystkie rodzaje pilotów obojętnie czy są w standardzie RC5 czy SONY na wyświetlaczu LCD mam mieć wyświetlane umownie wartość jedynek i zer i problem polega na tym...
Witam Moja Atmega 16 wiesza się w pętlach Uszczenianie i Paletyzacja poniższego programu: 'Listing programu obsługującego symulator procesów. Program został napisany ' i skompilowan w programie BASCOM-AVR 1.11.9.8. $regfile = "m16def.dat" 'określenie typu procesora $crystal = 8000000 'określene szybkości zegara 'Watchdog Wdtcr = &B00011111...
na każdym który napiszę jest tak samo, w nowym temacie powyżej podałem ustawienia fuse bitów, zaraz wkleję kawałek na którym teraz się bawię Dodano po 4 to kod na którym teraz się bawie '***************************************... '-------------------- konfiguracje ----------------------------------------... $regfile...
Zaraz wrzucę to do programu, ale czy to normalne że ds18b20 zaniża mi temeraturę o 2-2,5 stopnia? Kupiłem nowy za 10zł i to samo. Wrzucę cały program do wglądu. Wiem, że może być coś nie tak napisane, ale działa tak jak chciałem ;) Dodano po 3 Edit: Jest jeszcze jeden problem. Co jakiś czas temperatura podskakuje o 10 stopni a czasami nawet do 200 podskoczyło...
Witam. Dziękuję za radę, dzięki niej ruszyłem z projektem nieba. Na ta chwile wygląda to tak jak na filmiku. Tak, oczywiście z tym kwarcem to pomyłka, Atmega 32 taktowana jest z częstotliwością 16MHz. Umieszczam także kod źródłowy jaki wyskrobałem. wszelkie uwagi mile widziane. https://filmy.elektroda.pl/83_1416058356... Dodano po 5 ...i jeszcze jedna...
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam WVT020SD + PCF8563 ( wyjście CLK do INT1 ) działają dobrze,...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Witam Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści ). Czyli jeśli czas jest 22:40:02 to jest wyświetlany poprawnie,...
Witam Piszę program w Bascomie na Atmega32 do sterowania ogrzewaniem w warsztacie i mam problem. Jest zegar RTC, zewnętrzny Ram, Timer, Menu i to wszystko działa bez zarzutu - dokładnie tak jak bym chciał. Chciałem dołożyć czujnik temperatury i wykorzystać do tego celu wejście ADC. Problem pojawia się w momencie jak w podmenu "Start_webasto" dodaję...
[syntax=c]mam jeszcze pytanie czy ten kod może źle pracować z atmega 8a-pu [syntax=c]|Program "analizator widma akustycznego 20*2 - V2" kompilator bascom 1.11.9.0 | '|Autor: HUNTERHOUSE(Adam Kędzierski) i częciowo MANEKINEN(Paweł Kisielewski) | '| data: 02.08.2009 | '| | '| info: http://www.elektroda.pl/rtvforum/topic77... | '| www: http://diy.elektroda.eu/analizator-widma...
Pewnie że nie będzie działać, ustawiłeś Preskaler =256 a więc przy zegarze 16MHz przerwanie od Timer0 będzie pojawiać się z częstotliwością 62500 razy na sekundę. (16000000/256 = 62500). Zalałeś modem zapytaniami o CSQ i biedny nie ma czasu na odpowiedź.
Ok, jestem - nie miałem w ręku tego procesora więc musimy poczytać datasheet. Znajdź go i wklej tutaj link. Uwagi do schematu: 1. masy masz podłączone bo na schemacie nie :) 2. nie widzą filtrowania zasilania patrz tutaj: http://mikrokontrolery.blogspot.com/2011... 3. błędy filtrowania ADC akurat się przydadzą do liczb...
marcinek.p - to gotowiec dla ciebie, nie mam jak go przetestować ale jestem pewien że zadziała jak trzeba. Masz tu przerwanie, miganie led i zliczanie migniec z incr Mozna to wszystko wkleic do przerwania ale dobra zasada nakazuje w przerwaniach umieszczać jak najmniej kodu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 $hwstack = 32 $swstack...
Nie no... po co myśleć. Po co czytać ds'a każdy timer0 jest 16bitowy...
A możesz napisać, co to za błędy. Prawdopodobnie dotyczą timera. Timer0 8515 i timer0 attiny13 to nie zupełnie to samo i stąd te błędy :cry: . Czasami też używam bascoma, ale w kwestii poleceń typu "config", to w ogóle mu nie wierzę i po prostu trzeba wziąć do ręki dokumentację procka i samemu odpowiednie rejestry poustawiać :D
hmmm Przede wszystkim: Enable Interrupts On Timer0 Przerwanie Stop Watchdog Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 256 'PWM=250Hz Load Timer0 = 195 To włączenie przerwania jest wstrętne w tym miejscu:P Co do wniosków... może spróbuj zwiększyć stos o...
bascom timer0 timer0 bascom atmega timer0
regulator ciśnienia paliwa renault magnum sprężarka passat separator
40pfl3008 zasilacz podłączenie agregatu prądotwórczego
Passat B5 1.9 TDI 90KM 1998 – obrotomierz podczas rozruchu, czy wskazówka powinna drgać? MUX-8 VHF, Telewizja Republika – zakłócenia, wyłączanie sygnału, odbiór, DVB-T