Wybrałem tryb 9 (Phase and Frequency Correct) i napisałem następujący kod: Nienajlepszy to wybór, bo akurat w tym trybie wartośc TOP jest ustawiana w rejestrze OCR1A, służąca do kontroli częstotliwości pracy timera , tymsamym elinujesz możliwośc generowania fali kanałem A. W tej sytuacji generowanie fali jest możliwe tylko w kanale B . Patrz ostatni...
https://obrazki.elektroda.pl/3496920600_... Jednym z pierwszych projektów, które zrealizowałem mając 9-10 lat było pudełko z kilkoma LEDami, przełącznikami i potencjometrem - taka tam wprawka w lutowanie. Drugim była migająca strzałka LED z kitu bodaj Jabela. Pierwszym, który zepsułem lutownicą transformatorową (której nie polecam)...
Witajcie, Potrzebuję konfiguracji timera 1 dla atmega8 aby wykonywał funkcję z częstotliwością ~244Hz (zegar 16MHz i preskaler 2^16) . Chciałbym uniknąć używania dodatkowych bibliotek. Będę wdzięczny za przykładowy kod :) jakąś Przy okazji; jeśli użyję do tego celu timera 1, mogę równocześnie używać wyjść OC1A oraz OC1B jako zwykłe wyjścia I/O? Timer1...
http://obrazki.elektroda.pl/6379987900_1... Czy spotkał się ktoś z tabela wartości rejestrów, w szczególności chodzi mi o rejestry 4, 5, 6 dla wszystkich UPS-ów z serii Smart? Na stronce przyjaciół zza wschodniej granicy jest większość modeli poza 5000, a wartości tych rejestrów właśnie mnie interesują. Walczę z wmówieniem UPS-owi, że dostał...
Witam. skopiowałem program do wyświetlania znaków na LED. Dodałem pare znaków. Wyświetlanie kolejnych znaków realizowana jest poprzez przerwanie od przepełnienia licznika T1. Efekt nie jest taki jaki powinien być na wyświetlaczu mam wciąż 1 wyświetlaną cyfrę. Nie wiem co jest nie tak? Poniżej przesyłem listing. Przeanalizujcie i powiedzcie co zmienić....
Witam wszystkich Elektrodowiczów! Próbuje ustawić odpowiednie wartości rejestru CAN1BTR (CAN Bus Timing Register) , tak aby działała mi magistrala CAN, jednak mam pewne wątpliwości i niejasności. Wg dokumentacji (str. 361 Tabela 322 CAN1BTR) wynika, że trzeba ustawić pięć wartości w rejestrze CAN1BTR: - BRP (Baud Rate Prescaler/Preskaler Szybkości...
Witam Piszę program, który ma sterować wypełnieniem PWM. Timer 1 skonfigurowałem następująco. ;konfiguracja rej TRCA1, TRCB1 zgodnie z mode 8 w nocie katalogowej Tabela 39, ; preskaler 8 kwarc 8Mhz. Zliczenie 1600 impulsów daje częstotliwośc 5kHz ldi r16 , ((1<<WGM13) | (0<<CS12) | (1<<CS11) | (1<<Cs10)) out TCCR1B , r16 ; wpisanie...
Witam, próbuję od wczoraj przerobić wprost w Bascomie, dokładnie w przerwaniu pewne polecenie na asembler: PORTA = Lookup(cyfry(nr_wysw) , Tabela) gdzie: cyfry to --> Dim Cyfry(4) as Byte nr_wysw --> Dim nr_wysw as Byte Tabela - to tabela zdefiniowanych cyfr dla wyświetlacza LED mam zrobione wyświetlanie multipleksowane i wszystko działa...
Program chyba ukończyłem: ;Program do "modyfikatora sygnału" ;Parametry techniczne dla taktowania 4MHz: ;- skrócenie czasu o wartość max ponad 2,5ms z krokiem co 10us ;- lub wydłużenie czasu o max stałą wartość ponad 20ms z krokiem co 80us ;- mnożenie czasu przez współczynnik około 1,00 do 2,55 ;- wejścia sygnałowe portB 0-3 ;- wyjścia...
Pokwapiłem się przetłumaczyć fragment ze strony 65 manuala ATMEGA8 dotyczący przerwań na pinie INT0. Wygląda on następoująco: • Bit 6 – INT0: External Interrupt Request 0 Enable When the INT0 bit is set (one) and the I-bit in the Status Register (SREG) is set (one), the external pin interrupt is enabled. The Interrupt Sense Control0 bits...
Witam, sytuacja wygląda następująco: chce zrobić PWM'a w przerwaniu TOV1, który sterowany jest z ADC. Problem polega na tym, że kod, który jest w tym przerwaniu nie powoduje żadnej zmiany na wyjściu PWM, jeżeli przenoszę kod do pętli nieskończonej wszystko chodzi jak należy i nie wiem dlaczego to w przerwaniu nie działa. Ponad to, gdy w przerwaniu tuż...
https://obrazki.elektroda.pl/4950580000_... Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka...
Witam! W jaki sposób mogę monitorować dowolny rejestr w sterowniku s7 -315, z jednoczesnym zapisem jego wartosci do tabeli co około 10 minut ? Chciałbym w ten sposób stworzyć tabele wartości rejestru na przestrzeni 24 godzin w celu stworzenia statystyk. Pozdrawiam Marek
http://obrazki.elektroda.pl/9694572400_1... Dzisiaj fragment książki ----------------------------------------... Rozdział 13. Zaawansowane sztuczki z PWM Cyfrowy syntezator dźwięków Aby generować dźwięki nieco bardziej interesujące od fal prostokątnych, musimy wykorzystać technikę PWM, żeby szybko...
1. kompilator na podstawie F_CPU sam policzy ( delay.h), aby było dobre opóźnienie w funkcji _delay_xx(). 2. dla 1wire błędy szybkości ustawione w UART nie mają większego znaczenia, w przeciwieństwie do transmisji łączem np. RS232. Dla tego konkretnego projektu można zwiększyć w setbaud.h tę definicję: #define BAUD_TOL 2 // na większą wartość 3. Poczytaj...
Wszystko w porządku. To są przeliczenia wewnętrzne sterownika. Stwórz tabelę i odczytuj rejestry w tabeli.
Po zapoznaniu się z datasheet Atmegi 8 (str.186-188 oraz rejestrów na str.309) troszkę mi się rozjaśniło. Oto poniższy kod który stworzyłem na podstawie powyższego. ....... Sprawdzę działanie w praktyce jutro. Gdyby było coś jeszcze w nim nie tak to proszę o reakcję :) \] O to właśnie chodziło! Dodam jeszcze: -zwróc uwagę na rejestr ADUMX. Trzy górne...
Ale na pewno bufor nie ma 2 bajtów. Ma - jeden bajt od razu jest ładowany do "shift register", a drugi czeka w rejestrze USART->DR. Dopiero trzeci i kolejne się nie mieszczą i muszą czekać na zakończenie wysyłania poprzednich.
Spróbuj użyć Modbus Tester [url=http://polish.modbus.pl/Modbus%20Te... Przykładowa ramka jest na stronie 46. W tym przykładzie urządzenie ma adres 10 (0A hex). Na stronie 44 jest tabela rejestrów z wartościami chwilowymi, max. i min. Każdy mierzony parametr zajmuje 2 rejestry. Ustaw adres - domyślnie powinien być 1 Funkcja - 04...
Witam. Panowie, pomoże ktoś w interpretacji tabeli rejestrów z załącznika? Chodzi mi o to, jakie wartości muszę wpisać, żeby zadziałały funkcje z kolumny "opis". Jak na razie udało mi się tylko ogarnąć, że do rejestru 41002 muszę wpisać 256, przy założeniu, że zasilacz ma adres A0 w systemie Dali, a do rejestru 41003 257 - zapala oprawę, a 256 - gasi.
Nie wiem czy zda to egzamin, ale mozna by było zastosować licznik BCD i dopiero jego wyjścia połaczyć z 74141. Mozna też ładować odpowiednie wartości do rejestru procka-&B...... Twozysz tabele z której procek pobiera wartości i wpisuje je do rejestru. Pozdrawiam
1. Chcąc coś wysłać do urządzenia, wysyłam bita staru, następnie wysyłam adres urządzenia, następnie adres rejestru (tabela) i następnie wartość jaką chcę wpisać do tego rejestru i całość kończę bitem stop? 2. I drugie pytanie w inicjalizacjii przycisków pod adresy NTHRkX wpisujesz różne wartości co te wartości znaczą?
Mam pytanie poboczne, które jednak jest powiązane ze sterowaniem tych diód: czy w stmie do 16 bitowego timera (tim3) mogę przepychać po 8 bitach z tabeli uint8? (oczywiście DMA jest skonfigurowane na transfer bajtowy). Mimo to przeglądając rejestry wygląda na to, że dane są ułożone po 8 bitów, ale do rejestru timera transferowane są mimo wszystko dwa...
Cześć, Czy ktoś z Was ma doświadczenie z komunikacją z pompą ciepła typu: NULITE BKDX50-200ii r32? Według informacji producenta obsługuje ona protokół MODBUS RTU, a na płycie sterującej złącze jest opisane jako RS485, ale po podłączeniu do tego złącza widzę prawdopodobnie komunikację między poszczególnymi płytami w pompie. Po wysłaniu zapytania na...
Witam. Wpisujesz dane przez 3-wire SPI/MICROWIRE standard: FSYNC, SCLK, SDATA (jak wymienione w "PIN FUNCTION DESCRIPTIONS", str. 6). Timing masz na str. 4, Figure 3. Ładujesz 16-bitowe paczki bitów (pierwszy jest MSBit). W tym celu FSYNC musisz ustawić LOW (działa podobnie, jak chip enable). Każdy kolejny bit jest przejmowany na opadającym zbiczu SCLK....
Przeanalizowałem swoja funkcję SerialInit i podejrzewam, że błędem jest, że do całego rejestru zapisuję tylko jedną jedynkę, a nie poprzez maskę (UCSR0C = ... zamiast UCSR0C |= ...), a przez to pozostałe wartości rejestru się zerowały, dobrze rozumiem? Bardzo dobrze :) Mam problem jedynie z ustawienie fusebitów: Na pewno muszę CKDIV8 ustawić, by nie...
Jestem w trakcie prac nad AY, odpalam sobie demo z https://www.elektroda.pl/rtvforum/viewto... i wychodzą jakieś dźwięki nawet trochę podobne do tych na filmikach ale muszę dobrać przełożenie okresu wpisywanego do AY na wysokość uzyskanego dźwięku. Na podstawie kodu z https://www.elektroda.pl/rtvforum/viewto...
(at)fourmove Wysyłasz do licznika zapytanie o 10 rejestrów, a z tego co widzę to tabela w tym liczniku kończy się na adresie 8. Spróbuj zmniejszyć length na mniejszą wartość. https://obrazki.elektroda.pl/6348328800_...
Ok coś tam rozumiem ale mam jeszcze taki problem albo prośbę bo nie wiem jak ustawić rejestry w attiny13 Tccr0a Tccr0b Admux Adcsra Adcsrb jakbym chciał pwm 8 bitowy (attiny13) z max częstotliwością tj chyba FAST PWM na pwm0a i pwm0b czyli 9600000/256=37500Hz przy działającym ADC. Reszta ustawień zostaje tak jak jest. To już będzie wszystko. Zacznij...
Część druga tej serii artykułów opisuje, w jaki sposób mierzyć prąd na liniach wysokiego napięcia lub ujemnych zasilających oraz jak ustawić rejestry konfiguracyjne dla metody szacunków poprzez pin IMON. Ten artykuł obejmuje zagadnienia odnoszące się do dokładności pomiaru prądu i zawiera instrukcje dotyczące programowania urządzeń przy użyciu LTpowerPlay®....
Hej, Przyznam że nie mogę do końca zrozumieć metody podanej w linku. ................. (1)Trzeba by zmienić częstotliwość taktowania. (2)wzory na policzenie częstotliwości są w rozdziałach modes of operation poszczególnych timerów. ________________________________________ Ad1. Nie trzeba -wyjaśnienie niżej... (poza tym, jak w Arduino chcesz zmienic...
Od końca - połówkę ujemną robisz tak, że przyjmujesz, że 50% to zero. Wtedy 100% to 1, a 0% to -1. Przygotowujesz tabelę zawierającą wypełnienia, wypełnienia są wartościami sinusa dla danego kąta. Dane z tej tabeli najlepiej ładować do rejestru wypełnienia timera przy pomocy DMA - nie musisz w trakcie zaprzęgać w to programu. Na wyjściu PWM dajesz filtr...
Witam, mam pytanie dotyczące protokołu Modbus RTU, zaznaczam, że dopiero zaczynam przygodę z PLC i sterowaniem przy użyciu Modbusa. Próbuję ogarnąć komunikację pomiędzy sterownikiem Fatek FBs-20MC jako master i wyświetlaczem DWIN jako slave. Ogólnie to działa ale próbuję zrozumieć sam mechanizm komunikacji. Problem w tym, że jak próbuję zapisać jeden...
No i porwałem sie na rozkaz LPM i mam problemy ze zrozumieniem. Taki prosty przykład poniżej. .include "m128def.inc" .EQU fq = 8000000 ; XTal frequency definition ldi r20,$00 out SPL,r20 ldi r20,$05 out SPh,r20 ; stos ustawiony na $0500 start: LDI ZH,HIGH(MyTable*2) ; Adress of table to pointer Z LDI ZL,LOW(MyTable*2) ;...
Przyznam że w elektronice cyfowej jestem praktycznie zielony więc nie za bardzo wiem co taki licznik robi. Czy on ma służyc jako pamięć czy jako układ odczytujący z eepromu. I czy podaniu mu prądu stanie się tak sobie wymarzyłem że dostane na kazdą z nóżek wyjsciowych po jendym bicie co w sumie da mi 4 cyfrową liczbę binarną? Dodano po 5 Bo tak naprawde...
Używasz tabeli wartości odzwierciedlającej sinusa, tak jak to pokazano. Tymi danymi karmisz timer w trybie PWM, uzyskując modulację PWM w kolejnych cyklach zależną od wartości z tej tabeli.. Na wyjściu dajesz filtr dolnoprzepustowy, który z tego PWM robi ci sinusa. Aby nie było zgrzytów, wartości PWM wpisujesz do timera w przerwaniu OVF do rejestru...
...Na tym procku sprzętowo to w zasadzie nie uzyskasz innych czestotliwości PWM jak kombinacja preskalera i częstotliwości zegara systemowego, ale zawsze możesz wyregulować prędkość tego drugiego poprzez zmianę bitów kalibracyjnych... Niestety , ale nie mogę się zgodzić z powyższym twierdzeniem. Proszę zajrzeć do PDF-ka ATmega32 na str.107 i przyjrzeć...
Witaj Lulubella . Co prawda zbyt wiele Ci nie pomogę (sam sie uczę ASM), ale jednak lepsze coś niż nic. A więc zacznijmy od początku. Niezbędnym dla rozwiązania Twego problemu jest utworzenie tablicy 100-tu element owej w pamięci flash mikrusa. Oto ta tablica .org $2500 oznacza umieszczenie tablicy od adresu 2500 * 2 Teraz przyszedł czas na odczytanie...
Vref sprawdzone i jest wszystko w porządku :) Sugestia o przesunięciu danych "w lewo" zainspirowała mnie do ponownego sprawdzenia wszystkiego w Reference Manual i okazało się, że (str. 264 RM): 1. adres rejestru, który używałem, dotyczył danych zorientowanych "na prawo", ale dla trybu pracy obu kanałów -> zmienię to na wersję DAC_DHR12R1, ale jako początkujący...
O podwójnym buforowaniu wiem, datasheet oryginalny i polski mam ale niewiele mi on tłumaczy w tej sprawie. Chodzi mi konkretnie o to, że mam niby ustawiony tryb 14 czyli zgodnie z tabelą w datasheet'cie wartość TOP ustawiam rejestrem ICR1 natomiast w kodzie programu wygląda to tak, że rejestrem ICR1 mam ustawioną maksymalną wartość licznika, a rejestrem...
Masz zbyt krótki czas wyświetlania w stosunku do wygaszenia. Tak na prawdę to nie mam tu wygaszania tylko wpycham kolejną cyfrę, spójrz na kod, to cała sekwencja obsługi rejestrów: Widzę też, że nie masz takich samych czasów dla każdej cyfry/wyświetlacza. Wartość jest jedna, jak widzisz powyżej. Chyba że mówisz o czymś innym. Pokaż całą sekwencję wyświetlania,...
No właśnie staram się to doczytać :) Wg tabeli 25-10 w pdf-ie (445str) powinno dać się zmierzyć od -Vref do Vref (odpowiednio -2048:2047) ale już wg tabeli 34-5 w pdf-ie (134str) zakres pomiarowy to 0 do Vref. Nie wiem czy to nie jest tak że ten ADC jest z założenia differential tylko zmienia się podpięcie VINN. Co do max wartości to jest to dla 11bitów...
licznik 2 sobie liczy od 0 do 255 ( 8 bitowy), obecna wartość w TCNT2. w OCR2A mogę ustawić wartość do jakiej ma liczyć i co ma zrobić jak do niej doliczy? Jak wybiorę 0 0 to to porównanie jest wyłączone i licznik liczy do przepełniania się ( i ustawi flagę przepełnienia ). Jak ustawie 1 0 czyli Clear OC2A on compare match to na tym bicie pojawi się...
Dlaczego W rejestrze "TCCR1A" ustawiane są bity odpowiedzialne za wyjście OC1B ? Czy generalnie sterwowanie prędkością poprzez zmianę zmiennej OCR1x jest wogóle dobrym rozwiązaniem ? Bardzo proszę o odpowiedzi. Większośc timerów w AVR a szczególnie 16-bitowe posiadają dwa kanały nazwane A i B, które możesz wykorzystac do generowania 'odmiennych' fal...
Tabela 28.14 - masz wartości rejestru MUX dla wejść 0-15 w trybie single ended. Być może nie są one zdefiniowane w IO.h - trzeba by to zgłosić jako błąd, jeśli istotnie tych definicji brak. Z drugiej strony jest to po prostu 4-bitowe pole określające nr wejścia. Oczywiście zakres skanowanych wejść można ograniczyć. Do skanowania wygodnie jest użyć event...
Bardzo bym prosil o przetlumaczenie, a mam pytanie skad wiadmo jaki kkiedy zastosowac?? To tak w telegraficznym skrócie: 1.Rozszerzone, przełanie do/z rejestru z pamięci pod adresem który jest wartością stałą zakodowaną w kodzie instrukcji. 2.Właściwe, przesłanie z jednego rejestru do drugiego 3.Natychmiastowe, poprostu instrukcja przesłania wartości...
instrukcja BLX oznacza Branch with Link and Exchange. Kluczową kwestią jest owe Exchange. Chodzi o to, że instrukcją tą można zmienić tryb instrukcji z ARM na Thumb (lub odwrotnie) lub go nie zmieniać. Jeśli ostatni bit adresu (czyli twojego rejestru R3) jest zapalony, to rdzeń skoczy pod adres ignorując ten bit (traktując go jako zero, bo PC i tak...
OK :) W takim układzie na początek spróbuj w ogóle uruchomić PWM: 1 ustaw timer w tryb Fast PWM 8 bit (mode 5 w tabeli Table 47. Waveform Generation Mode Bit Description) 2 okres ustalony będzie za pomocą wartości 0xFF (patrz powyższa tabela), 3 ustaw wypełnienie kanału OC1A w rejestrze OCR1A na np. 80 (nie % tylko wartość) 4 ustaw pin OCR1A jako wyjście...
Znam ta tabele i się do niej stosowałem wpisując bit PD. Domyślna wartość po resecie rejestru CTRL1 to 0x07, czyli power-down mode z włączonymi osiami X/Y/Z. Po dodaniu bitu PD układ wchodzi w stan normal- i to chce osiągnąć. Dodatkowo- nawet jeśli wpiszę w CTRL1 np. wartość 0x01 to i tak potem odczytuje 0. Nie za bardzo rozumiem dlaczego.
tablicę z danymi umieść na samym końcu za programem: [syntax=asm].include "tn13def.inc" .cseg .org0x00 rjmpstart .org 0x0A start: cli ; blokada przerwań ldi r16,low(RAMEND) ; stos na koniec RAM out SPL,r16 ldi r16,0b00000111 ;konfiguruje porty B pin0-pin2 na wyjscie out ddrb,r16 ps0:ldiZL,low(Ledy<<1) ;adres tabeli w pamięci programu ldiZH,high(Ledy<<1)...
tabela wartości tabela wartości kondensatorów tabela wartości zabezpieczeń
domofony breloki sterownik solarów pieca halogeny pobór energii
transformator blokowy ekspres siemens
Uszczelki do dyszy pary AEG EA150 i Zelmer Maestro - jakie wybrać? Zamiana trymera 3-12 pF na 4-15 pF w układach elektronicznych