Nie. Pamięć FLASH podzielona jest na strony. Zapis zasze obejmuje na raz całą stronę, a jest ona zapisywana ze specjalnego bufora. Przed zapisem strony FLASH (podajesz nr strony), musisz wcześniej załadować bufor danymi. W tym celu najpierw robisz load program memory page (i ładujesz zawartość strony), a potem załadowaną stronę zapisujesz do pamięci...
Zapis do EEPROM jest realizowany różnie. Są EEPROMy w których kasowanie odbywa się stronami, natomiast zapis możliwy jest do pojedynczych komórek, są też EEPROMy posiadające wewnętrzny bufor SRAM, do którego odbywa się najpierw zapis, a potem z niego na stronę pamięci. W takim przypadku jeśli strona ma np. 128 bajtów, to inicjacja zapisu powoduje zapisanie...
Ale jeśli chcesz przekonać autora do swojej konfiguracji, przedstaw mu zarys kosztów tego Qnapa Qnap 264 z fabrycznym wykonaniu 8GB kosztuje (TS-264-8G) kosztuje 1650zł na Amazonie PL. Sprzewdawcą jest Amazon. Wersja bez RAM i kupno ekstra używki 8G ze stówkę taniej. U klakierów dziwnej treści jeszcze taniej. Synology w Atmar 1280zł. Do tego dodatkowy...
Witam, Do pamięci zewnętrznej odwołujesz się przez zwykły wskażnik o adresie większym niż wewnętrzna przestrzeń adresowa RAM'u Więc aby stworzyć tablice musisz odwołać się przez wskażnik char* bufor = (char*)0x8000; // deklaracja adresu początkowego tablicy //--------------------------------------...
W zasadzie to są dwa podejścia do tematu: 1. Odświeżanie na żądanie ( trochę mi się rymło ) tj. każda operacja zmieniająca wyświetlaną daną powinna wywołać funkcję odświeżania ekranu. Nowy odczyt temperatury - bach zapis na ekran. Zmienił się stan wejścia - bach zapis na ekran itd. 2. Odświeżanie cykliczne tj. ekran odświeżany jest w zadanych odstępach...
bufor FIFO to generalnie pewien obszar pamięci RAM, do którego uzyskujemy dostęp za pomocą dwóch wskaźników. Pierwszy z nich (nazwijmy go WRptr) wskazuje nam miejsce zapisu, a drugi (RDptr) miejsce odczytu. Inicjując bufor ustwaiamy WRptr=RDptr=adres_bufora. Po zapisie lub odczycie zwiększamy odpowiedni wskaźnik o jeden. Zgodnie z tymi założeniami,...
Bufor aparatu zapełniony bo zapis na kartę idzie zbyt wolno, wina karty albo adaptera. Spróbuj na innej karcie i raczej bez pośrednictwa adaptera.
Nie ma bufora. Operacja (od wywołania funkcji do jej zakończenia) trwa tyle, ile potrzeba na zapis do EEPROMu całego bloku danych podanych w argumencie. Dla przykładu, wywołujesz zapis: [syntax=c]#include <EEPROM.h> void setup() { uint8_t var[5] = {1,2,3,4,5}; EEPROM.put(0, var); } void loop() {}[/syntax] Wtedy kompilator tworzy funkcję z szablonu...
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...
Czy jest jakaś marka pendrivów, która nie oszukuje i jak podaje dane parametry, to one takie są, a nie, że na chwilę może i ma 110MBs zapisu, ale zapomnieli dodać, że ich pendrive musi odpocząć co kilka sekund? A to moze nie pendrive musi odpocząć tylko twój komputer czyt. bufor się kończy i pendrive czeka na dane z dysku. Jaką masz specyfikacje komputera...
Zrobilem cos podobnego, tyle ze zapis na karcie SD. Generalnie problem jest dosc prosty, tylko musisz zrobic bufor (np cykliczny) do odbioru znakow z uarta, bo bedziesz gubic dane. Mozesz zrobic tak, ze odbierasz np 30 znakow i dopiero cala paczke zapisujesz w eepromie, w tym czasie inne znaki sa zapisywane w buforze. Dlugosc bufora musisz tak dobrac...
Nie do końca. W funkcji receive możliwy jest zapis poza buforem (jak przyjdzie Ci BUFFER_SIZE znaków bez '\r'). Więc zadeklaruj bufor o jeden znak większy: [syntax=c] unsigned char data[BUFFER_SIZE + 1]; [/syntax] albo w pętli w funkcji zrób inny warunek wyjścia: [syntax=c] void receive(){ int i = 0; do{ data[i] = receiveByte(); if(data[i] == '\r')...
Straszna niekonsekwencja w kodzie na poczatku tworzysz DL tak: ramDisplayList = RAM_DL; // start of Display List ft800memWrite32(ramDisplayList, DL_CLEAR_RGB); // Clear Color RGB 00000010 RRRRRRRR GGGGGGGG BBBBBBBB (R/G/B = Colour values) default zero / black ramDisplayList += 4; // point to next location ft800memWrite32(ramDisplayList, (DL_CLEAR |...
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ż...
czy za proces "przewalania" należy uważać także przepisywanie bitów w to samo miejsce - Masz gwarancję, że przepisujesz je w to samo miejsce? Robisz kopię posektorową dysku na ten sam dysk? Zresztą samo określenie przepisywanie bitów jest bzdurą. Minimalną jednostką adresowania w dyskach twardych jest sektor i na poziomie fizycznym nie masz możliwości...
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,...
https://obrazki.elektroda.pl/3221612800_... Witajcie moi drodzy. Zapraszam na relację z postępów prac nad otwartym firmware dla BK7231T. Temat ten napisany będzie w formie tutoriala, przedstawię tu krok po kroku jak opracowałem własny, wieloplatformowy (działający na Windowsie i BK7231T) mini-serwer HTTP, system konfiguracji pinów...
(at)JacekCz Przejrzyj ofertę pamięci dataFLASH, są pamięci z intgefejsem SPI (obudowy zazwyczaj SO08) lub równoległym (większe obudowy). Odczyt sekwencyjny jest szybki (do kilkunastu MB/s), zapis odbywa się blokami o stałej długości dla danego typu pamięci i jest raczej wolny (do kilkuset kB/s przy zapisie do wcześniej skasowanych bloków). Masz też...
Jeśli Arduino to masz bibliotekę do kart SD, schematy podłączenia znajdziesz w internecie bez problemu, musisz tylko uważać na to, ze karta SD zasilana jest napięciem 3,3V i w takim standardzie przyjmuje też sygnały - czyli bezpośrednie podpięcie jej do Arduino pracującego na 5V uszkodzi ją. Warto też pamiętać, że karta pobiera 100mA lub więcej "w szpilkach"...
Jednak natrafiłem w przypadku wzmacniacza OP07 na podane napięcie bez żadnego zakresu. Czy taki zapis oznacza iż akceptowane są napięcia od 0V do Vdd-2V ? Podane dane w tabelce są dla zasilania symetrycznego +- 15V. To dosyć częsty sposób zapisu, +/-14V oznacza od (V-)+1V do (V+)-1V w TL071 jest podane -12V..+15V czyli od (V-)+3V do (V+) Aczkolwiek...
Piszesz, że jesteś początkujący więc będzie Ci trudno zrozumieć wyjaśnienie bez znajomości przynajmniej wskaźników i tablic. Przeczytaj najpierw podręcznik dla tej funkcji - [url=http://www.cplusplus.com/reference/... Funkcja wpisuje do zmiennej "bufor" (tablica znaków - cstring) odpowiednie dane (godzinę) ale żeby nie...
ze szczegółów to użycie zmiennej text masz nieprawidłowe, piszesz po stałych. Wskaźnik na jakiś string (sekwencję literek) a bufor na literki, choć w kodzie C pisze się to formalnie prawie tak samo, są głębokie różnice. Zamiast: Zdziwiony jestem, że rozmawiamy na tematy z pierwszych kartek podręcznika C (oraz zupełnie na chłopski rozum projektowania)....
http://obrazki.elektroda.net/52_12797954... Rejestrator napięć na ARM + dotykowy LCD. Diagnostyka Urządzenie jest przyrządem diagnostycznym typu handheld. Głównym przeznaczeniem przyrządu jest diagnostyka układów mechatronicznych pojazdów samochodowych poprzez przedstawiane sygnałów elektrycznych w formie oscylogramów na wyświetlaczu graficznym....
Dziękuję za odpowiedź. Maksymalna i minimalna już rozumiem. Natomiast średnia powiedzmy zapisuje co równą godzinę do tablicy o rozmiarze 24 i te wyniki porównuje z minimalną i maksymalną? potem je podzielę to wyjdzie mi średnia? Tak będzie dobrze? Pozdrawiam. Myślę, że najłatwiej będzie następująco. Deklarujesz tablicę o rozmiarze 24. Na początku (podczas...
https://obrazki.elektroda.pl/5766737500_... Witajcie moi drodzy. Przedstawię tutaj krok po kroku proces pisania otwartego oprogramowania dla modułu WiFi XR809/XR3 na przykładzie czujnika otwarcia drzwi. Mój firmware dla niego będzie kompatybilny z Tasmota HTTP i pozwoli używać go niezależnie od serwerów producenta. Da nam to również...
Wcześniejsze kwestie wyjaśnił już kol. (at)michalko12 . Mowiąc o tym, że funkcja z eeprom.h dokonuje kasowania przed zapisem powoływałem się na Twoją książkę (str.235 wytłuszczonym drukiem) oraz na https://www.nongnu.org/avr-libc/user-man... gdzie jest napisane: "All write functions force erase_and_write programming mode." Nowsze...
ej Emil, Emil... to nie jest problem dysku - gdyby tak bylo, to nie tylko przy sluchaniu mp3 mialbys taki problem. wydaje mi sie, ze to raczej jest konflikt z karta dzwiekowa - zainstaluj sobie nowsze sterowniki. inna opcja - cos w "momentach" wykozystuje 100% twojego CPU i stad masz takie problemy. Jeszcze jedno - jak przeprowadzasz test na te "zawiasy...
Cześć :) W związku z tym, że w miejscu w którym pracuję istnieje potrzeba programowania pamięci SPI których wsad jest taki sam, stwierdziłem że zbuduję urządzenie, które będzie kopiowało zawartość jednej kości do drugiej. Niby nic, ale z czasem chciałbym zająć się zawodowo projektowaniem oraz programowaniem mikrokontrolerów, więc jako pierwszy projekt...
Generalnie zapis do fifo powinien miec priorytet fifo sluzy do sprzegania modulow o roznych zegarach, w tym rowniez asynchronicznych, nie ma problemu priorytetu zapisu czy odczytu; z twojego, uzytkownika punktu widzenia, adresowanie pamieci na ktorej zrobiono fifo to nie twoj problem, jest ukryte; opcją byłby zapis na narastającym zboczu zegara i odczyt...
zipzap napisał "Może warto dodać do pamięci generatora znaków jakieś zworki do wyboru zestawu znaków? W wątku były podawane różne zestawy. Dzięki temu można by łatwo się między nimi przełączać." Uważam, że zamiast zworek lepszy byłby bufor od 2 do 8 bitów ustawiany programowo, który aktywuje odpowiedni zakres adresów pamięci EPROM (generatora znaków)...
Serial to jakieś 30% całości. W tym momencie program jest za duży o jakieś 7% (~300 bajtów). Do tego celu używam kona arduino Blue pro micro ( odczytywane przez kompilator jako leonardo ). Problem w tym, że to nie koniec rozbudowy programy, a jedynie początek Czyli wstępnie, jak już nadmieniono, sprzęt za słaby do zadania. Ale możesz się pobawić np...
Tak, po twoich wyjaśnieniach wynika, że akurat w tym miejscu istotnie nie ma. Ale jak słusznie pisze BlueDraco przy takim stylu programowania łatwo o pomyłkę, wystarczy, że gdzieś zapomniałeś to -1 dodać. Z drugiej strony po to mamy operator sizeof, żeby z niego korzystać. Gdzieś w kodzie musi tkwić błąd, bo inaczej nie obserwowałbyć problemów o których...
http://obrazki.elektroda.pl/6106634100_1... Przedstawiam projekt inteligentnej stacji meteorologicznej. Jest to nietypowa konstrukcja, zdolna do przewidywania temperatury powietrza atmosferycznego na kolejne 24 godziny. Wykorzystałem do tego celu sztuczną sieć neuronową. Stacja rejestruje co minutę wartość temperatury oraz prezentuje...
Najpierw należy wziąść jakiś stary magnetofon (nawet szpulowy). Następnie robimy tak: sprawdzamy czy ma on: -głowicę kasującą (nie może być magnetyczna, musi być cewka) -głowicę zapisującą -głowicę czytającą -sprawną machanikę Teraz to twoja inwencja twórcza. Musisz znać się na działaniu portu LPT i znać jakiś język programowania np. Turbo Pascal. To...
Ale czy tego problemu nie załatwia nam określenie rozmiaru w parametrze Size komponentu ComDataPacket? Załóżmy, że jesteśmy tym komponentem. Mamy dane; marker start, marker koniec i rozmiar ramki. 1. przychodzą jakieś dane 2. czekamy na marker start 3. marker znaleziony, więc rozpoczynamy zapis ramki. 4. czekamy na marker końca lub/i koniec ramki 5....
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
Cześć, mam pytanie odnośnie PLC. W zadaniu mam zczytywać pomiar z wejścia analogowego i zapisywać go 30-elementowym buforze rejestrów, następnie po zapełnieniu buforu mam rejestr przepisać i wyczyścić, żeby program od nowa mógł zapisywać. Program ma rejestrować pomiar co 0.2Hz jeśli przekroczy 16000 i co 1Hz jeśli przekroczy 20000. Dodatkowo przycisk...
https://obrazki.elektroda.pl/8781022500_... Witam, Tytułem wstępu: Wzmacniacz jest wizualnie bardzo zbliżony do konstrukcji firmy Gamut. To przypadek. Chcąc zbudować wzmacniacz szukałem uszkodzonego dawcy obudowy. Wpadła mi w oko obudowa amplitunera Koda AV-600X, lecz gałka była niesymetrycznie osadzona. Nie znalazłem nic ciekawego,...
A to nie chodzi przypadkiem o to, że część analogowa ma z tych 2mVpp zrobić np 1Vpp, a dopiero cyfrowa ma zrobić MAF? Dodatkowo w części analogowej zrobić filtrowanie zapobiegające aliasingowi... Procesor ma żadne wymagania. - Bufor kołowy długości N, wyzerowany, - pointer wskazujące miejsce zapisu nowej próbki do tego bufora - SUMA = 0 na początek....
Witam programator działa bezpośrednio na fizycznym porcie RS232 na starszym komputerze. Instalujemy tylko program Easy51Pro v2.0 dostarczony z programatorem lub poszukany w necie jak chińczyk nie przysłał wraz z programatorem. Programatora nie uruchomiłem na przejściówce USB - problemem może okazać się większy numer COM przypisywany przez system. Program...
https://obrazki.elektroda.pl/8545401100_... Mój poprzedni temat o Pierwsze kroki Jakiś czas temu publikowałem temat o https://obrazki.elektroda.pl/4535548900_... Wyszukujemy DHT. Biblioteka DHT wymaga też dodania Adafruit Unified Sensor Library, więc dodajemy obie biblioteki. Najpierw Unified Sensor: https://obrazki.elektroda.pl/1839946000_...
http://obrazki.elektroda.pl/4029783300_1... Układu SID (6581 stary i 8580 nowy), będącym muzyczną orkiestrą komputera Commodore 64 nie trzeba nikomu przedstawiać – między innymi dzięki jego brzmieniu owa maszyna osiągnęła tak dużą popularność. Warto tylko przypomnieć, że SID ma jedynie trzy kanały, ale umiejętności programistów...
Adres będę generował w 4 bit kodzie BCD i dekodował na dwóch SN74LS47 To wygenerujesz całe 10 różnych adresów, jaki w tym sens? 7447 to nie dekoder, a transkoder na kod wskaźnika 7 segmentowego. To lepiej dać 74159 lub 74154 ? Główne pytanie jest nadal bez odpowiedzi Rozumiem ,że przez kontroler DRAM trzeba przepuścić czyli wprowadzić do kontrolera...
niestety Lexar nie ma żadnego dobrego dysku SSD w klasie budżetowej Takim całkiem dobrym i budżetowym dyskiem jest np Lexar NM620. Nie ma DRAM-u(w przypadku starszych konstrukcji mogło to "położyć ich wydajność), ale bufor SLC to nadrabia. Zapis i odczyt sekwencyjny sporo lepszy niż w Kioxi Excerii.
Witam! Wszyscy się czymś chwalą to ja też się pochwalę. Od razu pisze że projekt jest nieco zaniedbany i jest sporo błędów w większości drobnych ale widocznych. Nie jest to urządzenie pomiarowe z profesjonalnego punktu widzenia. W tym tygodniu przyjdą nowe płytki - tutaj mogę pokazać wizualizacje: https://obrazki.elektroda.pl/1240641000_...
Poczyniłem małe zmiany: ...Pozostało dorobić, aby nazwy stacji do przewijania kółkiem enkodera brać chyba najlepiej z tablicy (42 znaki * 100 stacji) aby to się szybciej ładowało, czyli utworzyć taka tablicę podczas ładowania payloadu banku z serwera. Wydaje mi się, że czytanie tego z karty SD jest raczej bez sensu. Dzięki MAJSTER XXL za aktualizację....
Dziękuję za taki odzew zrobiłem jak radziliście i nie pomogło : (. Więc ze przerobię też inicjalizację SPI na nie biblioteczną i nie pomogło : (. Później sprawdziłem rejestr który zapisuję (CTRL_REG1- opowiedziany za włączenie żyroskopu) okazało się że tu też pojedynczy zapis nie wystarcza dopiero za 2 razem wartość zapisana w rejestrze równa się wartości...
https://obrazki.elektroda.pl/9234332600_... Ode mnie: Opis jest powierzchowny ze względu na brak czasu. Postaram się odpowiedzieć na rzeczowe, techniczne pytania dotyczące konkretnych zagadnień. Urządzenie jest projektem jednostkowym, niekomercyjnym. Schemat: https://obrazki.elektroda.pl/4430277100_... Z potrzeby...
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>...
Zobacz sobie do rejestru RSTCTRL.RSTFR. (at)ElektrodaBot W poniższym fragmencie kodzie w C dla AVR128DA32: int main(void) { CCP = CCP_IOREG_gc; CLKCTRL.OSCHFCTRLA = CLKCTRL_FRQSEL_8M_gc;// OK init_Uc(); // initialization mikrokontrolera TWI1_init(); ; init_MCP(); // initialization MCP23017 lcd_init(); lcd_gotoxy(5,0); lcd_puts("dziala OK"); _delay_ms(500);...
zapis bufor rs485 zapis zapis makro
schemat płyty sterującej praktyczne programowanie rs232 ipconfig media server
vaillant ecotec exclusive sterownik atheros ar9285
Bosch Silence Plus Edition 45 SD13IT1B – zmywarka nie odprowadza wody, czyszczenie filtra, pompa, Aquastop Ford Mondeo MK3 - Pilot nie otwiera drzwi kierowcy