(...) żdy zasilany z osobnego źródła i odseparowany transoptorami PC817. Ze względu na ich szybkość oraz niską wartość prądów je sterujących 1mA zegar musi być obniżony do 10KHz ma. Chcę zrezygnować z polecenia: waitus 100 w zamian zrealizować to w obsłudze timer0 a w główną pętle przeznaczyć na inne cele. Rozumiem, że chcesz optymalizować swoje oprogramowanie...
Troche sie zamotałem i nie wiem jak wybrnąć... Jak zliczyc przerwania on timer0, innymi słowy jak policzyc ile 1ms wystąpiła przy podczas przerwania wtrysku... [syntax=basic4gl] $regfile = "m128def.dat" $crystal = 16000000 $hwstack = 32 $swstack = 32 $framesize = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6...
Witam! postanowiłem użyć dwóch timerów lecz za chint nie chce mi to działać :( [syntax=basic4gl]Sub Tmr1 Cls Dim Sek As Byte Enable Interrupts Config Timer1 = Timer , Prescale = 256 Enable Timer1 Timer1 = 34286 On Timer1 Czas: Start Timer1 Sek = 0 Locate 1 , 1 : Lcd " Czas zadzialania" Locate 2 , 12 : Lcd Chr(1) : Lcd " -MENU" Locate 4 , 12 : Lcd "C...
Witam Potrzebuję pomocy w przeportowaniu kodu źródłowego z BASCOM na C (Atmel Studio 6) - mikrokontroler ATMEGA128 Na początek fragment takiego kodu: [syntax=basic4gl] Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Disconnect , Compare B Pwm = Clear Down...
witam mam takie pytanko co nalezy zrobic aby uzywac usarta1 w atmega128, w up z jednym tylko usartem wystarczy skonfigurowac parametry transmisji poprzez $baud = ... natomiast atmega128 posiada dwa usarty i chcialbym korzystac z usart1 mam jeszcze jedno pytanko chcialbym na tym up zrobic zegar czasu rzeczywistego (rtc) z dokumentacji wyczytalem ze mozna...
Poczytałem trochę o timerach i prescalerach i mam nadzieję że teraz napisałem obsługę timer0 bez "rażących" błędów :?: Program posiada dwa założenia: zlicza liczbę zapisanych na SD zmiennych typu word lub zlicza ilość odczytów z ADC w ciągu 1sek, wyniki wyświetla na lcd. Zmieniłem również zmienną "f" liczącą zapisy/odczyty z byte na single bo zorientowałem...
1. pokaż schemat i ewentualnie kod. 2. zobacz czy nie masz podłączonych pinów gdzieś, gdzie możesz mieć załączone timer0 lub timer1 (PWM) ,przerwania. miałem podobny problem ze sterownikiem KSO108. piny OC1A, OC1B, INT... (mimo ich zadeklarowania jako wyjścia dla LCD mogą robić zupełnie coś innego) zamień chwilowo na inne. 3. bez schematu dalsze zgadywanie...
No chyba coś robię nie tak, bo nie działa. Zrobiłem w ten sposób : Var_byte = Sfior Var_byte = Var_byte Or 128 Sfior = Var_byte ' ustawiam TSM na "1" Var_byte = Var_byte Or 2 Sfior = Var_byte ' wpisuję "1" do PSR0 - kasowanie preskalera ' *** TIMER0 JAKO PWM Ocr0 = 0 Tccr0 = &B01101010 'timer0 in fast pwm mode, prescale = 8 10kHz...
Myślę że forum jest nie tylko po to by pytać. Kolega zdążył zamknąć wątek i napisał że Bascom nie pozwolił na skonfigurowanie Timera i musiał to zrobić na rejestrach. Nie wiedział jak, a ja chciałbym dla potomnych zostawić instrukcję. Dołączyłem ten post i odblokowałem temat. Tak to wygląda i się kompiluje: [syntax=basic4gl]$regfile = "m128def.dat"...
Bascom tablice numeruje od 1. Można w nim zrobić tylko tablice jednowymiarowe. Ale masz w Atmedze128 4 liczniki. Nigdy nie robiłem nic na ATmega128. Ale właśnie ściągnąłem datasheet i widzę że timer3 ma 3 rejestry OCR timer1 2 rejestry timer2 i timer0 po 1 rejestrze. To razem osiem. A jeszcze pojemność liczników ustawiana-to jeszcze 4. To są różne częstotliwości...
Zastosowany kwarc 16 MHz Config Timer0 = Timer , Prescale = 256 i mam kilka flag potrzebnych w programie Prztimer0: Timer0 = 5 Set Flaga_4ms Incr Dzielnik(1) If Dzielnik(1) = 25 Then Dzielnik(1) = 0 Set Flaga_100ms Incr Dzielnik(2) If Dzielnik(2) = 5 Then Dzielnik(2) = 0 Set Flaga_500ms Incr Dzielnik(3)...
Przerobiłem tak, żeby wysyłał testowo tylko jedną wartość ( losową ) co 8 sekund Dodano po 18 Dołożyłem Clear Serialin0 Com1_str = "" czyli [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...
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 '...
Witam Męczę się nad uruchomieniem obsługi RC5 w Atmega128 na pinie E.4 (INT4). Konfiguracja wygląda tak: [syntax=basic4gl] Config Rc5 = Pine.4 On Int4 Readir Config Int4 = Low Level Enable Int4 [/syntax] Procedura odbioru tak: [syntax=basic4gl] Readir: Disable Int4 sei Getrc5(adres , Rozkaz) Rozkaz = Rozkaz And &B01111111 Return [/syntax] Generalnie...
Niby wszystko jest w porządku a za żadne skarby nie chce poprawnie działać. Kiedy przy timerze 2 ustawiam wartość prescalera na 256, to wychyla się w prawo, a jak na 1024 to w lewo. Ma to też wpływ na prędkość ruchu i siłę, ale nie rozumiem dlaczego. Poza tym cały czas lekko drży. Na razie używam wewnętrznego oscylatora, bo nie dopatrzyłem i wlutowałem...
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...
a czy mógłbym w takim razie prosić o jakiś przykład z getrc5? ja używam czegoś takiego: '---------------------------------------... ' RC5.BAS ' (c) 2000 MCS Electronics ' oparte na nocie aplikacyjnej AVR410 f-my Atmel '---------------------------------------... $regfile "m1280def.dat"...
Dzięki za podpowiedź. Będę mógł sprawdzić dopiero pod koniec tygodnia. Niestety dopiero teraz, jak "mam mokro w gaciach" wczytałem się w datasheet i wyględa na to, że zupełnie niepotrzebnie kombinowałem, bo miałem ustawione wszystko jak należy. Mam jeszcze jedno pytanie, ale dotyczy ono raczej assemblera i 1wire. Każdy, kto dłubie w asm, zostaje zmuszony...
To jest przyklad tego jak mozna obsluzyc DS1820 przez mega 8 ale jest tam tez obsluga wyswietlacza w C.Moze sie pryda.Sam to dostalem od jednego kolegi z forum:-) wiec mam nadzieje ze sie nie obrazi...mnie interesowal DS. Pozdrawiam Maciek! #include <avr/io.h> #include <avr/pgmspace.h> #include <stdlib.h> #include <ctype.h> #include...
Usunąłem Wait 1 przy konwersji z DS18B20, działa, bez problemu ( na trzech przewodach ), tylko wyniki są opóźnione - tzn. wyświetlany wynik nie jest z aktualnego pomiaru, tylko z poprzedniego. Dodałem jeszcze dwa czujniki DS18B20. Ich zapis razem z godziną i datą na karcie jest jak najbardziej w porządku, tylko wyświetlanie trochę szwankuje - tzn. czasem...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
Spoko, tylko to jest na ATmega128. Co do kart pamięci to musiałbyś napisać obsługę sam. Generalnie poczytaj notę katalogową. //inicjalizacja Timera 0 jako generatora PWM void Timer0_PWM_mode() { DDRB |= (1<<4); TCCR0 |= (1<<WGM00) | (1<<WGM01) | (1<<COM01) | (1<<CS00);...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu ) [syntax=basic4gl] $include "Config_AVR-DOS.BAS"...
Podłącz sonar do interfejsu TWI w ATmedze 128. Wyjście ANOUT zostaw w spokoju. Sonar trzeba tak czy siak uruchamiać po i2c, a skoro tym samym interfejsem odczytuje się odległość, to nie widzę najmniejszego sensu samego wyjścia ANOUT. Zakładam że znasz chociaż bascoma i będziesz wiedział co z tym zrobić ;) Kod jest z robota, stąd trochę niepotrzebnych...
Witam! Z tego co zauważyłem, a to: '-------------------------obsługa przerwań--------------------------------... '''''''''''''''''''''''sekunda - przerwanie od zegara'''''''''''''''''''''''''' Calasekunda: Cala_sekunda = 1 Stop Timer0 Impp = Tcnt0 Tcnt0 = 0 Start Timer0 Liczba_taktow = Capture1 Capture1 = 0 Return wg. mnie powinno być: '-------------------------obsługa...
Co do rezygnacji z Waitms 750, to miałem kiedyś taki pomysł: - przerwanie od Timer0 wywołuje [syntax=basic4gl] 1wreset 1wwrite &HCC 1wwrite &H44 [/syntax] reset licznika reset flagi - przerwanie od Timer0 wywołuje [syntax=basic4gl] '*************** Czujnik 1 1wreset 1wverify Dsid1(1) Ds1_brak = Err Rfm_tab(6) = Ds1_brak 1wwrite &HBE Rfm_tab(8) = 1wread()...
Mam płytkę nadajnika na Atmega328 ( odbiera sygnał DCF77, ma zegar PCF8563 oraz obsługuje czujniki DS18B20 ), sprzętowe SPI. RFM12 mam w wersji S, czyli SMD na 5V, wiec cały układ jest zasilany z 5V. Układ programuje się bez problemu, nie trzeba wylutowywać RFM12 lub wyciągać Atmegi.Testowo chciałem przesłać dane o czasie i dacie. W zamieszczonym kodzie...
Co myślisz o tym żeby użyć tylko jeden Timer? [youtube]https://www.youtube.com/watch?v... [syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 16000000 '*** Timer0 Config for 500Hz Interrupt CTC Mode *** Config Timer0 = Timer , Prescale = 256 , Compare A = Disconnect , Compare B = Disconnect , Clear Timer = 1 Enable Compare0a :...
Witam :) Jako ze jest duzo pytan na forum na ktore odpowiedz padla, postanowilem ze zbiore choc troche postow do kupy, tematy dotycza glownie AVR, bo z ARMow jeszcze nie czuje sie na tyle na silach zeby robic FAQa ;) Mam nadzieje ze sie komus przyda :) Niby FAQ jest, ale dla mnie jakoś malo czytelny i chyba nikt go juz nawet nie aktualizuje ;) Jesli...
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...
Zainstalowałem AVR Studio4 i lecę od początku z google i pdf na temat ASM i AVR Powiedzcie chociaż czy w dobrym kierunku zmierzam? Bo jak w złym to odpuszczam i daje sobie spokój, pobawię się migającymi diodami w Bascomie. Tam gdzie nie ma komentarza to nie wiem co to znaczy i co robi ale było w pdf lub innych opisach, jeżeli ktoś może mi wyjaśnić instrukcje...
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...
Sterowanie obrotami silnika powinno być w przerwaniu od timera. Trzeba wstawić flaga_1ms. No i dodać jakiś licznik kroków. To jest ostatni kod popełniony w Bascomie: 'Program do sterowania małych silników krokowych za pomocą ATMega168 it.p. i układu L6219 lub LB1845 'sterowanie ćwierćrokowe, zasilanie 40V $regfile "m168def.dat" $crystal =...
Chyba wykrakałeś tę liczbę szatańską- przy 40V zasilania z płytki zaczął się wydobywać dym. Uporządkowany trochę kod- jeszcze w bascomie- ale łatwiej będzie wystawiać stan portu w C. 'Program do sterowania małych silników krokowych za pomocą ATMega168 it.p. i układu L6219 lub LB1845 'sterowanie ćwierćrokowe, zasilanie 40V $regfile "m168def.dat"...
Witam, mam kod: [syntax=basic4gl] Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Disconnect , Compare B Pwm = Clear Down , Prescale = 8 Config Timer2 = Timer , Async = Off , Prescale = 1024 , Compare = Disconnect , Pwm = Off , Clear Timer = 1 Config Timer3 = Timer , Prescale = 256 Config Int6 = Change On Ovf0...
Witam Do "kompletu" brakuje mi obsługi zegara DCF77. Tzn. uruchamiałem już wcześniej na Atmega8 i nie było problemów. Jednak przy tym układzie wykorzystuję Timer, przerwania - może konfiguracja jest zła ?. Timer0 - liczniki i flagi Timer1 - DCF77 Timer2 + INT0 - odbiór RC5 INT1 - przerwanie od PCF8574 Całość działa, do momentu podpięcia sygnału zegara...
Mam problem z odbiorem danych z rc5. Kiedy uruchomię program demostracyjny rc5 z help'a bascom avr to wszystko dział poprawnie. Jeśli wkleję obsługę rc5 w istniejący program, to powstaj problem, procesor odbiera tylk dane 255 i 127. Może ktoś zna rozwiązanie tego programu. Poniżej zamieszczam kod mojego programu. $regfile = "m128def.dat" $crystal =...
timer0 atmega128 atmega128 timer0 bascom timer0
oznaczenia koralików ferrytowych pilot cyfra czerwona rodzaje instalacji elektrycznych
przewijanie silnika vectra zrywanie
Lewy klawisz myszy nie działa - zamienniki mouclass.sys i mouhid.sys Piszczenie przetwornicy w wieży audio mimo prawidłowych napięć