Dobrze abyś napisał w jakim środowisku działasz, ale ogólnie są funkcje przepisujące i wypełniające bloki pamięci, oraz funkcje tzw adresowania względnego, gdzie wskazujesz początek zakresu pamięci i jakiś wskaźnik (dodatkowy rejestr), będący przesunięciem od tego miejsca. Jak zrobiłeś generator, to używasz od niego styków |p| tym zwiększasz licznik/wskaźnik...
Bufor nadawczy jest o rozmiarze jednego wysyłanego znaku (tak na prawdę jest to rejestr przesuwny samego UARTu). To nie jest prawda. Nadajnik składa się z rejestru nadajnika (1 bajt) oraz w zależności od procesora 1-2 bajtów bufora. Dane zapisywane są do rejestru nadajnik jeśli jest on pusty i od razu nadawane, jeśli jest pełny to do bufora, skąd potem...
Popatrz na MCP3202. To przetwornik 12-bitowy 2 kanałowy. [url=http://cubloc.com/download/etc/MCP3... Kiedyś robiłem projekt na MCP3201 (wersja jednokanałowa w/w przetwornika). Współpracowało to z ATtiny2313. Zegar był generowany "na piechotę" poprzez zmianę stanu na nodze kontrolera, odstępy czasowe odmierzane NOP'ami - i to działało bez...
Wyżej sam sobie odpowiedziałeś. Timer pracuje w trybie, w którym zapis "OCR1A = dzielnik" nie zapisuje wartości "dzielnik" do rejestru tylko do bufora, a wartość okrojona do ośmiu bitów zapisywana jest do OCR1A przy przepełnieniu timera.
Ponieważ pokazałeś fragmenty kodu więc może nie do końca prawidłowo go przeanalizuję. Problem polega na tym, że odczytany w przerwaniu pomiar zapisujesz do tablicy w pętli for kilka razy zanim nastąpi ponowne przerwanie z ADC. //pomiar********************************... for(int x=2; x<157; x++) { bufor[x]=adc;...
Steruje grupą 12 połączonych szeregowo rejestrów przesuwnych i niestety wyjścia układu sterującego nie wyrabiają prądowo dlatego poszukuje jakiegoś układu pełniącego funkcje buforu. 74HC244 nie pomaga za wiele, potrzebuje coś mocniejszego. Aha dodam tylko, że ważne jest oby bufor prawidłowo pracował z sygnałami o częstotliwości do 24MHz! Dzięki z góry...
Mnie zastanawia jedna rzecz, skoro korzystasz z przerwań to po jakiego grzyba tam input? Zobacz jak mozna to rozwiazac: Odebrano: Disable Urxc ' wylaczenie przerwania na czas trwania aktualnego 'Jesli licznik znakow jest mniejszy od maksymalnego rozmiaru bufora to... If Licz_znaki < Max_znakow Then '...zwieksz licznik znakow, do buforu transmisji...
Pamiętaj, że rejestry SPI, w zależności czy to jest M/S, czy realizujesz przez USART, mają bufory. Jeśli więc coś nadajesz, a nie odczytasz SPDR, to ta wartość i tak tam jest, zostanie odczytana przy kolejnej okazji. Stąd możesz mieć opisane problemy z odczytem jakiś wcześniej przesłanych bajtów. Stąd też najlepiej albo jednocześnie zapisywać i odpisywać...
Witam. 74/74F675A http://www.fairchildsemi.com/ds/.pdf [url=http://pl.farnell.com/jsp/search/br...
Witam, słabo znam te procesory, musisz więc sprawdzić w dokumentacji, moim zdaniem problem nie bierze się z kolejności wysyłania ale z kolejności odczytu. Generalnie, ośmiobitowe procesory przy dostępie (odczycie i zapisie) do szesnastobitowych timerów wykorzystują (dla zagwarantowania jednoczesności obu bajtów) specyficzny mechanizm. Starszy bajt nie...
Czyli mam rozumieć, że jest bufor sprzętowy (przesuwny) i bufor nadajnika (rejestr DATA)?
A mógłbyś mi jeszcze wyjaśnić tą funkcję? A co tu wyjaśniać? :D To jest funkcja wysyłania danej przez SPI...tylko że dla STM'a. SPI1 - to wskaźnik na strukturę zrzutowaną na obszar pamięci rejestrów SPI, DR to jeden z jej elementów składowych (tutaj akurat rejestr zapisu do bufora).
Słabo wiedzę ten procesor jeżeli pytania są na takim poziomie. Może jakaś literatura o architekturze procesora/komputera najlepiej taka z lat 70/80-tych XXw bo tam rozwiązywano takie problemy. Oczywiście można próbować stworzyć opis ALU zadając pytania na forum ale chyba podręcznik nie jest celem dla forum. Co do problemu Jeżeli rejestr ma oddzielne...
Na początek popraw błędy w kodzie. Ilość zdekodowanych ramek zwiększaj dopiero wtedy gdy nie wystąpi błąd w dekodowaniu, a nie od razu po MP3Decode (to tak na przyszłość). Poza tym gdy zwolni się jeden z buforów (ENDTX = 1), wpisuj nowe wartości tylko do rejestrów następnego bufora DMA, a nie do obu ( AT91F_SSC_SendFrame( AT91C_BASE_SSC, 0, 0, outBuf,...
Ale po co tu aż podwójne buforowanie? Według mnie jeden bufor wystarczy. I w przerwaniu od timera wysyłać zawartość bufora do rejestrów przesuwnych. A w programie głównym tylko modyfikować bufor.
Bo, moim zdaniem, powinieneś adresować bufor pośrednio. Np. tworzysz sobie bufor od danego adresu. Adres zapisujesz do R0 i potem adresujesz np. mov A,SBUF mov (at)R0,A inc R0 Wówczas R0 jest Twoim wskaźnikiem do danej komórki bufora. Można zdefiniować jeszcze stałe np. BUFFER_START i BUFFER_END, które będą adresami początkowym i końcowym bufora, co...
To dlaczego rozmiar bufora 512 bajtów miałby nie wystarczyć? Po zarezerwowaniu wypełnił bufor jakąś wartością, później w czasie pracy podejrzyj co się w nim dzieje.
A może Ci umknęły rejestry kierunku buforów wejścia/wyjścia? Mowa o rejestrach DDRA, DDRD i DDRC.
ADC uruchom w trybie Free Run, bez zgłaszania przerwania po zakończonej konwersji. Przetwornik uruchom w miarę szybko, najlepiej blisko wielokrotności częstotliwości zgłaszania przerwania przez Timer. I wtedy w Przerwaniu od Timera przepisujesz wartość z rejestru ADC do jakiejś zmiennej/bufora.
Generalnie to powinno działać. Spróbuj z wykorzystanie rejestrów z buforem. Czyli zainicjuj timer a potem już to: [syntax=c] void Timer_Fast(){ TCA0.SINGLE.PERBUF = 62; TCA0.SINGLE.CMP2BUF = 31; } void Timer_Slow(){ TCA0.SINGLE.PERBUF = 249; TCA0.SINGLE.CMP2BUF = 125; } [/syntax]
Pamięć UDIMM - unbuffered DIMM, jest to pamięć, która nie posiada rejestru (bufora) i dane między kontrolerem a pamięcią przesyłane są bezpośrednio bez dodatkowego bufora. Pamięć UDIMM zapewnia większą prędkość ale gorszą stabilność w stosunku do pamięci buforowanych.
Znajomosci takich rzeczy wymagaja w Technikum na pracowni elektronicznej do zaliczenia i przystapienia do odrobiania Cwiczen... O Jezu... Wymaganie pamięciowego dublowania katalogów zawsze mnie zastanawiało. Inna rzecz, że pytania są banalne i dla każdego choć trochę 'siedzącego w temcie' doskonale znane, ale IMO i tak bezsensowne. Co do pytania Co...
To ten sam rejestr, tylko przy odczycie zwraca bufor odczytu, a zapis powoduje zapisem do bufora zapisu. Zobacz rejestr stanu USART i przeczytaj jego opis, a nastanie jasność :)
Witam, tak, multiplekser i dwukierunkowy rejestr - bufor ... :D Pozdrawiam
To jedno, druga możliwość to współdzielenie rejestru w sytuacji w której całość tworzy rejestr 16-bitowy. Współdzielona wartość jest wpisywana do finalnego rejestru dopiero w momencie uaktualnienia jednej z połówek rejestru. W ten sposób rejestr współdzielony jest raczej buforem.
Witam !!! Poszukuję informacji na temat adresów rejestrów bufora MT - 202 (InVentia) pracującego w trybie MODBUS RTU Mirror. Dokładniej to chcę się odwoływać do tych rejestrów z poziomu programu - MTprog.
Raczej nie powinny być drogie, ale może być problem z ich kupnem, ze względu na ograniczenia eksportowe technologii szyfrujących ze stanów (trochę bezsens, bo na każdym PC można zrobić takie szyfrowanie, ale cóż... biurokracja), podobno sporo papierkowej roboty jest z tym. O ile pamiętam jest w tym ARM-ie specjalny blok, który odpowiada za realizację...
Źle się wyraziłem, pisząc rejestr miałem na myśli bufor przesuwny gdzie bajt wejściowy umieszczany jest na na początku rejestru po wcześniejszym przesunięciu pozostałej zawartości bufora jeden bajt dalej.
A ta flaga nie jest ustawiana w momencie opróżnienia bufora nadajnika czyli po wysłaniu danych ? Opróżnienie bufora nadajnika to nie to samo co wysłanie, wysłanie to wysuniecie wszystkich bitów z rejestru przesuwnego nadajnika. Bufor nadajnika jest tylko pośrednikiem. W nadajniku jednocześnie mogą być dwa znaki (lub więcej jeśli jest FIFO) jeden w...
Problem okazał się dość błahy. Panel frontowy był przekrzywiony od dość brutalnego traktowania przez młodszą część domowników i klawisze na panelu frontowym nie trafiały dokładnie na mikroprzełączniki, a przez to jeden z nich był stale wciśnięty i prawdopodobnie blokował bufor rejestru dla innych przełączników, i telewizor nie reagował na nic. Niemniej...
Na stronie 42 jest schemat blokowy z umieszczonym buforem FIFO, jest też rejestr OUT_SEL który pozwala dołączyć bufor do wyjścia przez filtry lub bez.
Kolego ściągnij sobie manuala od tego modułu specjalnego i na obrazku FIGURE9.1:Example program masz wszystko co Ci potrzebne . Wartość jaką w rejestrze sterownika D 114 będziesz wpisywał to będzie odpowiadała wartości napięcia na kanale modułu 0-10V .Według DTR jeśli roździelczość kanału wyjścia tego modułu to 0-32000 to jeśli wstawisz 16000=5V itd....
A dlaczego zmieniasz wartość rejestru DDRA? Ustaw go do pracy jako wyjście i zmieniaj tylko wartość PORTA.
Zrobiłem to w taki sposób, aby prztestować: Do 1.Czytaj bajt z karty 2. Przypisz owy bajt do zmiennej BUFOR 3 BUFOR = BUFOR / 2 4. Wpisz wartość bajtową BUFOR do rejestru PWM Loop Ciszej jest, jednak bardzo jakość słaba...
Witam, 74F374 z założenia nie jest rejestrem przesuwanym, ale nie ma przeciwwskazań, aby takim był. Mamy udostępnione wyjścia i wejścia każdego przetwornika, więc to tylko kwestia połączeń. 74244 to bufor trójstanowy, używany do sprzęgania układów peryferyjnych TTL z procesorem. U ciebie to może być zarówno bufor na liniach komunikacyjnych, jak i bufor...
W usługach nie ma 'bufor wydruku'.. Zrobiłem tak jak radziłeś, i dodałem wpis do rejestru i nic się nie zmieniło..??
Jaki to uC? Wiekszosc uC nie ma sprzetowego bufora do RS, jest tylko rejestr na jedna, odebrana wlasnie dana, wiec jezeli jej z etgo rejestru nie wyciagniesz to nastepna ja nadpisze od razu jak przyjdzie.
Witam. na temat trafiłem przez przypadek. Miałem do czynienia z CA80 nowszej generacji na studiach. Na zdjęciach znalezionych w Internecie widzę, że miał wyświetlacz, klawiaturę i dwa przełączniki. Jak popatrzyłem, to CA80 starszej generacji nie miał przełączników. Zainteresowały mnie następujące sprawy: Do czego służą przełączniki między klawiaturą...
Dzień dobry, Nie bardzo wiem dlaczego otrzymuje taki "dziwny" odczytany z ADC. Powinien mieć około 5000 mV podłączając do vcc a w Realterm pokazuje mi 18. Chyba za długo w to patrzę bo nie widzę gdzie zrobiłem błąd. Mikrokontroler to Attiny3226 FCPU = 20MHz. Kod poniżej: /* #define F_CPU 20000000UL // wewnetrzny kwarc 20Mhz #include <avr/io.h>...
Ta płytka stykowa może być trochę badziewna, stąd masz spadki napięcia na układach. Podciągnij masę oraz zasilanie 5V przewodami bezpośrednio do scalaków, być może to pomoże. W końcu 4V dla serii 74LS to już poniżej granicy zalecanego napięcia zasilania więc nie dziw się że będą się działy cuda niewidy. Teoretycznie mógł byś wstawić układy 74HCxx (czyli...
W atmegach nie da się nadpisać rejestrów przez przepełnienie bufora bo to są odrębne przestrzenie adresowe. To tak a propo tego' buffer und...' na początku filmu.
Odbiór danych o nieznanym rozmiarze przez DMA jest bardzo problematyczny... Ponieważ włączyłeś tryb "circular", to w zasadzie jedyna opcją jest późniejsze składanie danych w dodatkowym buforze - będziesz musiał skopiować to co jest na końcu bufora DMA i potem to co jest na początku - tak aby dane znów były w poprawnej kolejności. DMA realizuje po prostu...
Dzięki za radę. Na pewno się przyda. Nie pogardzę jednak linkiem do konwertera, który by pozwolił weryfikować wyniki mojego programu. Bo nie chodzi o przeliczenie jednego, czy dwóch wyników, ale o forsowne sprawdzenie programu, który napisałem. A często się zdarza, że występują nieoczekiwane błędy spowodowane najróżniejszymi przyczynami, choćby przepełnieniem...
No hej! Więc miło że ktoś poruszył temat tego „badziewia” od Dallasa… Wszystko robię mniej więcej tak jak napisałeś… tzn. póki co nie bawię się numerami seryjnymi. Co do różnych przykładów dostępnych na stronach Dallasa, to też z nimi walczyłem… ale do sedna. Udało mi się odczytać pierwszy bajt numeru seryjnego mojego czujnika,...
Witam, jeśli nie potrzebujesz dużej rozdzielczości (co pociąga za sobą duży rozmiar bufora) możesz użyć prostego przesuwania bitów, rejestru szeregowego lub bufora FIFO do którego będziesz co określony czas dodawał wartość/stan wejścia pomiarowego.
Wg. Horowizta i Hilla jednak, jeśli licznik ma zatrzask na wyjściu, to zawsze jest to zatrzask przezroczysty, aby można było używać licznika tak, jakby zatrzasku nie było. W dokumentacji tej konkretnej kostki jest wyraźnie napisane że bufor przepisuje na zboczu rosnącym (nie stanie). Czyli nie jest możliwe ustawienie go w LS590 jako przeźroczysty....
Witam. Ja bym to zrobił tak: Wykorzystał timer T0. W prodramie głównym obserwował stan przycisku i odświeżał wyświetlacz LCD na podstawie stanu rejestrów gdzie przy pomocy korekcji dziesiętnej i odliczania umieszczony będzie wynik pomiaru. Przycisk za pomoca rozkazu CPL włącza i wyłącza przerwanie przerwanie od T0 (ogólne włączone czały czas). Po w...
Witam, przypomnialem sobie, jest 74185 konwertuje BCD do natywnego kodu dwojkowego i odwrotnie, dasz taki na szyne danych i wyjscie do np. 7447 i masz cyferki. W ostatecznosci daj poprostu 8 LED przez bufor aby zobrazowac stany rejestru Pozdrawiam
SPI i UART w F4 ma podwójny bufor. 1 to rejestr przesuwny 2 to rejestr DR. Z początku dostaniesz 2 szybkie przerwania a potem już poprawnie. Patrz rysunek 253 RM v13.
zgadza się - AVR przy resecie przyjmują stan wysokiej impedancji. Jeśli chcesz stan niski, możesz zastosować rezystory w konfiguracji pull-down (mało skuteczne) lub dodatkowe bufory portów, które podczas zerowania będą przyjmowały stan niski (wystarczy zwykły bufor lub rejestr, którego wejście zerujące jest podłączone do RST mikrokontrolera)
Jak to nie? 1)$baud = 9600 - predkosc transmiji 2)Pk1 = Udr - rejestr buforu 3)Print "T1 " ; Ss - wysylanie na port do komputera zmiennej ss
Ale w software'owym uarcie nie ma już rejestru szeregowego, więc jest większa możliwość występowania błędów? Gdy stworzę sobie bufor w programie na rxd, to też w momencie gdy zapisuję wartość rejestru UDR do bufora, to może w tej chwili przyjść kolejna ramka, której już nie zdążę skompletować. No i dlaczego ten kod nie działa...?
konfiguracja kontrolera polega na tym, że do kilku(nastu) rejestrów wpisujesz odpowiednie dla siebie wartości, ustawiasz rozmiar buforów, adres MAC etc. W tym module kontroler jest widoczny w przestrzeni pamięci pod 32 adresami zaczynając od 0xFF00, więc dostęp do rejestrów jest skrajnie prosty. Komunikacja z tym układem nie jest skomplikowana, z początku...
Myślałem, że jak zdejmę ten kaganiec kalibracji jałowego to zacznie uwzględnić przedział między tymi czasami z ECU i tyle. ;) No nic to moja procedura jaką ostatnio stosuje to : 1. Kasowanie mapy Pb i LPG 2. Jadę w trasę (przy okazji) np. 100 km. W jedną stronę jadę na pb(50km) a warcam na LPG - staram się jechać podobnie. 3. Robię ustaw model, patrzę...
dzięki że normalnie mi pomogliście jak cholera..... sam se to zrobiłem w rejestrze....
Zapoznaj się z AVR które maja TWI np AT MEGA8 , (www.atmel.com) to bedziesz miał IIC 400 kb albo możesz jeśli jeszcze chcesz szybsze zrobić to z pojedyńczych bramkach i rejestru przesównego ( nawet nie było by dużo tych TTL/CMOS) widze to tak jeden przerzutnik do detekcji start resetuje rejestr szeregowy i licznik do 9, po przejściu 9 bit licznik strobuje...
Ten kod, który męczysz z botem jest z grubsza bez sensu. Wykorzystujesz przerwanie w celu modyfikacji flagi, podczas, gdy taka flaga już jest - RXC w rejestrze stanu UART. Wystarczy ją testować. Wykorzystanie przerwań ma sens, jeśli tworzysz bufor. Jeśli przepisujesz rejestr UDR do 8-bitowej zmiennej i ustawiasz flagę, to jest to kompletnie bez sensu....
Adres określa para ds:dx. A więc Oba rejestry powinny być ustawione prawidłowo. A zatem [syntax=asm] mov ax,(at)code ; lub seg bufor mov ds,ax mov dx, offset bufor[/syntax]Tak na marginesie ładniej byłoby trzymać zmienne w segmencie danych (.data)
Skoro z kompa umiesz to powinienes tez umiec z atmegi... z tego co wiem, bascom ( :/ ) zwraca czas w BCD. Ale mniejsza o to... Musisz zrobic tak: 1) Zdefiniuj wlasnego fonta (cyfry 0..9) 2) Zrób sobie bufor ramki, najlepiej JEDNOwymiarowy 3) Napisz parę funkcji które wyrenderują cyfry do bufora ramki 4) No a jak przeslac taki bufor na matryce to juz...
Sub Wordout lds r23, {a+1} ;załaduj do rejestru r23 górny bajt zmiennej A !out spdr, r23 ;przepisz zawartośc rejestru r23 do bufora SPI lds r23, {a} ;załaduj do rejestru r23 dolny bajt zmiennej A Wait_trh: sbis spsr, spif ; czy bit SPIF w rejestrze SPSR jest już 1? rjmp wait_trh ; jeśli nie to skok do góry i sprawdź ponownie,...
Ten programator moim zdaniem nie może pracować w trybie EPP, bo EPP polega na transmisji z handshake'iem, którą musi realizować w odpowiedni sposób urządzenie zewnętrzne (tu programator). Gdyby zmiana z SPP na EPP polegała tylko na zmianie rejestru bufora wyjściowego, to EPP byłoby zupełnie niepotrzebne.
A nie umiesz skompresować pliku *.doc aby nie miał 20MB tylko ~2? Poza tym, przykro mi, ale trafiłeś na durnego nauczyciela(czepia się konował). Niby skąd masz wiedzieć jak jest zbudowany np. rejestr danych, generator zegarowy lub bufor wyjściowy danego modelu mikrokontrolera? Co tu pisać(poza tym, gdzie i skąd trafiają dane zgodnie ze strzałkami na...
Chyba najtaniej była by wersja taka: 4094 jako rejestr z buforem danych (jest on 8 bitowy, można ich połączyć szeregowo tyle ile Ci jest potrzebne) ULN2803 jako draver tego rejestru a jednocześnie może spokojnie sterować przekaźnikiem do 24V DC Ja budowałem taki rejestr dla 96 wyjść i działa bez problemu.
Witam Zawsze zastanawiałem się czym się rózni jedne przerwanie tzn. przerwanie po wysłaniu znaku od drugiego po opróznieniu rejestru i bufora. Przecież jak uart mi wyślę znak to bufor jest już chyba pusty opróżniony? czym się różnią te przerwania? Pozdrawiam
Najlepiej użyć do tego jeden z rejestrów indeksowych (R0, R1). Najpierw ustawiasz sobie adres bufora RAM, w rejestrze np. R0: MOV R0,#50 ;WPISZ DO REJESTRU INDEXOWEGO ADRES RAM W programie obsługi przerwania od szeregowego piszesz: MOV (at)R0,SBUF ;ZAPISZ ODEBRANY BAJT DO RAM INC R0 ;ZWIEKSZ ADRES RAM CJNE R0,#58,PR_GOTOWE ;JESLI TO BYL 8 BAJT, TO GOTOWE...
To zanim zabierzesz się za 2 UARTy oprogramuj 1? obsługa takiego UARTu do zaledwie 50 linii kodu z obsługą buforów. Masz przykładu w SPLu skorzystaj. W przerwaniu od obioru nie odczytujesz rejestru DR. Kasujesz flagę na końcu przerwani - błąd. Uporządkuj ten program. Włączenie przerwania TXE i nie obsłużenie go to poważny błąd, zawiesisz się. A jego...
Czyli sumować z wartości chwilowej co 1 sekunda i potem ta sumę podzielić przez 3600 ? Jeśli dzielenie zrobisz po tych 3600 sekundach to tak. Możesz też co sekundę sumować wartość chwilową, zwiększać jakiś licznik o 1 i na bieżąco dzielić sumę przez licznik. W VersaMax'ie możesz użyć sporo rejestrów, jeśli nie masz jakiegoś wielkiego programu i dużej...
No właśnie takiego czekania w pętli chciałem uniknąć. Tą funkcję spełnia przerwanie: [syntax=c]ISR(USARTUDRE_vect) { if(*(wskaznik+count)) { UDR = *(wskaznik+count); count++; } else { count = 0; UCSRB &= ~(1<<UDRIE); } } [/syntax] jest to przerwanie od pustego bufora nadawczego. Czyli kiedy dane z bufora zostana przesłane do rejestru przesuwnego,...
Myślałeś o tym by zatrzasnąć stan linii danych w rejestrze na zboczu i odczytać zawartość rejestru już później przez CPU. Mógłbyś dodać licznik i mala pamięć SRAM oraz bufor bo tak małego FIFO raczej nie kupisz... Ale moim zdaniem będzie droższe i większe niż dodanie prostego uC który będzie w pętli robił to czego potrzebujesz - ile teraz kosztuje najtańszy...
Myślałem nad interfacem przesuwnym 74hc595 bo takowy posiadam, ale nie wiem jak będzie reagować z przekaźnikami. Jak najbardziej będzie ok ale będziesz miał mały prąd wyjściowy, wystarczy na wyjście rejestru podłączyć bufor (uln2003) i będzie działać.
Rejestr danych nadajnika w Atmedze8 nie jest buforowany. Nie możesz wpisywać następnego bajtu nie upewniwszy się, że wysyłanie poprzedniego zakończyło się. Nie jest to prawdą. Posiada on jednopoziomowy bufor - dane z rejestru data są przesyłane do rejestru szeregowego nadajnika, a w trakcie ich nadawania kolejne dane możemy zapisać do rejestru nadajnika....
A schematu jak nie było, tak nie ma... Za to to, co piszesz o schemacie, wygląda bardzo podejrzanie - line adresowe brane przez tajemniczy dekoder sprzed bufora adresu, fatalny układ 8212 użyty jako bufor adresu itd. "Szpilenie" jest normalną cechą układów serii 82xx. Dlatego bardzo szybko zrezygnowano z ich użycia, kiedy tylko 8-bitowe bufory, rejestry...
W AVR dostęp do 16 bitowych rejestrów opiera się o dodatkowy, ukryty dla programisty bufor. Czyli przy odczycie najpierw czytasz mniej znaczącą połowę 16-bitowego rejestru, co automatycznie spowoduje skopiowanie i zatrzaśnięcie do bufora bardziej znaczącej połowy 16-bitowego rejestu. A w kolejnej operacji oczytujesz część bardziej znaczącą, co powoduje...
[quote="olekewaagata"]GienekS: ja nie piszę że układ jest zły, tylko może w nim wystąpić zjawisko hazardu związane z predkością przenoszenia danych z wejścia na wyjście. quote] W przeżutnikach, które są syncronizowane wspólnym zboczem, nie występuje zjawisko hazardu ponieważ są to "automaty synchroniczne" Co do tego układu to ma jedną wadę. W trakcie...
No na logikę tak ale nikt przecież nie bronił ATMELowi zrobić wszystkich rejestrów 16-to bitowych w taki sposób. Szczególnie że tak było by prościej bo wszystkie rejestry wtedy były by takiego samego typu. No ale może jest tak jak mówisz. Nie sądzę że ATMEL dawałby specjalnie dodatkowy "hardware" (czyt. kasa) skoro nie byłoby takiej potrzeby, wtedy...
Dobrze TMF mówi, USART wykłada dane z rejestru bufora niezależnie od reszty systemu, jeśli ta dana jest poprawna to nie powinno być błędów. Jaką masz częstotliwość kwarcu? Może jesteś na granicy tolerancji błędów przez odbiornik i stąd cały ten ambaras. Spróbuj z kwarcem 18,432MHz jeśli zależy Ci na małym błędzie transmisji przy dużej prędkości działania...
[syntax=C]while (!(USART2->ISR |= USART_... Co to w ogóle ma robić? [syntax=C]Temp = USART2->TDR; // Read t... I czemu usiłujesz odczytać dane z bufora wysyłki
Tu nawet nie chodzi o kierunek. Chodzi o to że odczyt z PORTx nic nie da bo Timer wystawia stany już na końcowy bufor a nie na rejestr PORTx. Tak więc nie ma wyjścia. Musowo odczytywać z PINx. Ale ze 2 cykle opóźnienia będzie.
Czasem Arduino do czegoś się przyda Dodano po 2 Możesz dać przykład takiej krytycznej czasowo operacji? Problem jest a raczej był związany z buforem nadawczym uarta. Mam funkcję: Blokuj tylko przerwania od UART.
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.
Jeżeli masz tę książkę z której zaczerpnięte są te przykłady, to jest tam dobrze opisane jak to działa. Pierwszy listing to bardzo prosty test wprowadzający w zagadnienie obsługi klawiatury sekwencyjnej. Nie robi nic konkretnego, tylko przy naciśnięciu klawisza enter lub esc powoduje zaświecenie diody LED. Ogólnie idea klawiatury sekwencyjnej polega...
Witam, ta funkcja ma wyciągac z bufora podstringi do porównania za pomocą strcmp. w sumie masz racje z tym zapasowym buforkiem.pokombinuje wieczorem. dzieki i jak są jakies pomysły to bardzo proszę :) Substring to para liczb - offset od początku bufora oraz ilość znaków w substringu. Ewentualnie możesz użyć wskaźników do pierwszego i ostatniego znaku,...
Witam, google przeszukałem, ale niestety nie doszukałem się odpowiedzi na moje pytanie: Mianowicie czy istnieje w avr gcc funkcja przekształcająca uint8_t na char? Z założenia ma mi to pomóc w wyrzuceniu konfiguracji rejestru lub buforu na LCD. Z góry dziękuje za pomoc.
Wyłączenie podświetlenia na skutek zadziałania transoptora wcale nie musi dezaktywować wysyłania danych z płyty do wyświetlacza. Wystarczy, że wyświetlacz zostanie wygaszony podświetleniem. Może też zostać zablokowany bufor wejściowy do rejestrów przesuwnych wyświetlacza. To są stare sprzęty, które nie mają finezyjnych mechanizmów oszczędzania energii....
Może chodziło o „kolizje” danych. Naczytałem się że dobieranie się do pamięci SDRAM podczas obsługi LCD (czyli w zasadzie zawsze) powoduje błędy w odświeżanie (program zajmuje szynę i sprzętowy kontroler LCD ma problemy z pobieraniem bufora). Może o to chodziło z tymi rejestrami. Umie jednak taki problem nie występuje. CO bym nie robił...
szukam elementu który ma 8 wejść i 8 wyjść. na wejściu występują sygnały niestabilne ale po podaniu sygnału zastrzaskującego na wyjściu pojawiają się stany wejść po zwolnieniu sygnału zatrzaskującego pozostają zapamiątane stany ostanio występuące. Trochę niezrozumiale pisze ale mam nadzieje że zostane zrozumiany. w sktrócie: to co na wejściu to i na...
większość pamięci dostępnych na rynku to pamięci "unregistered". Registered (inaczej buffered) mają dodatkowy rejestr (stąd nazwa), który ma na celu ułatwienie pracy kontrolera w przypadku obsadzenia płyty kilkoma modułami. Bufor wprowadza dodatkowe opóźnienie ale zwiększa stabilność systemu. Generalnie nie musisz zawracać sobie tym głowy gdyż rozwiązanie...
Tak się składa, ze również korzystam z BMA180. O to moja funkcja odczytu i zapisu bajtu z czujnika pod wskazany adres: [syntax=c]u8 spi_read_byte_acc(u8 adres) { u8 data; // Opuść ChipSelect, wyczyść poprzez odczyt DR bufor RX, oraz wyślij adres wraz z poleceniem odczytu. CS_ACC = 0; data = SPI1->DR; SPI1->DR = BMA180_READ | adres; // Oczekiwanie na...
Od paru tygodni próbuję rozpracować sposób działania pewnego kartridża do NESa. https://obrazki.elektroda.pl/1795360600_... Niestety robię to na podstawie jedynego zdjęcia, które jest w internecie i to niezbyt dobrej jakości. 95% pracy mam już za sobą, został mi w zasadzie jedynie pewien najwazniejszy szczegół - dekoder adresowy, który...
Z reguły zmienne lokalne w avr-gcc są lokowane w rejestrach procesora Czy dziwi mi jedno zjawisko jakie zaobserwowałem przy deklaracji dużego bufora. zmieści się w rejestrach? Notabene wskaźnik stosu jest w czasie resetu sprzętowego inicjowany przez hardware Nie w każdym uC.
A możesz podać konkretny model MCU, który tak ma? Bo jakoś trudo mi sobie wyobrazić, żeby jakiś producent takiego babola wypuścił, a sam nigdy się z takim efektem nie spotkałem. Owszem, czasami zdarza się konieczność dwóch odczytów - pierwszy inicjuje przepisanie rejestru do bufora, z którego drugi odczyt pobiera aktualną wartość. Czasami jest to trochę...
Tego typu oczekiwanie: while (!(SPI1->SR & SPI_SR_TXE)); wcale nie czeka na ZAKOŃCZENIE transmisji, tylko na opróżnienie bufora, co generalnie następuje natychmiast (jesli wysyłasz po jednym bajcie), bo dane z bufora są przenoszone do rejestru przesuwnego. Istnieje więc ryzyko, że sygnał CS zostanie zdjęty zanim faktyczna transmisja się zakończy. Przejrzyj...
tak, usunąłem pliki z rejestru, wyczyściłem sterowniki - przeinstalowałem i nic
Witam wszystkich czytelników Ostatnio zacząłem zabawę z mikrokontrolerem ATmega64 i modułem wyświetlacza EA DIP128-6e. Wyświetlacz ten posiada organizację pamięci podzieloną na dwie części (dwa sterowniki KS0108). Napisałem do niego funkcję inicjującą i funkcję która pozwala na zapis danych do wyświetlacza (statycznie). I teraz pojawia się problem bo...
Nie załączyłeś nagłówka stdio.h, poza tym kwiatki typu: UDR = ("NAPIĘCIE"); UDR = sprintf('wynik',"U=%1.3f [V]",adc); UDR to 8-bitowy rejestr i na raz możesz wysłać tylko jeden bajt. Więc np. wynik sprintf należy przechować w jakimś buforze i wysyłać bajt po bajcie. Przeczytaj jak wygląda struktura sprintf. Jeśli dajesz format f (float), a argumentem...
Problem leży tu: SIGNAL(USART_RXC_vect) { if(UDR=='$') zapis=1; if((i<14)&&(z... { buf[i]=UDR; i++; } if(i>=14) { k=1; zapis=0; i=0; } } Otóż odczyt z rejestru UDR powoduje jego wyzerowanie a następnie załadowanie następnego odebranego znaku (jeżeli...
Co do diod RGB - trzeba by dołożyć kolejne 3 pary rejestrów oraz buforów. Razem kolejne 6 układów scalonych. Co do schematu to tak naprawdę jest on podstawowymi aplikacjami układów 74hc595, ULN2803, UDN2981, NE555 jak i Atmega8. Czyli schemat jest oczywisty no a koszty wykonania układu w domowych warunkach zależą właśnie od cen tych elementów oraz ich...
co zawiera beginTransaction beginTransaction(SPISettings settings); SPISettings: uint32_t clock (domyślnie 1000000) uint8_t bitOrder (domyślnie SPI_MSBFIRST) uint8_t dataMode (domyślnie SPI_MODE0) Funkcja zakłada blokadę SPI_MUTEX_LOCK w danym wątku, który jest później zwalniany przez endTransaction(). co kryje się za poleceniem transfer(stuff); void...
Dzięki za odpowiedź. Czy dysponujesz jakimiś materiałami bądź przykładami odnośnie tego w jaki sposób mam wykorzystać pamięć RAM jako bufor? Czy pamięć RAM ma wydzielony obszar dla buforu czy mam korzystać z rejestrów roboczych, a może ze stosu? Trochę nie mam pomysłu jak miałoby to wyglądać. ;)
Co do rejestru szeregowego to lepszy jest 4094 bo posiada on bufor na wyjściu co zapobiegnie ci powstanie hazardów na wyjściach ale trzeba dać jeden pin więcej do sterowania.
czyszczenia rejestru klucz rejestru zmiana rejestru
obróbki grafiki napięcie akumulatora prawidłowe miernik uniwersalny kupić
saeco programowanie lodówka wentylator drzwi
Renault Master 2020 – wspomaganie działa, rozrusznik nie reaguje po włączeniu zapłonu Xerox WorkCentre 6605 – brak druku przez Wi-Fi, działa tylko z jednego komputera, sieć LAN/Wi-Fi, problem z IP