Witam. RFM69W 433 S2 - transmisja dwukierunkowa - bufor FIFO - CRC - AES-128 - 433MHz Dobry zasięg w betonowych osiedlach.
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...
Zdaje się, że LOGO! trzeba najpierw podpiąć do PC, dopiero później załączyć mu zasilanie i powinien wyświetlić się na LCD jakiś komunikat (nie pamiętam treści). Trafiłem? ;-) pzdr
O podwójnym buforze zapomnij w takim przypadku. Przerwanie od końca transmisji i rekonfiguracja. DMA2D?
Wszystko powinno wyjaśnić to: Jeśli w buforze nie ma żadnego znaku funkcja zwraca zero. Można najpierw sprawdzić czy w buforze transmisji znajduje się jakikolwiek znak. W tym celu należy skorzystać z funkcji ISCHARWAITING() . Nie sprawdzasz wogóle czy znak jest w buforze, zatem dostajesz głupoty.
Witam odgrzeję kotleta bo nie chcę tworzyć nowego wątku. Czym spowodowane jest to, że po zainstalowaniu sterowników do fejsu nie można zmienić zaawansowanych właściwości portu USB? W moim przypadku gdy wchodzę w zaawansowane ustawienia mam "Użyj buforów FIFO" i dwa suwaki bufora odbioru i bufora transmisji. Brak możliwości wyboru buforów transmisji...
Jeden z układów MAX485 blokował odbiór danych na linii Rx. Modyfikacja układu pozwoliła na uruchomienie transmisji.
Witam. Po pierwsze pinguj adresy IP nie zmieniając wielkości bufora transmisji! Po drugie sprawdź połączenie antena-karta sieciowa. Po trzecie wyślij ping na bramę sieciową dostawcy. Po czwarte podaj konfigurację łącza(access point, router). Czy rozdzielasz w swoim domu internet bezprzewodowo? Jak na razie to wróżymy z szklanej kuli...
Wyłącz echo w telefonie. ale jak mam to zrobic ? ATE0 nie dziala :| Czyszczenie bufora nic Ci nie da.Aby "opróżnić" bufor , wystarczy wyrównać lub wyzerować indeksy _rs_head_ptr0 i _rs_tail_ptr0 . pytanie jak to zrobic pod Bascomem ? Obecnie jest tak jak by to co wysyla telefon ladowalo sie do bufora w roznych miejscach , raz na pcozatku, raz w srodku...
Blok musisz odczytać cały, ale możesz po każdym odebranym bajcie sprawdzać go, czy zgadza się z Twoim tekstem, więc nie potrzeba tak naprawdę dużych zmiennych i nie ma konieczności ładowania wszystkiego do bufora. Transmisja SPI ma tą zaletę, że master może dowolnie zmieniać prędkość transmisji lub nawet ją na chwilę spauzować. Karty SD są kompatybilne...
[url=http://forum.mojasymfonia.pl/viewto...
Bufor cykliczny - tablica o długości N bajtów. Dwa wskażniki na elementy tegoż. Pierwszy wskażnik do odczytu (wo), drugi do zapisu (wz). Początkowo oba wskażniki ustawione na początek bufora. Zapis: Procedura przerwania po każdym odebranym bajcie zapisuje go w miejscu wskazanym przez wz. Następnie wz jest inkrementowany i jeżeli wskazuje na element...
Jeżeli chcesz wykorzystać tylko ten bufor to nie ma to prawa działać. Nie sugeruj się tym, że raz czy drugi to zaskoczyło. Jeżeli to ma być transmisja dwukierunkowa to musisz dodać drugi bufor, który podniesie sygnał z 3,3V na 5V na linii DI. Obecne rozwiązanie jest nie do przyjęcia. Dalej się będę upierał przy tym, że lepiej wykorzystać układ MAX3485...
Jesli transmisja ma być nieblokująca to polling odpada. Jak rozumiem można podłączyć modem tak, że po wykonaniu rozkazu dostaniemy przerwanie (również gdy coś się nie powiedzie). Wtedy wg. mnie trzeba zrobić bufor (np. cyrkularny) do którego będzie wpisywać pakiety główny program i inicjowac transmisję. Przerwanie będzie sprawdzało status, zdejmowało...
Ta funkcja jest wywoływana, gdy zostanie zakończona transmisja całego bufora, a Ty przerzucasz do bufora i każesz transmitować po jednym znaku, zamiast raz wywołać Transmit dla całego napisu.
(at)scyzor Wybacz za laickie pytanie, ale orłem w programowaniu nie jestem i pierwszy raz mam styczność z "union". Z grubsza "pożeniłem" Twój kod ze swoją płytką, jednak mam pytanie odnośnie samej konfiguracji ModBusa. W tym fragmencie kodu, są już ustawione wszystkie parametry transmisji? Bufor, etc? Sprzętowo muszę przerobić nieco posiadane konwertery...
Oczywiście, że ma. Zarówno bufor odbiornika, jak i bufor nadajnika. Jeśli w UDR jest już bajt danych, to kolejny zapis odbędzie się do bufora (automatycznie załatwia to hardware MCU). Stąd też zazwyczaj zapisując dane do UDR sprawdzasz flagę UDRE, czy masz miejsce w buforze. Flagę zakończenia transmisji sprawdza się rzadko, zazwyczaj jeśli po zakończeniu...
EV_TXEMPTY nie jest ustawiana po pzekazaniu do bufora nadawczego tylko po oproznieniu bufora, wiec po transmisji. linijka z transmisji w transmisji szergowej rs422/485 (niestety w c++) : WaitCommEvent( COMDEV( npTTYInfo ), &dwEvtMask, NULL ); if ((dwEvtMask & EV_TXEMPTY) == EV_TXEMPTY) { EscapeCommFunction( COMDEV(...
Oczekiwanie na flagę TXE nie gwarantuje że transfer się zakończył (bo co ma pusty bufor do idącej w tym czasie transmisji?) - do tego służy flaga BSY. 4\/3!!
Bez kodu programu, to tylko telefon do Wróżbity Macieja. Spodziewałem się takiej odpowiedzi, zresztą słusznej. Niestety kod jest niemały i rozbity na pliki. Dla cierpliwych i chętnych załączam cały spakowany projekt Atmel Studio 7.0 Generalnie za transmisję odpowiedzialne są takie funkcje: EDIT: Znalazłem przyczynę problemu - tryb uśpienia. Jeśli wyłączę...
Obsługa przerwania ma być najkrótsza. Najlepsza analogia do życia, to gdy dzwoni telefon, to tylko go odbierzesz, porozmawiasz i koniec, nie będziesz nieruchomo stał, aż zadzwoni następny raz. Podobnie w procesorze są przerwania uzależnione od różnych zdarzeń, zmiany stanu zewnętrznego pinu, opróżnienia bufora transmisji wyjściowej, otrzymania bajtu...
Na początek taka uwaga: Driver Atmela bazuje na przerwaniach, w związku z czym wymaga globalnego zezwolenia na przerwania, czyli ustawienia bitu I w SREG. Z tego też powodu nie można używać go (w sposób przedstawiony w przykładzie obsługi PCF8563 Kod 3. .............. Owszem, tutaj również się program nie zawiesza. Ale też nic nie odczytuje. To, że...
W sumie to nie wiem gdzie to wyczytałem z tym buforem 32 bajty, a jaki jest dokładnie ?? ESP8266 nie ma kontrolera sprzętowego I2C, więc mowa będzie tylko o buforach programowych. Klasa Wire korzysta z bufora, którego długość jest określona w pliku Wire.h jako: dodatkowe bufory programowe, których długość jest określona w pliku twi.h jako:[syntax=c]#define...
Masz rację, ale problem polega na tym, że mimo ciągu bajtów przychodzących w transmisji, w buforze jest zapisana tylko pierwsza komórka, ponieważ po pierwszym skoku do przerwania i odebrania pierwszego znaku już więcej przerwanie nie jest obsługiwane mimo przychodzących kolejnych bajtów. Gdzie może być problem?
Często w menadżerze urządzeń Windows widzę takie parametry jak: bity danych rozmiar bufora wyjściowego rozmiar bufora wejściowego szybkość transmisji Mógłby ktoś w jednym zdaniu opisać po każdym z nich? Najlepiej w łopatologicznym języku, bo specjalistycznego się już naczytałem i nie mi nie pomogło
Witam. Szukam rozwiązania buforu FIFO dla nadajnika dla transmisji szeregowej. Opisu takiego buforu / budowy / działania. Dziękuje za wszelkie wskazówki.
Jeszcze co mi przychodzi do głowy to może być też kwestia samego routera i QoS lub jego braku. Jeśli router wspiera 802.11e(WMM) to znakowanie pakietów(DSCP) przy obciążonym WiFi mogło by też coś dać :) Router raczej nie jest obciążony, chociaż to "klasa średnio-niska", technicolor od operatora z zablokowaną w większości konfiguracją. Odkurzyłem dla...
Problemem jest opóźnienie i wielkość bufora BT . Po prostu upływa czas odpowiedzi i transmisja się sypie to samo jest przy niektórych przejściówkach USB rs232 . Jeśli program jest dość stary a transmisja wprost może nie udać się go połączyć po usb czy radio. poza tym twój moduł jak widać nie obsługuje chyba wszystkich znaków bo są różnice przed i za...
Czyli Twój pseudokod to jest taka jakby kolejka FIFO? No niezupełnie. To co przedstawiłem buffer_is_empty() zwracająca prawdę lub fałsz) należy sobie dopisać. Sprawa jest dosyć prosta np. w przypadku USART. Wystarczy dodać bajt do bufora, później - jeśli bufor nie jest pusty - pobrać bajt i wysłać. W przypadku I2C sprawa jest o tyle skomplikowana,...
Spróbuj zwiększyć bufor transmisji C:\Program Files (x86)\Arduino\hardware\arduino\avr\libra... #define _SS_MAX_RX_BUFF 64
Ja też mam trochę lamerskie pytanie... Oscyloskop (amatroski) = AD7863 + procek (jaki polecasz) + bufor (?) + transmisja po rs232... Warto kombinować ?
Nie wiem na ile jesteś w stanie ingerować w kod, ale... Cała obsługa transmisji po SPI powinna zostać przeniesiona do funkcji obsługi przerwania od SPI. Funkcje z pętli głównej powinny tylko przekazywać wskaźniki na struktury z danymi i callbackiem do "drivera" SPI. Driver SPI powinien atomowo zbierać te wskaźniki do swojego bufora i inicjować transmisję,...
Spróbuj w ustawieniach portów com zmienić rozmiary buforów transmisji
Co pisze w plikach log na temat błędu transmisji. ps Czy na czas transmisji wyłączyłeś zaporę?
Możliwe. Dlatego trzeba to max uprościć. Z priorytetów bym zrezygnował bo przy szybkości SPI raczej są niepotrzebne. Transakcja to przydzielony dynamicznie obszar pamięci identyfikowany przez wskaźnik. Dispatcher to kolejka FIFO, pobiera wskaźnik, realizuje transakcję, usuwa wskaźnik z kolejki. Stąd też aplikacja wywołująca jeśli po przeszukaniu kolejki...
Z modułami ok. W programie tak napisane nie wiem czy to zamierzone czy nie, ale przy odbiorze nie czyści bufora po poprzednim odczycie.
Przez port szeregowy możesz wysłać jednorazowo tylko określoną ilość znaków. Nie pamiętam specyfikacji ile znaków pewnie 128. Rozwiązanie problemu:1. Wykonujesz bufor transmisji np. D2000 - D2100 (z którego udała Ci się już transmisja) .2 Flagą którą odczytujesz np: A202.01 przenosisz dane np: funkcją MOV kolejno z zakresu twoich komórek w pierwszym...
Linków do filmów brak. Na zdjęciach nie widać dość istotnych parametrów - flag aktywnej adaptacji i pracy w pętli zamkniętej. Chwilowe miganie błędów, to mogą być błędy transmisji. Możesz spróbować zmniejszyć do minimum bufor i opóźnienia wirtualnego portu szeregowego od interfejsu. https://obrazki.elektroda.pl/3577562600_... Jeśli...
Najprościej zasilić diodę poprzez bufor TTL, np. 74xxx06. Inna sprawa, że to bez sensu - transmisja odbywa się tak szybko, że zamiast migania diody zobaczysz tylko ciągłe świecenie. Trzebaby dodać jakiś monowibrator.
Zrób tak jak przedstawia rysunek. Tranzystory zastąp buforami. Jak rozumiem wiesz co to bufor 3 stanowy /high/lo/hi-impedance/. NA tym rysunku jak podasz logiczne "1" z mikrokontrolera, tranzystor sciągnie linie sygnałową do masy , jak mikro posyła logiczne "0" to tranzystor stanowi "duży opornik ;)" podłącz te bufory aby właśnie tak działały i gra...
Rozwiazania z rezystorami nie polecam - trzeba bardzo zwolnic transmisje i podatne to jest na zaklocenia z zewnatrz. A miejsca zajmuje tyle co scalony bufor.
Witam Mam pytanie dotyczące transmisji RS232 w atmedze8 do komputera. Chodzi o wielkość bufora w USART. Realizuje komunikacje z komputerem w sposób: wysyłam w petli znak, mikroprocesor w odpowiedzi wysyła ciag znaków po 10, po odebraniu w komputerze wysyłam nastepny znak i tak 10 razy obecnie. Z moich obserwacji wychodzi na to ze bufor moj musi miec...
Skorzystać z odbioru danych w przerwaniu od UARTA. Mały przykład dla ciebie: $regfile = "M32def.dat" 'Deklaracja typu mikrokontrolera $crystal = 8000000 'Czestotliwosc oscylatora $baud = 9600 Const Max_znakow = 11 'rozmiar bufora Dim Bufor As String * Max_znakow Dim Licz_znaki As Byte Dim Flaga As Bit Enable Interrupts On Urxc Odebrano 'przerwanie...
Ok, dzięki, mniej więcej już wiem jak to ma wyglądać. 2. Przerwanie zakończenia DMA z ADC programuje DMA do odbioru z ADC do bufora 2, przygotowuje dane do wysłania przez UART i programuje DMA do transmisji z bufora 1 do UART. Czyli W punkcie 2 już następuje transmisja? Przy takiej realizacji potrzeba tylko jednego przerwania - od zakończenia DMA z...
Podejrzewam, że twoja funkcja USART0_Transmit_Word może zbyt długo czekać i bufor odbiorczy UARTu się przepełnia. Załóżmy, że powyższa funkcja wysyła znaki '\r' '\n' po każdym jej wywołaniu. Wówczas jeśli program otrzymuje tekst i po owym tekście #010, to cały komunikat trafia do wysłania i jest w porządku. Jeśli tekst zacznie się od #010, natychmiast...
Zrób transmisję z sumą kontrolną.
To już od ciebie zależy, ważne żeby na obu końcach koniec linii był identyfikowany w ten sam sposób. W dobrych terminalach da się takie rzeczy ustawić w ustawieniach transmisji.
Ja mówiłam o filozofii programów czyli o sztuce tworzenia algorytmów. Niezależnie od sposobu realizacji wymiany danych między urządzeniami przerwanie powinno obsługiwać jeden znak i wspólpracować z jakimś buforem.
Parzystość ,bit stopu,długość prawidłowa ? Większość błędów w pracy uarta to różne ustawienie parametrów wysyłanej informacji, źle ustawione źródło częstotliwości zegarowej (dzielnik lub RC) lub odebranie śmieci z bufora odbiorczego które znajdują się tam po resecie mikrokontrolera.Patrząc na to co odbiera terminal brak sterowania przepływem transmisji....
Ale po co od razu WatchDog do tego? Nie lepiej dać TimeOut funkcji Inputbin? A jeszcze lepiej dać jakiś bajt wyróżniający początek ramki i CRC na końcu ramki. Tyle że liczenie CRC musiało by być szybkie żeby procesor nadążył z liczeniem po zgubieniu synchronizacji transmisji (Wtedy musiał by przeliczać cały bufor wielokrotnie przesówając się o jedne...
Witam, Bufor nadawczy jest o rozmiarze jednego wysyłanego znaku (tak na prawdę jest to rejestr przesuwny samego UARTu). Zapisując dane do UDR jeśli bufor nadawczy jest pusty to od razu jest przepisywana do niego dana i rozpoczęcie transmisji. W innym przypadku jeśli w UDR są nowe dane a nie wszystko zostało wysłane to sprzęt czeka aż się wyślę i przepisze...
when the entire frame in the shift register has been shifted out and there are no new data present Z czego wynika, że przerwanie jest generowane, gdy w UART nic nie ma (czyli nic nie ma w rejestrze nadajnika i buforze sprzętowym). W przypadku ciągłej transmisji nie jest więc generowane TxC. Co zresztą nie miałoby sensu. Dzięki temu możesz rozpoznać...
Co robi funkcja send_uintUSART2? Nazwa sugeruje, że raczej nie wysyła znaków. Pomysł z nadawaniem z aktywnym oczekiwaniem i odbiorem w przerwaniu zajeżdża amatorszczyzną, ale czasami działa. Za to brak zabezpieczeń przed przepełnieniem bufora odbioru to już poważny błąd.
(at)ellavita Tak jak kol. (at)NoweMillennium napisał - rozsyłanie z jednego nadajnika do kilku odbiorników to nie problem i będzie to działać. Natomiast problem jest w drugą stronę - wysyłania danych z odbiorników do mastera. Ponieważ wymagałoby to połączenia kilku wyjść, bezpośrednio taka konfiguracja jest niedozwolona. Można ten problem ominąć wykorzystując...
W takim razie czy mógłbyś polecić jakieś rozwiązanie, jak zrealizować USB bezprzewodowo? - bezprzewodowe HUBy USB są raczej rzadkością... A może adapter USB-RS232 (on zadziała jak bufor?) (transmisja bezprzewodowa) RS232-USB?
Zatem nie nadążasz odbierać z PC, nadpisujesz bufor ze znakiem wysyłanym do PC albo PC nie nadąża z odbiorem. Stawiam na drugi przypadek.
Co do transmisji przez UART najpierw trzeba ustawić parę "rzeczy" ;) Poniżej wkleję kawałek kodu który transmituje liczbę 0 przez UART. tmod_set equ 020h ;ustawienie Timera 1 w tryb 2 th1_set equ 0F4h ;ustawienie szybkosci na 2400 bodow/sek. tl1_set equ 0F4h scon_set equ 050h ;ustawienie UART w tryb 1 i zezwolenie na odbior mov SCON,#scon_set ;zaladowanie...
nie rozumiesz, że nie wysyłam to tylko do testu. interesuje mnie to co jest wysyłane kiedy TX jest pusty, i tylko to. Jest to konstatacja że jak jesteś slave (F303) to kiedy bufor transmisji jest pusty to wysyłane jest nieparzyste zapisanye do niego słowo 16 bitowe (akurat taki mam format transmisji) dla innej długości słowa nie testowałem. Nie szukam...
W takich przypadkach mogą być przyczyny: - wirus który rozsyła pakiety do sieci, - złe łącze (pakiety są wysyłane a nie przychodzą potwierdzenia poprawne więc system ponownie ponawia transmisję aż otrzyma potwierdzenie) i tak za każdym razem - pakietem. Spróbuj sprawdzić jakość łącza zwykłym poleceniem Ping Sposób użycia: ping [-t] [-a] [-n liczba]...
Zasady uniwersalne w mikrokontrolerach są proste: Jeśli do odbioru i transmisji jest to samo przerwanie, trzeba rozdzielić te funkcje, na samym początku sprawdzając przyczynę przerwania. Jeśli jest możliwe ustanowienie oddzielnych wektorów, to jest jeszcze lepiej. Transmisja po opróżnieniu bufora samoczynnie ma siebie dezaktywować. W przypadku zabawy...
Może dokumentacja wprowadza w błąd mówiąc, że FT311D obsługuje prędkości SPI do 24MHz? Czy gdziekolwiek stwierdziłeś, że nie obsługuje? Bo nic o tym nie piszesz. Opóźnienia, o których piszesz dodajesz PRZED lub PO transferze . Jaki według Ciebie mają więc związek z prędkością transmisji po SPI? Piszesz, że Wszystko jest OK, gdy stosuję opóźnienie pomiędzy...
Liczba bitów na sekunde: 9600 bity danych: 8 parzystość: BRAK bity stopu: 1 sterowanie przepływem: BRAK Użyj buforów FIFO (wymaga zgodności z UART 16550): bufor odbioru: 4096 bufor transmisji:4096 czas opóźnienia: 16 dla vaga 12 dla opli to są konfigi wirtualnego com'a (tania kkl od mpaq) mam też oryginalnego vcds od Adako i tam takiej konfiguracji...
ping -a <adres IP> m. in. poda nazwę netbios Sposób użycia: ping -a Tłumacz adresy na nazwy hostów. -n liczba Liczba wysyłanych powtórzeń żądania. -l rozmiar Rozmiar buforu transmisji. -f Ustaw w pakiecie flagę "Nie fragmentuj". -i TTL Czas wygaśnięcia. -v TOS Typ usługi. -r liczba Rejestruj trasę dla przeskoków. -s liczba Sygnatura czasowa dla...
Proszę bardzo lecz jetem pewien, iż nie wniesie to nic. Skoro tak twierdzisz, to po co w ogóle pytać? Masz błąd o którym Ci pisałem. Tyle że wtedy pisałem, że "warto na przyszłość", a teraz mówię że masz błąd. To: if (tflags & USART_FLAG_TXE) wykona się niezależnie od tego czy masz włączone przerwanie czy nie. A wiec występuje u Ciebie (jednak)...
Ciekawe optymalizacje robi ten użytkownik dla wyświetlaczy 240x320 pikseli. Na tym ili9481 tez spokojnie mozna osiagnac takie odswiezanie. Zreszta wypelnienie jednym kolorem jest porownywalne z tym co pokzalaes na filmiku i to mimo faktu ze dla ili9481 na spi trzeba wyslac 3 bajty na piksel, czyli musisz wyslac 460800 bajtow na ramke ( dla 240x320...
Tak naprawde interesuje mnie czy te linie kodu są poprawne: void USART_Transmit( unsigned char a) { while (!(UCSRA & (1<<UDRE))); //czekaj az bufor nadawczy bedzie pusty UDR = a; //wrzuc a do bufora //transmisja poprzez PD0
temat trochę stary ale moja odp. pomoże innym przeglądającym te forum : ustawic poprawnie trzeba port ! prędkość na 19200 ,sterowanie przepływem - włącz x on /x off , oraz zmniejszyć bufor transmisji na minimum 10 a nawet i mniej i musi smigać
Konwerter jest do bani - nie da się go tak skonfigurować by naprawić ten błąd w transmisji.
Przepraszam, oto ustawienia portu http://obrazki.elektroda.net/29_12416226... oraz opcje zaawansowane Użyj buforu FIFO zaznaczone, bufor odbioru i bufor transmisji ustawione na wartości maksymalne.
Witam. No więc w rozkazie rozpoczynania transakcji musi być zdefiniowana ilość pozycji (parametr P)...Jeżeli w rozkazie rozpoczęcia transakcji występuje P0 to wysyłamy po 1 pozycji aż do zakończenia transakcji (trzeci kluczowy rozkaz). Aby przebiegało tak jak Pan chce konieczne jest do rozkazu dołożenie sekwencji sprawdzającej. Wygląda to tak: ...........ESC+'\'+char($05)...
Zrób to jako dwie pętle bo wielkość tabeli w bascomie to max 255 bajtów poza tym nie wiem czy bascom sprawdza zajętość bufora transmisji co za tym idzie może gubić bajty . Zatem w pętli dodaj opóźnienie potrzebne na czas wysłania informacji przez interfejs.
Jakież to przerwanie muli ci PC-ta mógłbyś rozwinąć ? Użyj zwykłego terminana od windows i zobacz co dostajesz, może masz niedopowiednie prędkości transmisji dla PC i uP ? Uzyj przerwania odbioru znaku z bufora UART nie będzie się nic mulić bo twój program większkośc czasu poświęca na oczekiwanie na odbior znaku z PC-ta. O I2C zapomnij bo nie masz takiego...
Charakterystyczną właściwością bufora cyklicznego (kolejki FIFO) jest to, że wskaźniki początku i końca (odczytu i zapełniania) przemieszczają się niezależnie - każdy w swoim tempie. Stąd w Twoim programie indeksy powinny być niezależnymi zmiennymi globalnymi/statycznymi. Przypisanie liczniku=usartbufferlicznik zakłóciłoby normalny tryb pracy bufora...
No tak na marginesie to bardzo ciekawy efekt ci wyszedł ;) A na poważnie to działasz na ATmega32 więc jak możesz próbować nawet tworzyć bufor w RAM o rozmiarze 2026 ??? nie wspominając o większym - skoro cały RAM tego procka to 2kB. Zastanowiłeś się nad tym? hmmm widzisz tutaj twoim problemem jest na razie prawidłowe zorganizowanie binarnej transmisji...
Po wpisaniu czegoś do rejestru DR jego zawartość kopiowana jest do rejestru przesuwnego (jeśli nie trwa inna transmisja) i wtedy rozpoczyna się rzeczywisty transfer. Szczegóły w manualu. Tak apropo to ustawienie flagi TXE oznacza e bufor transmisji jest pusty i NIC WIĘCEJ. Wcale nie oznacza to fizycznego końca transmisji! Ponownie polecam manual i diagramy/opisy...
Czyli wysłać "w ciemno" wartość do DR bez żadnej kontroli? Teraz właśnie tak robisz. Powinno byc tak: - zapis do DR - czekanie na zakończenie transmisji lub - czakanie aż bufor nadawczy bedzie pusty - zapis DR
A czego oczekiwałeś - bufor jest pusty to dostajesz przerwanie - nie włożysz nic do DR to bufor jest cały czas pusty więc dostajesz kolejne (bo nic się nie zmieniło) - logiczne. Musisz przemyśleć sposób właczania i wyłaczania przerwania w zależności od sposobu realizacji bufora transmisji. Dlaczego do NVIC-a nie używasz funkcji i makr z CMSIS?
W sumie jak miałeś napisany tak kod, że zawsze zdążyłeś dodać nowy bajt do bufora przed zakończeniem transmisji poprzedniego to przerwanie od TXC nie wykonało się ani razu (bo bufor nigdy nie był pusty przed zakończeniem transmisji bajta z shiftera). Dopiero po zakończeniu transmisji całego pakietu. Czyli Twój kod działał tak jak mój aktualny... mniej...
Mając do dyspozycji coś tak potężnego jak assembler mógłbyś w inny sposób napisać kod. Właśnie ukończyłem zlecenie sterownika serw na AVR. Steruje serwami w ten sposób, że wszystkim daje H i po odpowiednim czasie wyłączam dowolne z nich(porównywanie z zadaną wartością). W assebblerze mógłbyś to dokładnie policzyć i program by śmigał, aż miło ;) Wytłumaczę...
Przy odbieraniu każdej nowej transmisji można można wyczyścić bufor i lcd. Do wykrywania początku/końca ramki proponuję użyć metody Xon/Xoff.
Procesor musi jakoś zdeterminować koniec transmisji. Ja to widzę tak: Ustalamy jakiś TIMEOUT. 1. Odbieramy znaki do bufora (musi być odpowiednio duży w zależności od maksymalnej długości transmisji). 2. Pomiędzy odbieranymi znakami mierzymy czas. 3. Jeśli czas będzie większy od stałej TIMEOUT, uznajemy, że to koniec transmisji i analizujemy zawartość...
Dla mnie to kompletna abstrakcja. Według Twojego kodu, to najpierw odczytujesz 1 bajt danych. Później od razu chcesz odczytać drugi bajt danych, którego najprawdopodobniej jeszcze nie ma (komputer jest szybszy niż transmisja z prędkością około 30kb/s). Jeżeli chcesz uzyskać taki efekt, to przy sprawdzeniu wartości == 'x' ustaw sobie flagę, że już odczytałeś...
żeby program mobi dziełał trzeba zmienić ustawienia w porcie com. W menadżerze urządzeń wybieramy port klikamy dwa razy , wybieramy ustawienia portu i klikamy na zaawansowane, przesówamy sówak "bufor odbioru" na 4 a "bufor transmisji" na 6. po tym wszystkim powinno działać
Chciałbym tylko nieśmiało zauważyć, że ten programowy arbiter plus obsługa DMA - to więcej kodu niż obsługa transmisji na przerwaniach z buforem cyklicznym bez DMA. ;)
SPI ma bufor, więc ładowanie nic nie kosztuje - odbywa się w czasie transmisji poprzedniego bajtu. Transmisja bajtu odbywa się automatycznie, jeśli rejestr danych nie jest pusty, więc to też nic nie kosztuje. Co do animacji - małoistotne jest jak szybko kontroler może odświeżać, jeśli LCD z KS zmienia stan piksela z zapalonego na zgaszony i odwrotnie...
http://obrazki.elektroda.net/3_126545837... Jak dołączyć do tego bufor (mam cd4050be)?
Transmisja pakietów jest dość powolna przy dużych wartościach SF, więc sposób modulacji będzie wpływał na czas od przygotowania danych do wysyłki, do pojawienia się danych w buforze odbiornika. Może być to nawet 500ms dla 100B i więcej dla wolniejszych transmisji: [url=https://www.elektroda.pl/rtvforum/t... zasięg mają modemy LoRa...
Bajty. Interesował mnie generalnie zapis WiFi => SD. Projektu nigdy nie doszlifowałem bo z drukarką były inne problemy. Tu jest jakiś tak mały filmik, na którym nieudolnie próbuję pokazać szybkość w prawdziwym życiu. https://www.youtube.com/watch?v=hxnvsZrG... Po SPI nie ma opcji. To było SDIO i to chyba na 4 liniach. Całość była dosyć czuła na ustawienia...
Kolego A może odbierasz poł transmisji starej i pol nowej ? Wyświetl sobie na LCD bufor odbioru i sprawdź co tam się dzieje. Ja przy transmisji na I2C miałem taki problem iż nie wiedziałem czemu po starcie wariuje mi generator sterowany po I2C, Okazało się po dlugiej walce z oscyloskopem i debugowaniem całego programu iż problem leżał nie w przetwarzaniu...
PC wysyła wszystko co ma w buforze bajt za bajtem bez czekania. Można zwiększyć odstęp między bajtami, z tego co pamiętam to jest do wyboru szerokość przerwy 1, 1 1/2 lub 2 bity. A jak odbierasz dane? AVR'y nie mają buforu (no jest na 1 bajt, ale to nie bufor), najlepiej umieścić w przerwaniu wywoływanym przez USART podprogram który zapisze kolejne...
Sprawa wygląda następujaco: Mam układ, który może komunikować się po RSie 232 tylko z prędkością 9600bps. Muszę go podłaczyć do miernika (METEX), który z kolei dysponuje tylko prędkością transmisji 1200bps. ma ktoś pomysł na jakiś bufor, który by pośredniczył w transmisji?
Chciałbym wykorzystać maksymalnie możliwość próbkowania ADC, jednak sama prędkość transmisji BT na to nie pozwala. Pomyślałem, o zrobieniu buforu na zebrane próbki i wysyłaniu ich na bieżąco po BT do komputera, A ja nie bardzo rozumiem jak ten bufor miałby zwiększyć prędkość transmisji BT? I raczej przemyśl założenia. Jaka konkretnie prędkość Cię interesuje?...
Wielkie dzięki raz jeszcze Panowie za podpowiedz,mam jeszcze jedno pytanie czy do odbioru danych z telefonu uzyć funkcji inkey,czy innej np: input i jak wyswietlić dane będące w buforze transmisji na wyswietlaczu LCD.Jeśli zechcecie mi raz jeszcze pomóc to super a teraz zabieram sie do opanowania waszych wskazówek.DZIĘKI.Pozdrawiam
Jeśli zastosujesz próbki WAV zapisane jako ADPCM to długość odtwarzanego utworu w tej samej jednostce pamięci znacznie się powiększy - a jest to dość prosta kompresja. http://pl.wikipedia.org/wiki/ADPCM Co do pamięci to w 8051 jest jej niezmiernie mało. Może podejdź do tego inaczej. Niech PC przez RS232 wysyła plik tak duży jak chce, a 8051 będzie go...
Witam Szanowni Państwo. Potrzebuję informacji na temat SJA1000. Angielskie pdf-y już mam przeczytane. Mój problem polega na fakcie iż po resetowaniu, wysłaniu danych do bufora transmisji ustawieniu bitu wysyłania (jak w opisówce) - dane nie są wysyłane - kończy się to błędem i wyłaczeniem szyny. Dodam iż pracuję w trybie BasicCAN Dziękuję
Ok, więc jakich opcji używasz i jakich ogólnych flag? Czy używasz transmisji MQTT co minutę czy coś w tym rodzaju? Podejrzewam, że osiągasz limity bufora MQTT i być może będę musiał je zwiększyć w następnej kompilacji.
Zdefiniuj "nie działa". Nic nie odbiera? Bo w sumie to nie powinien. Żeby odebrać coś za pomocą przerwania należy te przerwania włączyć [syntax=c] NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemp... = 0; NVIC_InitStructure.NVIC_IRQChannelSubPri... = 0; NVIC_InitStructure.NVIC_IRQChannelCmd...
Spróbuj tym programem ją posterować. To łatwe. Dziś pobawiłem się TSA6057. Wystarczy ustawić parametry transmisji: http://obrazki.elektroda.net/66_11637621... i wpisać cztery bajty do bufora (tu akurat 145.250MHz przy X-tal 5MHz): http://obrazki.elektroda.net/93_11637621... I wysłać do kości.
Odbieraj cały bufor, ale parsuj po 1 bajcie.
tam mam ustawiony stos (zresztą standardowo).... dzięki chłopaki - czyli muszę niestety zmniejszyć trochę bufor odczytu dla transmisji rs232... pozdrawiam
bufor transmisja przetwornica bufor transmisja bufor grawitacyjna
podajnik ręczny lexmark czarny wydruk ominąć drzwi
Denon DRA-455: Specyfikacja i typowe usterki Ustawienie pompy paliwa VW LT 2.5 TDI AHD: kąt i kierunek regulacji