[syntax=c]RCC_APB2PeriphClockCmd(RCC_AHB... ENABLE);[/syntax] Zdecyduj się, czy konfigurujesz szynę APB2, czy AHB?
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...
A czy nie da się tego zrobić prościej? Prościej by było użyć filozofii bufora kołowego. Czyli tablicy elementów (u Ciebie sześciobajtowych) i dwóch wskaźników (nie koniecznie rozumianych jako adres fizyczny, bo może być to indeks w tablicy) "głowy" i "ogona" danych do wysyłki. Wtedy w operacjach zapisu i odczytu z bufora odpowiednio interpretujesz...
A jakby taki pomysł wypalił: Ustawić Timer jako Input Capture reagującego na obydwa zbocza sygnału. DMA skonfigurować na żądania od Timer i jako Circular buffer, Periph -> Memory. Analizować w wątku bufor kołowy z DMA, ślędząc licznik transferu i ładować do innego bufora wykryte stany 1 i 0 na podstawie róźnicy czasu obydwu zbocz. Z innego wątku ściągać...
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ąć....
Płytka ta zawiera układ STM32F401. Schemat jest: https://obrazki.elektroda.pl/4276299300_... Czujnik ten jest połączony z ADC. Jest to jednak, jak wynika z dokumentacji kiepski czujnik, bez jego zestrojenia będzie się nadawał bardziej do określania zmian temperatury. Ponadto nie przetwarza on przecież temperatury otoczenia. Można zastosować...
Witam ;) Od niedawna prowadzę bloga dotyczącego programowania embedded : http://www.embeddeddev.pl/ Przykłady są oparte głównie na mikrokontrolerach STM32, ale przedstawiane tam informacje mogą przydać się także przy programowaniu innych uC. Dotychczas opisałem tam takie zagadnienia jak: - bufor kołowy (zasada działania, implementacja, przykład obsługi...
(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...
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ż...
http://obrazki.elektroda.pl/4155164900_1... Witam wszystkich Tym razem chciałbym zaprezentować jeszcze programowy projekt radioodbiornika internetowego. Prezentowany projekt jest rozszerzeniem przedstawionego wcześniej projektu odtwarzacza i dyktafonu na STM32F407VG. Połączenie z Internetem zapewnia moduł WiFi WF121-A (internal antenna)...
Atmegi mają dosć wrażliwe UART-y akurat. Na Atmegach ten problem wystepował - ale tam błedy na wielu prędkościach były generalnie wieksze niż w ARM-ach. Czym się właściwie objawia ta wrażliwość atmeg na długie pakiety ? Dosyć prawdopodobne jest że to może być problem z kodem a'la Arduino który nie nadąża z opróżnianiem odbiornika/buforów kołowych....
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...
https://obrazki.elektroda.pl/8115074100_... W związku z urlopem postanowiłem opisać wykonaną w ostatnim czasie konstrukcję. W zawodzie nauczyciela akademickiego jest to 36 dni roboczych plus w moim przypadku 26 dni zaległych z zeszłego roku. Jest to więc trochę czasu - za dużo. Wszystko zaczęło się od znalezienia tunera DVB-T Opticam...
Cześć, Procek gada sobie z ADC po SPI+DMA, machając radośnie CSem. Jest sobie następująca "konstrukcja": - TIM3 generuje fizycznego CSa (krótki impuls H, resztę czasu L) - TIM3 w właściwym momencie triggeruje TIM8... - ...który chodzi w trybie retriggerable one-shot z repetition counterem równym 3... - ...w celu wygenerowania pod rząd 3 8bitowych requestów...
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...
http://obrazki.elektroda.pl/7258579400_1... Witam. Chciałem dzisiaj przedstawić kolejny projekt z cyklu "inni mają - mam i ja" ;) Tym razem jest to miniaturowy sterownik ethernetowy - " uWebServer ". Układ zbudowany został w oparciu o mikrokontroler Cortex-M3 - STM32F103C8T6, do tego kontroler ethernetu "znany i lubiany" - ENC28J60. Całość...
Widzę, że tutaj burza na całego. ;-) Wczoraj nie miałem czasu więc dzisiaj zabrałem się znowu za te g...o i: - ostatecznie zastosowałem kwarc 8 MHz (25 MHz na MCO1 wyglądał na niestabilny) i jak najdokładniej dobrałem kondensatory aby ostatecznie uzyskać 8.00002 MHz. Tym kwarcem rozpędzam PLL do 216 MHz - przy obliczeniu BRR użyłem 216 MHz / 115200...
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...
nie rzutuje nic na floata. Wczytuje od razu z bufora do i2sa w przerwaniu od i2sa. Zaczynam od 45 bajtu. Słychać tylko szum. Może problem jest z czytaniem wartości z karty w przerwaniu? Może czytanie kolejnej wartości z karty trwa za długo? Mam bufor kołowy 512 i gdy dojdę do jego końca to odczytuje kolejne 512 bajtów pliku wave i wysyłam dalej od początku...
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ł...
Witam W ramach zaliczenia mam do stworzenia projekt na bazie stm32f407 (płytka discovery) który będzie bazował na free rtos. Będą wątki sprawdzające stan przycisku[1], poziom napięcia[2] oraz wątek[3] tzw loga który będzie przez dma wyrzucał ciągi znaków przez porty szeregowy. Bez rtos sprawa wydaje mi się banalna lecz przy rtos mam wątpliwości merytoryczne....
Kolega zrobi tak: Nadawanie: Organizujemy bufor kołowy (tablica w RAM np. 1KB i dwa indeksy - zapisu i odczytu). Procedura UartSend(unsigned char* txt, int size) kopiuje dane z txt do bufora zapisu. Po każdym bajcie podbija się indeks zapisu (i zawraca na początek bufora gdy dojdzie do końca). Po przepisaniu danych zabiera się bajt z pozycji indeksu...
Problemem dla mnie w moim projekcie jest to, że ramki które składam i wysyłam mają klika długości (12B, 20B,48B i 248B). W związku z tym może lepszym rozwiązaniem będą osobne bufory statyczne dla każdego typu ramki np. bufor kołowy z tablicami dwuwymiarowymi?
Buffor Fifo to oddzielna implentacja (zwykły bufor kołowy). Zmieniłem ustawienia I2S tak żeby częstotliwość była jak najbardziej zbliżona do 44100Hz. Aktualnie mam ustawione 44097Hz (tak pokazuje cubemx) i jest duża poprawa, tylko przy starcie mam ok 2-3 sekundy "ćwierkania" a później już gra normalnie.
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)...
W moim przykładzie realizowałem fft (za pomocą cmsis'a, 64 próbki), atan2 (na fix pointach), filtr fir w przerwaniu co 2.5us na 22 tapsy, obliczanie nowych nastaw i rekonfiguracja hrtim... HAL nie był tutaj, żadnym problemem, ale realizowanie filtra w przerwaniu z flash'a już tak. Formą optymalizacji prędkości wykonywania kodu nie było użycie innej...
bufor kołowy usart bufor kołowy bufor kołowy wysyłanie
ekspres siemens cieknie zawór elementy budowy radia transmisja światłowodem
Bezpiecznik w telewizorze Panasonic TX-49HX940E: lokalizacja i wymiana Zmywarka, pralka, ekspres – program zatrzymuje się w połowie: grzałka, pompa, czujniki, przekaźnik