Witam! Potrzebuję zmienić TIMER1 do obsługi PWM na TIMER2 ktoś pomoże? ATMEGA32 BASCOM
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...
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...
1Hz to raz na sekundę. 8MHz to osiem milionów razy na sekundę. Sekunda jest tu kluczowa. W ciągu sekundy procesor taktowany 8MHz przetworzy około 8mln instrukcji (pomijam te które wymagają dwóch taktow) no a jak podłączysz do procesora taktowanie 16MHz to odwali dwa razy tyle roboty w ciągu sekundy . Zerknąłem na twoje kody i mam kilka rad. W Bascom...
Łap, bo jak się długo męczy temat a efektów nie widać to można popaść w depresję a tego nie chcemy :D Tego LM293 to kupiłem chyba ze dwa lata temu i tak sobie leżał bo używam innych driverów, ale pomyślałem, że się może kiedyś przydać. No i się doczekał :D Nie wiem jaki jest ten Twój silniczek, ale mój pochodzi z Walkmana. Pump up the volume żeby usłyszeć...
Witam, Mam problem z pomiarem czasu trwania impulsu. Próbowałem różnych sposobów, siedzę już nad tym 3 dzień i nic mi nie wychodzi. Na wejście INT0 atmegi32 podaję sygnał np. 30Hz i wypełnieniu 15%. Sygnał jest stabilny więc tutaj problem odpada. Potrzebuję zmierzyć czas trwania stanu wysokiego. W programie który stworzyłem na wyświetlaczu wyświetla...
Czy i który timer wykorzystuje 1wire. Chce wyorzystać jeden timer do cyklicznych przerwań, ale jak wykorzystam timer 0 lub timer 1 wysiada transmisja 1wire. ATmega32 nie ma wbudowanego interface 1wire, wiec nie rozumiem problemu, a wróżyc tylko mogę, że o bascom się rozchodzi... Stawiałbym na niezbyt szczęśliwą obsługe przerwań przez Bascom (zapisuje/odczytuje...
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...
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...
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 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,...
Przecież pisałem ci aby Getrc5 dać w przerwaniu, eeeh, no kolego - weź no użyj troszkę szukajki na elektrodzie chociażby. Int1_rc5: Disable Int1 Enable Interrupts If Ir_flag = 0 Then Getrc5(address , Command) Ir_flag = 1 End If Return a potem w pętli głównej: Do if Ir_flag = 1 then Ir_flag = 0 If Address < 255 then ..... tutaj dalej obrabiasz...
Wszystkie Timery układu Mega32 mogą generować sygnały PWM: Timer0 - jeden kanał: OC0 - PB.3 Timer1 - dwa kanały: OC1A, OC1B - PD.5, PD.4 Timer2 - jeden kanał OC2 - PD.7 Na wejściach T0 i T1 liczniki nie generują sygnałów PWM. Co do samej konfiguracji to problem jest prawie żaden. W przypadku Timer1 sprawa jest prosta, gdyż CONFIG TIMER1 posiada wszelkie...
Tu nie ma żadnej filozofii. Ja co prawda programuję na ATmega16 i procedura wygląda tak: void generator_PWM(unsigned int wypelnienie) { TCCR2 =0x69; //tryb FAST PWM, bez preskalera, zeruj OC0 gdy porownanie = TRUE; f = 16M/256 = 62,5kHz OCR2 = wypelnienie; //wartosc porownywana 0..255 } Jak zrobiłeś PWM na ATmega32 to z tego co wiem...
Próbowałem przerobić wartość prescalera na 1024 tak aby timer2 dokładnie obliczał czas.Niestety dalej piosenki są w spowolnionym tempie. Proszę o pomoc :)
... PS. Dopiero teraz widać kolosalna różnice pomiędzy BASCOMEM a C. Temu pierwszemu zebranie 205 próbek do tablicy zajmowało ok. 50-100ms, C takie zadania załatwia w przerwie na kawę ;) i trwa to ok. 2-3ms może mniej, bo ustawiłem w przerwaniu zapalenie diody, i mrugniecie tak krotko trwa, ze prawie go niema ;). Tiaaa..., a gdyby napisać to w asemblerze,...
Timera2 akurat na razie nie masz. To znaczy masz go w procesorze, ale nie w kodzie programu. Jak już to tak: Config Timer2 = Timer , Async = On , Prescale = 128 On Timer2 Timer2_int Enable Timer2 Timer2_int: Incr Sek If Sek > 59 Then Sek = 0 Incr Min_l If Min_l > 9 Then Min_l = 0 Incr Min_h If Min_h > 5 Then Min_h = 0 Incr Godz_l If Godz_l...
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...
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. 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ś...
na bascomie sie za dobrze nie znam, timery mam juz wykorzystane w programie tak: Config Timer0 = Counter , Edge = Rising Config Timer1 = Timer , Prescale = 64 Config Timer2 = Timer , Prescale = 1 napisales by ustawic timer tak by odliczal sekunde ale nie wiem jak to zrobic(?) i dlatego nadal szukalem prostszego rozwiazania... moze da sie cos wykompinowac...
Oczekujesz pomocy a nie dałeś kodu! Już lecę do Wróżbity Macieja! Bascom ma tyle błędów co Windows. Z osobna to wszystko działa, jak chcesz uruchomić kilka rzeczy to już nie. Nie ma się co tym przejmować, bo w Arduino i HAL dla STM32 jest tak samo. Zgaduję (kodu nie ma, a Wróżbita Maciej jest akurat zajęty), że używasz Bascom do konfiguracji PWM. Użyj...
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 kolegów Potrzebuję rozwiązać problem z Atmegą 328 i wyjściami PWM Chce zaprzęgnąć wszystkie 6 PWM-ów PWM1A i PWM1B działają bez problemu z Timer1 Ale wszelkie nastawy chociażby z Timer2 i OCR2a i 2b są błędne Czy ktoś posiada tylko ustawienia sprawdzone przetestowane w bascomie dziękuję Grzesiek
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 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...
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?
TIMER2 jest ośmiobitowy więc nie ma rejestrów H i L bo nie ma czego podzielić na dwa. Tak, tak, racja. Nie doczytałem noty i myślałem, że to dwa identyczne timery. TCCR2A i TCCR2B są zdefiniowane i da się Timer2 skonfigurować przez rejestry, tylko nieco inaczej. Sterowanie też powinno zadziałać przez OCR2A i OCR2B. Muszę tylko ogarnąć jak skonfigurować...
Tylko proszę mi podpowiedzieć, czy dobrze rozumiem nazwy kanałów i ich timerów Timer0 - Pwm0 Timer1 - Pwm1a, Pwm1b Timer2 - Ocr2
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...
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 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...
Bascom nie wykonuje dwóch działań arytm. lub instrukcji w jednej lini. Wiem to, wskaż w którym miejscu próbowałem coś takiego zrobić. Chodzi o last=last+getadc(1) ? Instrukcja wykonuje się poprawnie. Wyglada że chcesz mi wmówic, że wprowadziłem cię w błąd. Nie, po prostu stwierdzam, że po wprowadzeniu zmian nadal nie działa tak jak bym chciał. To wyjaw...
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]https://www.youtube.com/watch?v... Nie obyło się bez problemu , który polegał na zliczaniu bezwzględnym więcej niż 65535 impulsów . Mój wpis z innego...
[syntax=basic4gl] $regfile = "M32def.dat" $crystal = 16000000 '************************* WYSWIETLANIE-porty ********************************** Lcd_port_ddr0 Alias Ddrb Lcd_port1 Alias Portb Lcd_port_ddr1 Alias Ddrb Lcd_rs Alias Portb.lcd_rs_number Lcd_reset Alias Portb.lcd_reset_number Lcd_cs Alias Portb.lcd_cs_number Lcd_sck Alias Portb.lcd_sck_number...
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, 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...
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...
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! 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...
Ja osobiście jak narazie pisze w Bascomie. W Bascomie wygląda to tak: Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 ' Konfiguracja Timera1 dla Pwm1a i Pwm1b Config Timer2 = Pwm , Async = Off , Pwm = On , Compare Pwm = Clear Down , Prescale = 1 ' Konfiguracja Timera2 dla Ocr2 Config Pinb.3 = Output...
Witam wszystkich bardzo serdecznie. Z okazji ukończenia szkoły elektronicznej postanowiłem zrobić sobie zegarek/wyświetlacz widmowy. Niestety utknąłem na funkcji, która ma odczytywać znaki z tablicy w pamięci i wyświetlać je w zrozumiały dla ludzi sposób ;). I tu zwracam się do was z prośbą o pomoc w poprawieniu tej funkcji abym mógł wyświetlić jakąkolwiek...
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. Nie bardzo rozumiem uzyskania 1sek z kwarcu 32768Hz i prescaler 128. Liczę w ten sposób : 32768Hz / 128 = 256Hz = około 4ms
Jest tego sporo, DCF77, 7 x DS18B20 i DHT11 ( akurat jeśli chodzi o niego to mam wątpliwości, czy ten kod działa, bo jest na obydwu płytkach podpięty i zdarza się zawieszenie ) Nadajnik Atmega328p Dodano po 16 Odbiornik Atmega644P - trochę zmieniłem obsługę przerwania, wydaje mi się, że w przerwaniu nie powinno się wykonywać dużych obliczeń. [syntax=basic4gl]...
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...
timer2 atmega32 atmega32 timer2 bascom timer2
netiaspot zrywa połączenie koło pompy wtryskowej astra alpine kostki
mazda wypadanie zapłonu lodówka daewoo schemat
Bezpiecznik regulacji świateł Audi TT 8J 2010 2.0 TDI Radio Panasonic CQ samoistnie się przełącza