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ę...
Witam Mam problem z timerem Timer1. Procesor Atmega32. Podłączony mam do niego odbiornik DCF77 i diodę nadawczą od pilota. Oba urządzenia pracują na jednym właśnie timerze Timer1. Przy wywołaniu funkcji wysłania danych RC5SEND procesor zwalnia jak ślimak. Czy jest możliwość ustawienia innego timera dla DCF77? Buszowałem trochę po sieci, ale nie znalazłem...
Witam, mam mały program napisałem przy użyciu książki Pana Marcina Wiązania oraz przy użyciu elektrody do obsługi matrycy led, lecz mam nieporządany efekt stroboskopowy. Nie widać liter, tekstu, tylko wszystkie diody mrugają. Czy to jest spowodowane zasilaniem czy też błędem programu? Dorzucam dwa programy, przy których pracowałem i schemat, schemat...
Napisałem kod dla zegara cyfrowego w Bascom. Ogólnie działa jak należy. Mam tylko problem przede wszystkim z budzikiem. Chcę aby podczas alarmu naciśnięcie przycisku 1(PORTD.0) wyłączało alarm(chodzi o sam dźwięk). Program nie reaguje. Nie mam pojęcia czy jest to wina tego, że nie nadąża z wykonaniem polecenia (za długie przerwania?) 2) Aktywowanie...
Należy "podpisać" przesyłane zmienne tak by mikrokontroler jednoznacznie wiedział z którą ze swoich zmiennych skojarzyć ma przesłaną wartość i w niej ją zapisać. Wiele urządzeń ma swoje własne sekwencje bajtów po których własnie mikrokontroler jest w stanie określić co nadeszło. Takie sekwencje nazywają się "ramką". Na przykład System NMEA 0183 z odbiorników...
Hej, Potrzebuję pomocy w opanowaniu pomiaru: napięcia (3x) i prądu (rezystor 0.1om) Ciągle wychodzą mi głupoty i nie wiem gdzie popełniam błąd. Chciałbym mierzyć napięcie 0-5.5V i prąd 0-2.5A Na początek schemat (ze schematu wykroiłem co zbędne) i kod (tu tylko to co potrzeba do pomiarów) aby było wiadomo o czym gadam ;) No i teraz moje obliczenia:...
Witam! Programuję w BascomieAVR układ ATmega32 do obsługi węwnętrznego zegara RTC oraz miltipleksacji sześciu wyświetlaczy. Chciałem się zapytać czy dokładność wewnętrznego zegara RTC (kwarc 32.768kHz), który uruchamiam komendą: Config Clock = Soft, zależy od przerwań TIMER0, które odpowiedzialne są za multipleksację wyświetlaczy?? Rozumiem, że jeżeli...
Zamierzam w swoim projekcie wykorzystać funkcję "config KBD" gdyż będę potrzebował użycia dużej liczby przycisków do obsługi at32. Proszę o podpowiedź czy praca takiej funkcji, a szczególnie "debounce" i "delay" w niej zawarte nie zatrzymają timerów pracujących cały czas w przerwaniu. Z góry dziękuję za pomoc.
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 Niestety nie ( inna sprawa, że ostatnio brak czasu ) Używam zwykłej SD - 1 Gb Sandisk i 2Gb Kingston. Ale sienie poddaje i zamówiłem MMC 256 Mb. Używam wersji Bascom 1.11.9.5. Podłączam według opisu w pliku config_mmc.bas. Atmega32 jest na 5V karta SD na 3,3V, zastosowałem nawet dzielniki na rezystorach, żeby lepiej dopasować poziomy. Poprawiłem...
w języku BasCOM piszę
Nie tędy droga, Ty musisz zrobić coś dokładnie odwrotnego - nie wygenerować sygnał, ale go zmierzyć. Rozwiązania są 2, ale jeśli programujesz w bascomie i nie masz ochoty na operacje na rejestrach w procesora to kurczą się do jednego. Mianowicie: 0. ustawiasz timer na zliczanie impulsów i zmianę wartości jakiejś zmiennej - parametry dobierz w zależności...
Dzięki spróbuję. Pozbyłem się problemu stabilności. Powodem był wpływ timera1 na zapis do pliku. Nie wiem dlaczego, ale tak. Wewnątrz do...loop zatrzymuję timer1 zaraz po procedurze Pomiar_temperatury - on zajmuje trochę czasu, przynajmniej 750 ms, wykonuje się w ramach timer1. Zaraz po kodzie: Formatowanie_danych Zapis_do_pliku Suma_wartosci_temp Incr...
Te procesory się aż tak nie różnią. Dodatkowe funkcjonalności pinów nie przeszkadzają w niczym dopóki ich nie uruchomisz. (PCINT - Pin Change Interrupt trzeba wiedzieć jak włączyć). Jest duża różnica jeśli chodzi o Timery właśnie. Mega8 ma na przykład tylko jeden rejestr Compare dla Timer2 dlatego inaczej się nazywają. Opisałem to u siebie na stronie...
Po kilku dniach pracy urządzania stwierdziłem że jednak przydało by się żeby serwerek dodatkowo wysyłał dane do "" chociaż z termometru domowego. Próbowałem na rożne sposoby ale nie mam pojęcia jak to zrobić. Może ktoś z Was jest w stanie zmodyfikować kod ? Może kolega (at)bart-projects czyta ten temat? ;) (to ten sam kod co w załączniku) [syntax=vbnet]...
Witam Zmontowałem (prawie) sterownik do C.O. i wystąpił problem. Otóż urządzenie nadaje do komputera poprzez RS232 swoje aktualne parametry w postaci: Print c(1),c(2),c(5) ..................... I tu wszystko jest OK. Ale problem jest w drugą stronę. Przy instrukcji: input Rsin odczytuje tylko dwa pierwsze znaki (czasem 3 lub...
Dzięki za wskazówki i pomoc :) Ten zegarek nie może poprawnie działać z powodu braku wyboru\konfiguracji\uruchomienia zarówno timera, jak i przerwania z nim związanego. W ww. programie jeszcze do fazy Timerowania nie doszedłem - stwierdziłem tylko brak poprawności wyświetlania zadanych cyfr :) Przerobiłem program, działa i wygląda następująco: [syntax=basic4gl]...
Skoro do RS232 używasz timera0 to wróży że korzystasz z programowej implementacji UART'a - i ty się dziwisz że inne przerwania zakłócają ci pracę programowego RS232 ??? Przecież ATmega32 ma piękny sprzętowy UART - zrób to na nim i skończą się problemy.
Witam Napisałem taki program do regulacji prędkości silnika. [syntax=vbnet] $regfile = "m32def.dat" Enable Interrupts $crystal = 16000000 $baud = 9600 Config Portb = Input Set Portb.1 Config Pind.4 = Output Config Porta = Input Dim Freq As Long Dim Pomoc As Byte Dim A As Integer Dim P As Integer P = 0 Config Timer1 = Counter , Edge = Falling Enable...
Witam. mam problem z programem gdyż korzystając z Timera1 chciałbym w programie zmieniać prescale po wciśnięciu np. s1 na 8 a po wciśnięciu s2 na 1024, problem w tym że w najprostrzej wersji programu : If Pinb.0 = 0 Then Config Timer1 = Timer , Prescale = 1024 End If If Pinb.1 = 0 Then Config Timer1 = Timer , Prescale = 8 End If pinb.0 i pinb.1 ustawione...
Witam. Prubuję zrobić program do odtwarzania nagrań wav. na atmedze32 za pomocą PWM. Mam taki program testowy: [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 12000000 Config Lcdpin = Pin , Rs = Porta.6 , E = Porta.1 , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 Config Lcd = 16 * 2 $baud = 9600 ' use baud rate $hwstack = 32 'domyślnie...
Witam, Poniżej zamieszczam kod - przedstawia on sterowanie multipleksowe 7-seg ............. Moje pytanie brzmi dlaczego ................ ...........Skasowałem pętle DO-LOOP ? Twój listing praktycznie nie ma programu ( głównego ). Wszystko co się dzieje jest kontrolowane przez timer0 i to tylko w jego przerwaniu, gdy tymczasem timer powinien byc wykorzystywany...
Witam, czy mógł by mi ktoś pomoc w napisaniu wyłącznika schodowego? Chodzi o to abym mógł podłączyć dwa przełączniki pod atmege i kiedy dowolnie który przełączę zmieni się stan na nóżce z diodą. Próbowałem z poleceniem Toggle ale coś nie potrafię sobie poradzić. Pozdrawiam i proszę o pomoc. Każdy najprostszy AVR, nawet Attiny 13 (taki by tu wystarczył)...
Mam taki problem, jak zrealizować załączenie wyjścia o ustawionej godzinie nie zależnie w którym podprogramie będę. Zacznij używać przerwań to będziesz mógł sprawdzać w przepełnieniu od timera.
Witam serdecznie, dopiero zaczynam na poważnie przygodę z mikro kontrolerami.Piszę na Atmegę 32 w BASCOM AVR.Chciałem napisać prosty programik będący timerem opartym o diody led.Zasada programu miała się opierać na następnym działaniu:zapal wszystkie diody,poczekaj pewien czas,gaś kolejno diody.W efekcie migają mi wszystkie diody i chodzi na kolejną...
Którego byś nie wybrał to i tak by było dobrze, bo tak naprawdę każdy z tych pilotów nadaje w rc5 choć ten z napisem rc5 jasno to sugeruje, co wcale to nie oznacza że jeżeli w nazwie pilota pojawiają się łącznie obok siebie literki rc tak jak w tym twoim nieszczęsnym thomsonie RC T-100-LP to znaczy że taki pilot z automatu nadaje w formacie rc5. Udzielając...
Witam Mam pewien problem.Potrzebuję podczas odliczania Timera0 wykorzystać przerwanie Int0. Sprawa wygląda tak, rozpoczynam odliczanie timera0 do momentu pojawienia się sygnału narastającego na wejściu Int0 i w tym momencie muszę przerwać Timer0 i odczytać jego wartość. No i właśnie tu pojawia się problem. Zamieszczę moje wypociny: Config Timer0 = Timer...
Zlecę wykonanie programu taimera Timer ma posiadać 2 kanały do naliczania czasu , regulacje od 1m do 24h 6 x wyjść na przekaźniki sterowanych nie zależnie menu do załączania niezależnie przekaźników fajnie było by nie wykorzystany czas można było by zgrać na ibutton lub kartę RFID proszę o odpowiedz na PW pozdrawiam
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...
Panowie, Panie potrzebuję pomocy bo siedzę i siedzę i nie mogę sobie dać rady z kodem BASCOM. Jestem początkujący, a raczej raczkujący w AVR, programowaniu itd. :( Próbuję zbudować sterownik do pokoju który ma wykonywać: -sterowanie światłem (8x) -sterowanie piecem/kotłem gazowym (temperatura noc i dzień-dwie różne temperatury) -każdy przycisk ma dwie...
Zmiennych do przechowywania w SRAM będę miał kilka. Zapisywanie - przy awarii zasilania - a tak to cały czas będą sobie siedzieć w SRAM Pytanie jeszcze jedno - trzeba używać jakiś specjalnych komend przy tego typu przechowywaniu zmiennych? Jakieś wytyczne? Nie chciałbym bym żeby uC mi się zawieszał bo SRAM będzie zbytnio "zawalona" Bascom coś oferuje?...
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...
Wpisujesz wartosc jaka ma odnierzac do rejestru OCRnx. W kalkulatorze wpisujesz ile ma ci odmierzyc ms, us albo podajesz czestotliwosc w Hz, wpisujesz prscaller i ci pokazuje ile masz wpisac do tego rejestru OCR. Z tymze w bascomie nie bawisz sie rejestrami tylko w poleceniu config timer to ustawiasz. W helpie do bascoma jest wszystko opisane ;)
Witam Bawię się obsługą sprzętowego PWM. Skonfigurowałem trzy timery w tryb Fast PWM. Do uC podpiąłem kwarc 20MHz i ustawiłem fusebity. Wpisałem w OCR1A wartość 128 i podłączyłem oscyloskop. Okazuje się że okres wynosi zaledwie 0.1 ms to 10kHz, mimo tego że preskaler ustawiłem na 1... coś mi tu nie pasuje bo zgodnie ze wzorem: Fpwm = Fcpu/1/255 powinienem...
Witam, Mam taki problem. Chcę wysyłać do PC informację w formie takiego temp1;temp2;f1;temp3 i coś jeszcze. Jak wysyłam informację to chcę żeby ona była raz wyświetlana powiedzmy co ok 1-2s a nie tak jak na screenach pod kodem. (to jest losowe). Co może być nie tak. Timera2 używam jako odmierzacz czasu a timer0 do pomiaru częstotliwości (na 555) $regfile...
Od kilku dni walczę z Bacomem i ATmega32. Mam książkę Marcin Wiazania - Programowanie mikrokontrolerow AVR w jezyku Bascom. Książka fajna ale ma kilka lat, więc siedzę na necie i już mnie krew zalewa. Co chwila znajduje jakieś fragmenty programu, których nie rozumiem bo nie mam ich opisu ani w książce ani w helpie. Próbuję coś sam napisać, ale co chwila...
(at)stozek - normalnie w Bascom nie jest potrzebna komenda Start Timer0 bo jest on uruchamiany od razu podczas konfiguracji. Używa się tej komendy tylko jeśli poprzednio zatrzymałeś Timer poprzez Stop Timer0. Rozumiem, że zatrzymujesz timer. Tak więc zatrzymywanie timera to zabranie mu źródła taktowania. Bascomowe komendy moża wiec rozumieć tak: Start...
Witam potrzebuje pomocy w zrobieniu programu który będzie działał na płytce która podałem w temacie, za bardzo nie znam się na bascomie( w nim muszę napisać program) i znalazłem tylko programik który działa na atmega8 ale z tego co się już dowiedziałem nie będzie działać na mojej płytce, i pytanie, szybciej się poprawi program który już został napisany...
Czytam i sam się pogubiłem hehe . Czy tu chodzi o względne przesunięcie (tmf) czy bezwzględne (satanistik). Parę miesięcy temu robiłem sterowanie PID dla servo Xmega w bascom . [youtube][/youtube] Nie obyło się bez problemu , który polegał na zliczaniu bezwzględnym więcej niż 65535 impulsów . Mój wpis z innego forum: " Teraz mam silnik z tarczą 400...
Doszedłem do kilku wniosków. Ale nie będę się rozpisywał bo już mi się spać chce. No więc przerwanie nie zakłóca odbierania danych. Przerwanie może sobie chodzić ale jeżeli odczyt i wystawianie próbek na PWM1A będzie w pętli w programie głównym to nic się nie będzie zawieszało. Więcej. Przerwanie może wystawiać jakieś próbki na przykład na PWM1B i także...
Witam Używam Attiny2313 do pomiaru dwóch temperatur z DS18B20. Wynik ( Integer ) przesyłam bez żadnej obróbki przez UART przewodem 40 cm do Atmega328. Atmega rozbija odebrane dane i jest obróbka Kod Attiny2313 $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 4800 '********************* Konfiguracja magistrali 1-Wire Config 1wire = Portd.5...
Witam! Dopiero zaczynam zabawę w Bascom-ie, wiec proszę o wyrozumiałość. Zbudowałem układ na Atmega32, 4 kanały PWM do sterowania RGB+biały. Jeden klawisz do zmiany programów, LCD (do sprawdzenia co się dzieje) oraz czujnik oświetlenia na fototranzystorze. Co chciałbym zrobić: -klawiszem zmieniamy programy (różne kombinacje kolorów) -czujnik oświetlenia...
Witam. Wlasnie złożyłem sobie płytke z Atmega32. W Bascomie dziwnie to działa ;-) wgrałem najprostrzy program wlacz/wylacz Led. opoznienie wpisuje jako waitms XXX - czy jest to wartosc 10ms czy 1000 ms zapalanie i gaszenie diody trwa bardzo długo. Zostawiłem narazie Bascom i wziałem sie za C. Tutaj opoznienie realizowałem przez zastosowanie petli i...
Witam serdecznie. Mam taki oto problem. Zbudowałem sterownik do centralnego ogrzewania sterujący elektrozaworem i pompą w zależności od temperatury w bojlerze i na piecu. Problem jest taki - po chwili pracy (nieregularnie) resetuje się. Ktoś ma jakiś pomysł? Napięcie zasilające jest dobre. Program w bascomie: '---------------------------------------...
Witam, drogich forumowiczów. Mam problem z komunikacją kilku urządzeń w sieci rs485. A tak prawdę mówiąc to z komunikacją pomiedzy dwoma, jednym "master" i jednym "slave". Normalnie staram się zadawać pytania w ostateczności na forum Elektroda, ale po prawie 3 tygodniach siedzenia przy problemie, przeglądaniu masy poradników i postów związanych z rs485...
Witam Proszę o pomoc. Potrzebuję wykonać okład mierzący bardzo krótkie odcinki czasu. START podanie impulsu na któryś pin, STOP podanie drugiego impulsu na kolejną nóżkę. Procesor Atmega32 język Bascom. Jaki najmniejszy odcinek czasu mogę zmierzyć ? Jak wygląda procedura pomiaru czasu miedzy Start a Stop? Bardzo proszę o podanie fragmentu kodu. A czy...
Może odpowiem inaczej. A do czego zmierzam? Masz bardzo ambitny plan budowy ciekawego urządzenia. Wybrałeś do realizacji tego projektu architekturę AVR i język programowania BASCOM. I teraz jak się ma jedno do drugiego. Zapewne po przeczytaniu kilku artykułów, projektów, kursów i zabawie w programowanie w BASCOM wciągnąłeś się i zafascynowałeś tym językiem,...
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 problemy z programem analizatora widma z obsługą RC5. Na lcd wyświetla głupoty albo resetuje się Atmega32.Czy w programie wszystko OK jest? Oczywiście sam program analizatora widma akustycznego działa poprawnie. $regfile = "m32def.dat" $crystal = 16000000 Config Pinb.2 = Input Config Int2 = Falling Enable Interrupts 'obsługi RC5...
"attiny13.dat" $hwstack = 32 $swstack = 18 $framesize = 8 ' tiny13 Dlaczego na samym wstępie wyrzuca mi błąd w liniach: Pwm1a = 0 Pwm1a = 0 Pwm1a = 255 czy nie można przypisać stałej wartości dla Pwm1a? Kolejne błędy są również powiązane z pwm1a. Oczywiście że możne jeżeli taka funkcja jest dostępna. ATtiny13 takowej nie posiada bo nie ma Timera1,...
Witam Zawsze bawiłem się z atmega32 ale od do projektu potrzeba mi 6 kanałów PWM 16bit (sterowanie 2 serwa i 4 regulatory z rewersem). Zastosowałem atmega128 T1 i T3 . Wszystko było było by OK ale na kanale OC1C jest brak sygnału , zapewne banalne rozwiązanie ale jakoś nie mogę zatrybić nadajnika: [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000...
Niestety w bascomie obsluga wyswietlacza jest do d*py dlatego samo wyswietlanie w przerwaniu nie pomoze bo rozjedzie ci znaki od razu....musi byc index... kolego nsvinc jak się nie zna czegoś to nie określa się tego mianem, że jest "do d*py" to świadczy tylko o twoim ogólnym poziomie wiedzy programistycznej. takie wyświetlanie o jakie chodzi autorowi...
Witam. Z pewnych przyczyn musiałem przejść z pisania oprogramowania w Bascom na C. I pojawił się problem. Mianowicie chodzi o konfigurację Timera1 tak aby był generatorem, którego częstotliwość zmienia się wpisem do rejestru pwm1a. Pwm1a = 312 Config Timer1 = Timer , Prescale = 8 , Compare A = Toggle , Clear Timer = 1 On Compare1a Impuls Enable Interrupts...
' ****************************************... ' * * ' * Mega 8 PAL Video Test Pattern 64 Colours ( noninterlaced ) * ' * * ' * V3.1.38 (c) 2008 Moshtech * ' * * ' ****************************************... ' ' Device -> Analog Devices AD722 or...
Nie jestem za biegły w timerach i się ciut pogubiłem. Proszę zatem o podpowiedzi. Próbuję ustalić ile czasu będzie trwał impuls podawany na INT procesora a jednocześnie zmierzyć czas od początku tego impulsu do początku następnego. Jednym uP podaję impulsy na drugi uP. Do Portc.7 = 0 'stan wysoki Waitms 1 Portc.7 = 1 'stan niski Wait 5 Loop Drugim uP...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
Fragmenty kodu: [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 8000000 $hwstack = 256 $swstack = 256 $framesize = 256 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db7 = Pa.0 , Db6 = Pa.1 , Db5 = Pa.2 , Db4 = Pa.3 , E = Pa.4 , Rs = Pa.5 Config Sda = Portd.1 Config Scl = Portd.0 Config 1wire = Portc.2 Config Pind.4 = Output 'oc1b niebieskie Config Pind.5...
Witam, pracuje nad pierwszym urządzeniem opartym na AVR Atmega32. Chodzi mi o zmienną Sekundy, którą chciałbym inkrementować w warunku While ... Wend zaraz na początku głównej pętli Do ... Loop. Zmienna Czas zwiększana jest przez Timer0 po przepełnieniu (odmierzanie stałych odcinków czasu) i kiedy osiągnie 30 i więcej ma się wykonać to co po warunku...
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, 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---------------------...
Witam W temacie Bascom i AVR-y jestem zielonym leszczem. Staralem sie znalezc odpowiedz na moje pytanie wszem i wobec, ale niedalo to zadnych rezultatow. O mikrokontrolerze ATmega32 dowiedzialem sie juz bardzo duzo (rowniez z tego forum), ale gnebi mnie jedno pytanie. Uzywam Bascom-a do pisania programu. Poniewaz ogolnie rozumianego hardware jeszcze...
Potrzebuje emulator DS18B20 na atmega8 - mam na PC program do odczytu temp i chciałem w tym programie dodac inne parametry ( np wilgotnosc ) ale nie zmieniajac programu - w scrachpadzie bede wisyłał inne dane nie temperature. ( w bajtach temperatury lub bajtach uzytkownika wolnych 2szt) Aktualnie używam "lampomitari" , ale napisalem przeróbke programu...
Witam Piszę program do sterownika pieca Wszystko po włączeniu działa przez około 15min a później na wyświetlaczu pojawiają się dziwne znaki także znak z Deflcdchar który nie jest używany tylko zdeklarowany. Przyczyna jest chyba tylko wyświetlacza ponieważ po przystawieniu zapałki do czujnika DS18B20 program działa prawidłowo i włącza alarm jednak wyświetlacz...
Witam Do istniejącego i działającego "urządzenie" chciałem dodać możliwość odbioru, parsowania i odesłania SMS'a zwrotnego z danymi. Cały kod: Linia1 - to wyświetla Uart_numer - Linia1 Linia2 - to wyświetla Komanda - Linia2 czyli działa OK Ale jak podepnę modem GSM ( SIM900D ) to Uart_numer jest puste, a Komanda pokazuje ( czasem ) jakieś teksty z pierwszej...
Witam. Potrzebuję napisać funkcję która zainicjalizuje Timer w Atmega32 (asynchroniczny) tak, by działał z zewnętrznym kwarcem 32,768kHz podłączonym pod TOSC1/TOSC2. Timer ma zgłaszać przerwanie co 1 sekunde. W przerwaniu powinien zmieniać stan diody na pinie PD0 na przeciwny. Proszę o pomoc w napisaniu kodu . Przepisz dokładnie to samo co napisałeś...
Pisze właśnie program obsługujący matrycę LED 126 na 15 mam sobie prototypowy programik który wygląda tak : Config Timer0 = Timer , Prescale = 8 On Timer0 Tim0 Load Timer0 , 200 Enable Timer0 Enable interrupts Do For Da = 0 To 240 Dat(da) = 128 Next Da Loop End Tim0: Nr2 = Nr2 + 1 Nr3 = Nr2 + 15 Nr4 = Nr3 + 15 Nr5 = Nr4 + 15 Nr6 = Nr5 + 15 Nr7 = Nr6...
Heh :-) Siedziałem 2 dni nad tym (aż żona dostała białej gorączki) i doszedłem o co w tym wszystkich chodzi. Po pierwsze to musiałem zamienić UARTy, tzn. sprzętowego użyć do komunikacji z modemem GSM, zaś Softowego do komunikacji z PC. Po drugie intrukcja Bascoma Print domyślnie na końcu wysyła chr(13) i chr(10), więc musiałem użyć instrukcji printbin...
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ść...
Disable Interrupts Call Gettime Enable Interrupts Jeżeli funkcja Gettime trwa zbyt długo to gubisz przerwania od timera. Jak zmieniłeś preskaler, to masz przerwania co 8ms i pewnie już się wyrabia. Co takiego robi w Bascom Gettime, że trzeba wyłączać przerwania?
Witam.Piszę soft który ma na celu obsługę kart SD i LCD od 6100.Samą obsługę LCD opanowałem (na atmedze8) jednak nie wiem czy SD będzie działać.Jako kartę wykorzystam m2 1gb (została po starym telefonie).Jak na razie nie mam dostępu do atmegi bo właśnie co ją spaliłem jednak pytam się o poprawność softu.Jak widać w sofcie brakuje jeszcze odczytywania...
Napisałem swój pierwszy prosty programik, na wzór z książki Wiązani, obsługujący wyświetlacz 4xLED i LCD. Na LED wyświetlany jest licznik a na LCD tekst. Wszystko działało dopóki nie dodałem obsługi klawisza na PORTA.4. Doszedłem do obsługi klawisza za pomocą Debounce ;) i próbowałem jak działa. U mnie nie działała więc sprawdziłem na If ..then. Założenie...
Pisząc program chciałem wstawić swoje znaki za pomocą polecenia Deflcdchar, ale pojawił się problem . Na wyświetlaczu lcd zamiast zdwfiniowanych znaków pojawiają się krzaczki , próbowałem na różnych prockach attiny2313, atmega8 i atmega32 wszędzie to samo. Wszystko oprócz tego wyświetla się normalnie, ponadto zauważyłem że mój bascom generuje źle kody...
Witam Mam problem z moim układem. Przy pomiarze ADC w moim układzie wyskakuje mi cały czas wartość w okolicach 60 (zakres ADC do 1023). Obojętnie co podaję na wejście cały czas mam tą wartość. Jeżeli jednak dokonuję pomiaru miernikiem to mam odpowiednie napięcie, np 2,5V. Jednak co ciekawe, jeżeli podam te napięcie bezpośrednio na nóżkę w płytce prototypowej...
Edytowałem posta i dodałem obliczenia. Zmylił mnie trochę ten zapis: Load Timer0 = 250 Rozumiem że to spowoduje odliczenie 250 taktów, a nie wpisanie tej wartości do rejestru timera. Dawno do Bascoma nie zaglądałem.
Witam! Napisałem sobie obsługę klawiatury matrycowej 3x4 w bascomie. Nie używam umieszczonej tam funkcji getkb(), ponieważ podłączona jest do różnych portów. Sprawdzanie wciśniętych przycisków chcę przeprowadzić w przerwaniu od wewnętrznego zegara TIMER0. Na ATmega32 wszystko bez problemu działa. Płytka, pod którą to robię działa niestety na ATmega8515....
Witam Mam AtMegę32 i chciałbym wykorzystać wszystkie 4 kanały PWM. Programuję w Bascomie. Na razie rozgryzłem tylko 2 kanały. [syntax=basic] Config Timer1 = Pwm , Pwm = 8, Prescale = 1, Compare A Pwm = Clear Up, Compare B = Clear Down Pwm1a = 127 'example - half voltage Pwm1b = 255 'example - full voltage [/syntax] Czy muszę do 4 kanałów wykorzystać...
Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który informuje użytkownika o zbyt niskiej lub wysokiej temperaturze...
w tym wątku Bascom... i nie mam więcej pytań. Przejdź na normalny język (C/C++), bo to Bascom i biblioteka cię ogranicza, a nie Atmega. BTW: Nie raz robiłem zapis na karcie SD w Atmega bez żadnego timera (daty plików nie były dla mnie istotne). Czy Kolega ma na myśli szybką zmianę stanu portu sterującego LCD, stan zmieniałby się po przepełnieniu Timer'a,...
Dyskusja schodzi z tematu więc założyłem nowy temat do wygadania się: A teraz jeszcze na temat. Zegar wskazuje czas prawidłowo ale nie przerzuca daty przy zmianie doby czyli po minięciu godz. 23:59:59 Funkcja Secofday() przybiera o godz. 00:00:00 wartość 0. Chciałem więc to wykorzystać do zwiększenia zmiennej _day lecz nic z tego. Można do niej przypisać...
Mcucr = Mcucr Or 2 W helpie wyczytałem że procesory serii Mega mają przerwanie INT0 tylko na niski poziom i wykonują się w kółko jak poziom jest niski. Z drugiej strony ATmega8 Bascom tolerował, ATmega32 już nie. Dokumentacja mnie wprowadziła w błąd. Omawiając przerwania jest odesłanie do strony z opcjami uśpienia, a powinno być dużo dalej do zegara...
hmmm... dla mnie jest dziwny bo dziś go pierwszy raz uruchomiłem :) wysyłam listing programu, jest to przeróbka programu napisanego (przeze mnie :D) dla '4051, która w bascom avr ma być rozbudowana o kilka ciekawych rzeczy :) jeśli ktoś coś wyczaił w moim prgoramie to proszę dać znać :D sam też spróbuję się trochę pobawić... dodam jeszcze, że ustawiony...
$crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Dim Msek As Integer Dim Sek As Byte Msek = 0 Sek = 0 On Timer1 Zegar Cls Enable Interrupts Enable Timer1 Start Timer1 Config Timer1 = Timer , Prescale = 64 Counter1 = 3036 Do Loop Zegar: Incr Msek If Msek = 2 Then...
Witajcie fachowcy! potrzebuje sprawdzonej procedury, która na wyjściu oc2 (pb3) pozwoli mi uzyskać przebieg pwm. help nic nie mówi o atmega 8, udało mi sie to metodą prób i błedów na atmega32 a na 8-mce nie działa... mile widziane asm lub bascom. z góry dziękuje za każdy rodzaj skutecznej pomocy.
Proszę rzucić okiem na dokumentację ATMega32 w sekcji Timer0/Counter0 and Timer1/Counter1 Prescalers , rys. 39 i porównać sobie z rys. 31 w tej samej sekcji w dokumentacji ATMega8. Czy widać jakąś różnicę? A zatem 2x większe taktowanie wymusi całkowitą zmianę w programie.
Dokładniej chodzi mi o ATmega16(L) i ATmega32(L). Dam sobie radę ze skonfigurowaniem TCCR0. Chodzi mi tylko o zastąpienie wyjścia OCR1A wyjściem OC0 i zwolnienie Timera1 do innych zadań. Czy to zadziała?
Witam! Sorki że odgrzebuję stary temat, ale mam problem. Szukałem w helpie bascoma przykładowego programu ( mam atmega32 i płytkę testową evb 3.4 16Mhz ) i zmieniłem tam tylko nazwę Uc taktowanie na 16 Mhz i żeby wyświetlał to na lcd i nic. Mój program wygląda następująco: '---------------------------------------...
Rezystory są już dane na płytce, zresztą zegar na PCF działa bez zarzutu ( no może trochę śpieszy, ale to kwestia kondensatora przy kwarcu ) sprawdziłem połączenia - nóżki 5 czyli SDA ( 24C02 i PCF8583 ) są podłączone do 23 nogi uC, czyli PC1-SDA. Podobnie z SCL. Teraz zrobiłem tak, że odczyt jest po włączeniu/resecie ( przed pętlą główna ), a zapis...
Witam, Posiadam czujnik odległości HC-SR04. Mam problem z obsługą tego czujnika na atmedze32. Napisałem bardzo prosty program który powinien moim zdaniem działać ale nie działa :) Siedzę na nim już 3h i nic... Wszystkie kabelki są dobrze podłączone (sprawdzone 5 razy), czujnik jest dobry bo sprawdziłem go programem z bascoma znalezionego na forum [url=]w...
Witam Zmontowałem sobie układ Atmega32 z pojedynczym wyświetlaczem 5x7 i wszystko działa tak jak należy ale problem zaczyna się w innym miejscu. Potrzebuję połączyć 3 takie wyświetlacze, lecz nie mam pojęcia w jaki sposób to zrobić. Proszę o pomoc Tutaj podaję listing programu
Witam Mam następująca konfiguracje sprzętowego PWM przy częstotliwości zegara 8MHz: [syntax=basic4gl]Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1 Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 8[/syntax] I jak dobrze liczę to 10 bitowy ma około 4kHz a 8 bitowy około 2kHz....
Witam, Mam mały problem. Pewnie za bardzo kombinuje ale może pomożecie. Mianowicie chce mierzyć czas przejazdu pomiędzy bramkami. Wykorzystuje Atmega32 (bo taką mam na płytce testowej) a docelowo ma być Atmega8. Czas startu i mety wykonuje za pomocą przycisku na przerwaniach INT. Niestety program nie liczy mi czasu tylko "coś" sam sobie liczy max do...
Witam Z wycinków kilku programów chciałem zrobić jeden duży barkuje kilku rzeczy i zwiazku z tez pytania W jaki sposób mogę zwiększyć ilość wejść i wyjść żeby zmieścić wszystko ? ( patrz 1 PINY ) brakuje ustawiania podlewania względem kalendarza zielonego pojęcia nie mam jak z pcf mogłbym ustawić godzinę i czas podlewania np 18:00]przez 1 min ? brakuje...
Myślę, iż po sprawdzeniu sprawy dowiemy się prawdy na forum. Wie Kolega, nie, zrobię to w ścisłej tajemnicy, tak żeby nikt się o tym nie dowiedział. 1. Podany na samym początku kod kompiluje się BEZ BŁĘDÓW w Bascomie 2.0.7.6 2. Ponadto - rozmawiamy od ATMega32, tymczasem w kodzie załączonym w 1. poście regfile podany jest dla ATMega644p - a to zupełnie...
Witam! Stworzyłem kiedyś projekt na atmega32 w którym za pomocą dwóch timerów 8-bitowych regulowałem dwie częstotliwości wyjściowe ustawiając timery w tryb ctc Tccr2 = &B10011001 Ocr2 = Wartosc Tccr0 = &B10011001 Ocr0 = Wartosc1 wszystko idealnie działało jednak z czasem pojawiła się potrzeba aby regulować częstotliwość z większą dokładnością. Postanowiłem...
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...
Sprzęt: Atmega32+bascom wykorzystując PWM steruje, przez tranzystor BC557 i darlingtona TIP122, obrotami wentylatora 12V. Problem: TIP 122 bardzo się grzeje - zamontowany jest na dużym radiatorze + wiatraczek i temperatura jest wysoka (napewno powyżej 60 st. C) Oczywistym faktem jest, że straty TIP122 są proporcjonalne do częstotliwości PWM jakim jest...
Hej! Jest możliwe ustalenie konkretnej częstotliwości sygnału PWM w AVR. Da się sterować serwem modelarskim bez problemu. W Datasheet od ATmegaXX znajdziesz opis timerów. Jest tam wiele trybów pracy możliwych do wybrania. Ja pamiętam że do uruchomienia serwa użyłem trybu poprawnej fazy i częstotliwości. Potem na podstawie częstotliwości kwarcu i nastaw...
Próbowałem to rozwiązanie ale rzeczywiście jest to chybiony sposób. Chciałem zrobić rejestrator temperatury który zapisywałby na kartę pamięci co 5min temperaturę i godzinę. Wszystko już mam oprócz zegara. Teraz wymyśliłem aby procesor (atmega328) była również zegarem. Ale nie wiem czy da rade tak zrobić. Timer1 mam zajęty. Na timerze0 chciałem generować...
Witam Czy procesor AtMega 328p wyrobi się przy założeniu: Odczyt danych z RS485 Zapis danych na karcie SD Zakładam tak: PD0, PD1 - UART PD3 - przełączanie transmisji RS485 PC4, PC5 - I2C ( TWI ) pod EEPROM + PCF8563 PC0, PC1, PC2, PC3 - linie danych wyświetlacza PB1, PB2 - linie E i RS wyświetlacza PB3 ( OC2A ) - podświetlanie wyświetlacza PD4, PD5,...
Niestety to nie pomogło, nie wiem czy to zrobiłem dobrze ale dodałem następujące elementy: [syntax=basic4gl] Config Timer0 = Timer , Prescale = 256 'konfiguracja timera0 On Timer0 Ontimerint 'wywołanie Ontimerint przy przerwaniu z timera Enable Interrupts Enable Timer0 Dim Count As Byte 'zmienne obsługi timera Timer0 = 6 'inicjalizacja timera Count...