[syntax=c]RCC_APB2PeriphClockCmd(RCC_AHB... ENABLE);[/syntax] Zdecyduj się, czy konfigurujesz szynę APB2, czy AHB?
Witam serdecznie. Niedawno postanowiłem przesiąść się z Bascoma na C. Postanowiłem napisać bufor kołowy do wysyłania znaków przez USART. Znaki niby się drukują, ale, jeśli rozmiar bufora jest ustawiony na 2 bajty to po drugim znaku dostaje "śmieci", jeśli na 3 bajty, to po trzecim, itd. main.c http://obrazki.elektroda.pl/2199292400_1...
Całego bajtu- i wtedy odczytujesz go w czasie pojedynczych us. Mało tego- możesz to zapisać w bufor kołowy i odczytywać po kolei.
I bufor kołowy właśnie jest wykorzystywany w bibliotece Atmela :) (at)Piotrus_999 - uważasz, że powinienem napisać tutaj własne funkcje do obsługi uarta? Panie Tomku - rozumiem zamysł, poprawię kod :) Powiem może dokładniej co mam do zrobienia i dlaczego uparłem się na tę bibliotekę Atmela. Trochę mi nie wychodziło stąd wróciłem do początku żeby sobie...
Nie pokazałeś całego kodu. W obsłudze przerwania nie stosuje się numerów z LCD i czymkolwiek czasochłonnym. Co do realizacji odczytu USART w przerwaniu to podpowiedź brzmi " bufor kołowy". Dodam też że po około 30min wysypują też się atmego8A, No ja się wcale temu nie dziwię, w ogóle nie dbasz o zapisanie SREG ani używanych rejestrów w obsłudze przerwania.
Ja kiedyś na AVRku zrobiłem bufor kołowy zapis do końca bufora a potem od zera. Jeden wskaźnik na zapis do bufora (wyzwalanie pomiaru z timera), jeden wskaźnik na odczyt (w wolnej chwili procesora) zapis inkrementował jedną zmienną a odczyt wysłanie RSem dekrementował (jak zmienna za wysoko urosła to przepełnienie bufora (usart się nie wyrabiał ) Ograniczenie...
Jeśli możesz użyć biblioteki to polecam http://homepage.hispeed.ch/peterfleury/a... jeśli nie to możesz się na niej wzorować. Ma bufor kołowy, odbiór/nadawanie w przerwaniach, przykład z parsowaniem danych też znajdziesz w google. Wyświetlając komunikat zachęty powinieneś ustalić ściśle akceptowalny format, np. Time:RR-MM-DD-GG-MM-SS,...
Witam. Mam za zadanie zaprojektowanie i oprogramowanie protokołu komunikacyjnego pozwalającego na odczyt/zapis zadanych parametrów. Komunikacja z PC ma się odbywać po USART z użyciem przerwań i bufora kołowego. Jeżeli chodzi o bufor to będę opierał się na tej stronie: http://www.embeddeddev.pl/bufor... wiem od czego mam zacząć....
(at)BlueDraco Tutaj racja bufor kolowy nie zawsze jest potrzebny... moze z rozpedu to pisze ze wzgledu na to ze za zwyczaj to co robilem to wieksza ilosc kodu i takiej gwarancji nie ma... Z drugiej strony ja jestem zwolennikiem upychania w przerwaniu niezbednego minimum - o ile mozna to sensownie zrealizowac w inny sposob...
Nie rozumiem również linijki w usart_getc: UART0_RxTail = (UART0_RxTail + 1) & UART0_RX_BUF_MASK; Po co ta maska? Zajrzyj do przykładów z dokumentu o którym wspomniałem, tam jest opisany przyklad takiej funkcji getc z prawidłowo użytymi indeksami. Wyjaśnię za autora. Masz tablicę 2*N elementową, maska (N jedynek) w tym przypadku ogranicza zasięg i...
A po co w ogóle chcesz ręcznie wywoływać przerwanie od nadania? Wrzuć po prostu dane do TDR to się samo wywoła w odpowiednim momencie. [syntax=c]volatile unsigned charut0_mst=0, ut0_sta=0, ut0_end=0, ut0_buff[32]; //pomocnicze dla nadajnika/odbiornika rs //bufor kołowy nadajnika void rs_tx(uint8_t data) { TX_1;//led tx //ltx0=2; EnterCritical(); if(!ut0_mst)...
Jeśli nie chcesz zawieszać procesora to rób odbiór w przerwaniu i w formie bufora kołowego. Dodano po 47 Kolego na szybko napisałem Ci taki przykład obsługi takiego przerwania. Zakładam że znasz zasadę działania bufora kołowego bądź jesteś w stanie sobie doczytać w necie jego działanie. [syntax=asm] .dseg rxbuff: .BYTE 16 //bufor kołowy na odebrane...
Bufor cykliczny, inaczej też nazywany kołowym, to najlepsze rozwiązanie do tego co chcesz zrobić. Tym bardziej, że jak zaznaczyłeś danych będzie sporo. Każdy odebrany znak wpisujesz do bufora i przesuwasz wskaźnik zapisu o 1. Możesz to robić przez obsługę przerwania od portu szeregowego, albo możesz do tego wykorzystać DMA. Dlaczego bufor? Ponieważ...
Fatalna wiadomość? Kurcze, nawet nie wiedziałem, że od kilku lat miałem problem :D 1. Pokaż ten program nadający znaki - możliwe, że jeśli nie masz nadawania opartego na buforze kołowym i przerwaniach to znaki nie są upakowane maksymalnie gęsto. 2. Jeśli znaki są odbierane z opóźnieniem po stronie ETHERNETU (znaczy badasz ich odbiór za konwerterem uart->ethernet)...
Witam, Zwracam się z prośbą o pomoc przy moim projekcie. Tematem projektu jest obsługa termometru DS18B20 poprzez interfejs USART pracujący w trybie half duplex z przerwaniami i buforem kołowym. Wyszukiwanie urządzeń na magistrali 1-Wire, odczyt co zadany interwał pomiarowy podawany w milisekundach. Wiem mniej więcej, jak obsługiwać ten termometr poprzez...
To dodawanie na końcu znaku null rzeczywiscie nie jest potrzebne. Moge je przeciez dodać wtedy gdy potrzebuję. Niekoniecznie to zmniejszy ilość taktów potrzebnych na wykonanie procedury. Żeby wiedzieć, kiedy wstawić znak NULL, a kiedy nie, będziesz musiał sprawdzać jakiś warunek, a to też skonsumuje kilka taktów, oby nie więcej, niż zyskasz. No chyba,...
Chciałbym pomóc, ale... 1) Jak skonfigurowales DMA? Czy co koniec transmisji alokujesz nowy bufor i stawiasz tam wskaznik DMA? Czy może masz dwa bufory (ping-pong) i jeden przetwarzasz gdy w drugi DMA ładuje dane...? Ja na twoim miejscu wykorzystałbym właśnie ping-pong. W przerwaniu od DMA[TCIF] przelaczałbym tylko wskaznik na bufor i rekonfigurował...
Nie jestem pewien zapisu USART1->CR1 |= USART_CR1_RXNEIE w main Tzn jeżeli coś wysyła mi dane, to automatycznie pojawia się informacje o tym w rejestrze ISR? jeśli tak to czy powinienem w main sprawdzać tę flagę i włączać przerwanie od odbioru czy nie ma to znaczenia i od razu bez żadnego sprawdzania włączam przerwanie na odbiór a potem przerwanie...
Teoretycznie wiem chyba jak to zrobić, ale nie potrafię tego praktycznie wykorzystać Przedewszystkim odbieraj dane w przerwaniu ISR(USART1_RX_vect) // przerwanie do odbioru znaku i zapisu do bufora { bufor[ilosc_znakow]=UDR1; ++ilosc_znakow; } GPS bezprzerwy sra danymi, praktycznie tylko dobierasz od niego dane. Najprosciej...
Mam następujące zadanie; stworzyć projekt na laboratoria z mikroprocesorów. Męczę się z tym już od początku semestru i szczerze nie mam pojęcia gdzie robię błędy. Liczę na moc internetu i oczywiście odpłatnie na pomoc. Pełna specyfikacja projektu: 1. Komunikacja z komputerem za pomocą interfejsu USART z buforem kołowym. 2. Zaprojektowanie i implementacja...
Dzień dobry, To mój pierwszy post tutaj (jeśli jest w złej kategorii to proszę powiedzieć). Z góry mówię że w elektronice jestem BARDZO początkujący więc jeśli ktoś zdecyduję się odpowiedzieć to poproszę BARDZO prostymi słowami. Mam następujący problem. Mam zrealizować następujące zadanie -> za pomocą płytki STM32 NUCLEO-F401RE mam dokonać pomiaru temperatury...
OK, dzięki. Ale chodziło mi o coś porządnego. Np. dla usart: aby było na przerwaniach, oparte na buforze kołowym, z pełną sygnalizacją stanu transferu w przerwaniach. To co jest na stronach Atmela to jakieś przedszkole.... To tylko przykład podany przeze mnie dla usart. Z innymi peryferiami jest podobnie... Pozdrawiam.
https://obrazki.elektroda.pl/5705909000_... NA WSTĘPIE Wiem, wiem, ktoś zaraz powie, że układów aktywnego obciążenia nie sposób zliczyć i kolejny taki projekt przyczynia się do klęski urodzaju… 8-) Mimo wszystko chciałbym przedstawić projekt aktywnego obciążenia. Aktywne obciążenie samo w sobie nie jest czymś szczególnym, ale...
bufor kołowy usart bufor bufor usart
lenovo słaby ładować bateria wymiana włącznik schemat pilot centralne zamek
Understanding BK AddClockEvent Command in Electronics Bosch GC2300iW 15P – jak rozpoznać taktowanie kotła po temperaturze zasilania?