Dzięki za odzew. Niestety wiem tyle co podałem w pierwszym poście. Modbus jako taki nie jest dla mnie problemem (pisałem własne programy na avr z obsługą modbus rtu) Producent kotła nie przyznaje się do implementacji modbusa i nie udostępnia żadnych danych. Pytam czy ktoś próbował dogadać się z tym kotłem ? Może ktoś ma jakieś informacje o protokole...
https://obrazki.elektroda.pl/2627067000_... Dzisiaj przedstawię krok po kroku proces analizy nieznanego protokołu I2C na przykładzie kontrolera wyświetlacza 7-segmentowego z klawiaturą HD2015E znalezionego na płytce ze starego tunera DVB-T2. Celem projektu będzie zebranie informacji potrzebnych do wysterowania HD2015E z poziomu Arduino....
Witam, proszę o pomoc w wydawałoby się prostej spawie, ale mi niestety przysporzyła małego problemu. Chodzi mianowicie o mikrokontroler ADuC836 i wykorzystanie RTC. Z noty katalogowej w jednoznaczny sposób wynika iż układ może pracować jako zwykły zegarek. Z rejestrów SEC, MIN i HOUR możemy w prosty sposób odczytywać dane przekonwertować i wyświetlać....
Witam Najpierw niech kolega "na sucho" sprawdzi PWM manipulując zawartością OCR. Jeśli będzie ok to sprawdzić trzeba czy przypisanie na sztywno do zmiennej pomoc różnych wartości daje rezultaty. Jeśli wszytko będzie ok sprawdzić trzeba pomiar częstotliwości. Jak będę miał chwile to popatrzę na kod i jakiś schemat by się przydał może tam jest błąd ;]...
Sprawdź dokładnie w DS do tego układu, które porty. Poszukaj rejestrów CNPUX CNPDX (gdzie X to port A B C itd). Rejestr CNPUA to załączanie pull-up na pinach portu A (np. CNPUAbits.CNPUA0=1 włącza pullap na pinie 0 portu A). Rejestr CNPDA to analogiczna kontrola pull-down. Nie każdy pic32 posiada pull-downy (np. pic32mx440* nie posiada), stąd ważne...
https://obrazki.elektroda.pl/9462291700_... Chciałbym zaprezentować rozwinięcie eksperymentalnego odbiornika SDR, jaki opisałem ostatnio: https://obrazki.elektroda.pl/6947080100_... https://obrazki.elektroda.pl/7046555300_... Najbardziej w tym momencie interesującym fragmentem płyty jest głowica: https://obrazki.elektroda.pl/9911930900_...
Dowiedziałem się, że to tych rejestrów trzeba dostać się przy pomocy funkcji LDS/STS... Jak piszesz w C nie musisz się o takie rzeczy martwić. To zadanie kompilatora dobrać odpowiednią instrukcję. Przeszukałem forum i google ale są tylko przykłady dla assemblera, nic dla C. Na pewno są też dla C, ale podam jeszcze raz: // kasowanie bitu 5 (bit...
Brutus_gsm : Radził bym Ci przeprojektować trochę ten kod: ustawianie flagi I (sei()) w przerwaniu jest największym błędem (chyba, że wiesz co robisz oraz to kontrolujesz). Przed wyjściem z funkcji przerwania ustawiasz flagę I (jeśli przyjdą kolejne przerwania, pojawią się kolejne wywołania i przepełni się stos - błąd), po czym usypiasz procesor (zakładając...
Cześć, po krótkiej przerwie stwierdziłem że pobawie się PIC i ASM, chciałem zacząć od zapalenia diody, więc żeby nie bawić się dokumentacje napisałem programik do zapalenia czegokolwiek na porcie A bsf STATUS,RP0 movlw b'01010101' (miałem 4 diody na porcie A) movwfTRISA ^ 0x080 ( coś się powinno zapalić ) bcf STATUS,RP0 movlwb'00110011' movwfPORTA tą...
Kombinowałem na różne sposoby i nadal nie rozumiem na jakiej zasadzie odbywa się sterowanie tymi układami z poziomu programu. Samą tabelę z datasheet zrozumiałem ale nie widzę co trzeba zmieniać w programie, by móc dostosowywać go do swoich potrzeb. Mógłbym Cię prosić abyś dorzucił kilka komentarzy? Zdecydowanie pomogłoby mi to w zrozumieniu. Musisz...
Po restarcie mikrokontrolera i tak wszystkie piny są wejściami, zatem ustawianie PD0 jako wejście nie jest konieczne, za to może się bardziej przydać podciągnięcie tegoż wejścia programowo do VCC [syntax=c]PORTD |= (1<<PD0);[/syntax] Poza tym zamiast pisać tak: [syntax=c]DDRD = 0xfe;//IN0 ustawiam jako wejscie EICRA = 0x3;//Przerwanie ustawione...
Od bajtu CB zaczynają się wszystkie rozkazy Z-80 dotyczące operacji na bitach: ustawianie (SET), zerowanie (RES), testowanie (BIT) oraz przesywanie bitów (RR,RL,SR,SL i pochodne). Bajt DD dotyczy operacji na rejestrach IX, a FD na rejestrach IY. Stąd operacje na bitach rejestrów IX rozpoczynają się od DD CB, a na bitach rejestrów IY rozpoczynają się...
Wiesz co, nigdy tak nie robiłem w AVRStudio, bo zawsze symulowałem bit przerwania, ale po Twoim pytaniu postanowiłem to sprawdzić. I wiesz co, TO DZIAŁA!!! Po 16 zmianach w rejestrze PINB bit 7 (dotyczy Atmegi8515) czyli SCK, nastąpiło przerwanie od SPI! A więc Twoje założenie okazało się słuszne. Pozdrawiam, Marek.
https://obrazki.elektroda.pl/8343613300_... Postanowiłem podłączyć rekuperator Thessla Green do Home Assistanta. Rekuperator posiada dosyć dobrze udokumentowane wyjście ModbusRTU. Do połączenia postanowiłem użyć konwertera RS485 na Ethernet dosyć popularnej firmy Waveshare. HA posiada wsparcie dla Modbus-TCP, ale chcę zachować pewien...
Przykładowo z innego kodu ;) [syntax=vbnet]TCCR1B = Bits(WGM13 , WGM12 , CS10)[/syntax] Miłego dnia
rozkazy IN/OUT działają tylko do $60 adresu. Zamiast OUT'a daj STS UCSR0C, r16
https://obrazki.elektroda.pl/8103635600_... Dzisiaj przedstawię bardzo tani (raptem 10-15 zł) moduł oferujący wyświetlacz 7-segmentowy (8 cyfr) z kropkami oraz dodatkowo z diodami nad każdą cyfrą oraz klawiaturę z 8 przyciskami. Wszystko możliwe do wysterowania przez SPI. Pokazywany tu TM1638 to zasadniczo TM1637 w wersji SPI, w związku...
http://obrazki.elektroda.pl/2916865700_1... Urządzenie zostało zaprojektowane i wykonane ok dwóch lat temu, na potrzeby toru kartingowego tak aby zautomatyzować system sygnalizacji i odmierzania czasu do końca jazdy. Z założenia na torze może poruszać się dziewięć gokartów a więc konieczne jest odmierzanie niezależnie trzech czasów....
https://obrazki.elektroda.pl/8400392700_... Ten dziwny tytuł to propozycja wykorzystania modułu wyświetlacza z prostych nieco przestarzałych tunerów Echostar DSB-616 lub DSB- 717. Zapewne u niejednego elektronika (lub jego znajomego) taki tuner leżakuje na dnie szafy. Moduły różnią się wyposażeniem. Oprócz oczywiście procesora ATtiny2313...
https://obrazki.elektroda.pl/2594128000_... 6 marca 2025 roku firma Tarlogic opublikowała komunikat prasowy zatytułowany "Tarlogic wykrywa backdoor w masowo produkowanym chipie ESP32, który mógłby zainfekować miliony urządzeń IoT". Informacja ta została później podchwycona przez portal BleepingComputer i rozpowszechniona za pośrednictwem...
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...
Szanowne grono, spieszę wyjaśnić wątpliwości co do zegara. Zegar ma być do programu Masterchef. Stary zegar analogowy na silnikach krokowych "zużył się" i trzeba zrobić nowy. Idąc z biegiem czasu wymyślono, że tym razem będzie to zegar cyfrowy. Zegar wisi sobie nad podestem Jury 4-5m tak, żeby wszyscy zawodnicy mogli widzieć upływający czas. Czasami...
astosowanie watchdoga tylko że skończyło mi się miejsce na nowe linie kodów. Masz miejsce wystarczy, że wywalisz: Na początku programu następuje zerowanie programowe wszystkich rejestrów procesora, ustawianie rejestrów portów Pokaż ten kod realizujący programowy reset. Może wiem w czym problem.
Mam diagnozę - uszkodzony procek. Jak wymieniłem , to wszystko ładnie zaczęło grać. Dla ciekawych mam hipotezę dlaczego. Na PCB mam złącze do programatora w rastrze 1.5mm. Piny żeńskie do tego złącza są tak małe że musiałem je przylutować do przewodów (nie wiem czy jakkolwiek da się to zacisnąć bez lutowania, próbowałem z marnym skutkiem). No i przewody...
Czyli pisząc programy w tym środowisku i nie znając go dogłębnie, wykorzystując bezpośrednie ustawianie rejestrów należy brać pod uwagę, że bity mogą nie mieć wartości domyślnych po resecie.
margas- nie w padaj w panikę. Najpierw trzeba pomyśleć- a potem pisać kod. Po co w pętli głównej while(1) wpisujesz #define albo ustawianie rejestrów? Zrób to schematycznie. Najpierw #define- po #include. Potem main(). Potem ustawianie rejestrów w main(). Potem pętla while(1). Może być pusta na początek. Przecież pisanie programu nie polega na pisaniu...
Szkoda, że nie zaprogramowałeś Arduino w języku C - byłoby bardziej profesjonalnie To w jakim według Ciebie języku napisany jest teraz program? Rzeczywiście, to jest język C, ale z zastosowaniem biblioteki Arduino, która z jednej strony ułatwia początkującym programowanie, ale z drugiej znacznie ogranicza ich możliwości. Znacie kogoś, kto zawodowo...
Witam W dokumentacji napisane jest, że preskaler dla TIMER0 i TIMER1 jest wspólny. Ustala się go w TCCR0 (TIMER0) albo TCCR1B (TIMER1). Nie mogę znaleźć informacji z którego rejestru ustawianie ma wyższy priorytet (jest ważniejszy) czy TCCR0 czy też TCCR1A. Sprawdziłem, że kolejność ustawiania rejestrów nie ma znaczenia. Może ktoś wie jak to działa??
No widzisz- jak zostałem zmuszony do takiego ręcznego ustawiania rejestrów w bascomie to pomyslałem sobie- dlaczego nie robić tego samego w C? Skoro mam i tak ręcznie się dobierać do wnętrzności procesora. Zwłaszcza że ustawianie rejestrów rozumiem. Najpierw myslałem że Bascom będzie mi jeszcze służył do napisania prostych programów i szybko. Ale tak...
Laptopy Della od kilku lat mocno łatają BIOS na luki zmniejszając wydajność z każdą aktualizacją. Do tego mają wąskie okienko termiczne. Stąd można zauważyć odwrotne prawo moore'a ;). Rozwiązaniem jest zmiana biosu na zmodowany z odblokowanym zaawansowanym menu (dość trudne - stare moje wątki o PEI, ale wykonalne i mam na swoje delle serii XPS 9XXX),...
Jeżeli to jest np. atmega328 to zamiast definiować strukturę z jednym polem Flagi użyj rejestr GPIOR0. [syntax=c]#define FLAGI GPIOR0 #define FLAGA_CZAS GPIOR00 #define FLAGA_TEST GPIOR01 // itd. FLAGI &= ~(1 << FLAGA_CZAS); // zerowanie bitu FLAGI |= (1 << FLAGA_CZAS); // ustawianie bitu[/syntax] Ten rejestr znajduje się w pierwszych...
Przecież masz biblioteki TimerOne i TimerThree. Czemu ich nie użyjesz? Ponieważ chcę rozwiązać zaistniały problem :) Problem polega na tym że chcesz używać arduino niezgodnie z przeznaczeniem, bo to że kompilator zezwala na ustawianie rejestrów nie znaczy że musisz je ustawiać. Żeby mieszać w rejestrach trzeba wiedzieć jak arduino działa, jak przebiega...
To jecze sie cos zapytam:P Program pisze w C. Jakie są sposoby sprawdzania stanu np. PB3. Znam takie: bit_is_clear(PINB,PB3); albo sprawdzić jaki jest stan portu... np czy PORTB == 0x0F... Problem mam w tym że albo nie znam jeszcze sposobów odczytania stanu pinów,albo w książce jest błąd w opisie ustawiania rejestrów portów. pozdro
Poprawiłem kilka błędów jak: zerowanie r1 w złej sekcji; brak wpisania wskaźnika stosu do rejestrów SPL,SPH; inicjalizacja uartu przez ustawianie bitów zamiast przypisania. Zrobiłem też trochę porządku. Może któreś ze zmian się przydadzą.
No dobra. Przedewszystkim weź wywal te wszystkie ORy ( |= ) bo nie mają najmniejszego sensu, a mogą powodować problemy. Wartość do rejestrów wpisujesz od razu, a nie ORujesz z poprzednią zawartością. Następnie - ustawiasz ARR, ale gdzie ustawiasz rejestr CCR1? Przecież z czymś trzeba porównywać. Idąc dalej - ustawiłeś w CR1 "Center Aligned Moder (1<<5)...
W arduino jesteś skazany na w/w bibliotekę. Nie, nie jesteś skazany. Można programować w czystym C na AVR lub nawet w ASM. Sam nieraz robiłem wstawki z czystego C (np ustawianie odpowiednich rejestrów do obsługi PCINT itp) i jakoś wszystko śmigało elegancko. Możliwość manipulowania uC w zwykłym C korzystając z dokumentacji oraz korzystanie z prostoty...
gaskoin- a eliminacja drgań styków sprzętowa to jak niby wydłuża czas życia przycisków? Bo ciekawy jestem. kaczor90- w ustawianiu rejestrów w ARM to Ci nie pomogę- strasznie to wszystko porąbane. Może kiedyś. Ale zwróć uwagę na to co napisał gaskoin. Sprawdzanie stanu przycisków za pomocą przerwania zewnętrznego jest takie sobie. Lepiej robić to za...
Chciałbym się dowiedzieć czy dla timera2 w arduino UNO jest też gotowa biblioteka jak dla timera1, w której nie trzeba bawić się w ustawianie bitów rejestrów a jedynie użyć: [syntax=c]Timer1.initialize(czas); Timer1.attachInterrupt(licznik);[/syntax... dwóch linijek kodu. Nie znalazłem nic na temat biblioteki timera2, czy można ją skądś pobrać?
na forum Microchipa mało jest wg mnie na temat PIC16F MCP2515 i SPI mimo wszystko dzieki bo co nieco znalazłem:) Noty mam juz od jakiegos czasu poprzegladane...moze ktos sie jednak znajdzie co nawiazał komunikacje z kontrolerem poprzez SPi... jezeli chodzi o fora to polecam : www.ccsinfo.com/forum pozdrawiam Mało ? Wyszukiwarka zwróciła mi 257 wyników....
Hm.. Nigdy nie używałem symulatora do AVR, choć uważam to za trafiony pomysł, alternatywą jest debugger, ale pewnie takiego nie masz. Głównie piszesz że jest wyzerowany , może symulator jeszcze nie działa prawidłowo? Ja bym spróbował na łatwiejszym przykładzie, np: takim bez przerwań i sprawdził czy ustawianie rejestrów działa poprawnie -- zawsze będziesz...
Cześć. Potrzebuję się poradzić. Musze dość często pamiętać kilka zmiennych po wyłączeniu zasilania. Pomyślałem o wykorzystaniu do tego pamięci RAM z układu np. DS1307. Nie potrzebny mi jest w nim RTC tylko sama pamięć RAM podtrzymywana baterią. I tu mam pytania. 1. Czy układ DS1307 może nie mieć podłączonego kwarcu tylko samą baterię? 2. Czy konieczne...
M168 ma >128kB FLASH? Ciekawostka. Dodano po 2 Moja rada jest taka: przejść się na GCC. To jest niedoróbka BASCOMa, najlepiej zgłosić to do supportu. Akurat tu gcc obsysa podobnie. Co prawda jakoś to działa przy >128kB FLASH, ale nie do końca. Raz, że dane muszą być <64kB, inaczej trzeba kombinować jeszcze bardziej niż zazwyczaj, to jeszcze...
A dlaczego masz alergię na funkcję CMSIS? Jak z każdą alergią, nie bardzo wiadomo skąd ona jest. Jedni mają inni nie :D A tak na poważnie to jej nie mam. Używam CMSISa, ale do konfigurowania np. pinów IO. Do przerwań jakoś z przyzwyczajenia pozostałem przy operacjach na rejestrach. Tak przy okazji te makra z HAL-a są bardzo przyjazne - od razu dodają...
Witam..Mam następujący problem Konstruuję urządzenie oparte o cc1100 na Atmedze 32. Jak na razie napisałem wszystkie funkcje czyli resetowanie, ustawianie rejestrów przełączanie trybów instr. STROBE lecz nie potrafię zmusić 2 układów żeby przekazały sobie chociażby bajt. W jednym z układów ustawiam nadawanie jakiegoś słowa, w drugim odbiór danych......
Witam mam problem którego sam nie potrafię rozwiązać: gdy przetwornik a/c w procku jest skonfigurowany do pojedynczych odczytów, po dokonaniu pomiaru wskazywana wartość napięcia jest poprawna problem zaczyna się gdy chcę powtórzyć tę czynność pomimo zmian napięcia na wejściu przetwornika wartość przechowywana w rejestrach wynikowych jest taka jak przy...
S-Bus służy do wszystkiego w tych sterownikach, od przesyłania rejestrów i flag przez ustawianie pułapek w programie do upgrade firmware w modułach rozszerzeń. Napisz co chcesz uzyskać i na jakim modelu sterownika.
dlaczego nazwa rejestrów do których ją wpisuje to OCR1AL a nie OCIE1AL? i OCR1AL zamiast OCIE1AH? Myślę, że powinieneś poczytać i drugie za co odpowiada ta wartość w rejestrze OCIE1A? to jest ustawianie tego preskalera? Nie. Ustawienie preskalera to bity CS2:CS1:CS0 w rejestrze TCCR1B. Ich wartość należy ustawić w zależności od potrzeb zgodnie z tabelką...
Na początek polecam stronę: http://www.8051.prv.pl/ ale uwaga - przykłady są pisane pod AT90S8535, więc pod ATmega będzie to wyglądało trochę inaczej. Polecam lekturę datasheetów w razie wątpliwości. Bardzo przyjemny do pisania w AVR-GCC jest edytor AtmanAVR, ale niestety nie jest darmowy. Posiada wiele udogodnień (np. Code Wizard, który automatyzuje...
no tak mi się wydaje, że teraz powinno być ok - ale skoro nie działa to znaczy, że jednak coś nie tak hmmm tak zajrzałem sobie do helpa bascoma i widzę, że chyba tu bęedzie kiszeczka z takim rozwiązaniem bo polecenie Config INTx - powoduje automatyczne ustawienie tego pinu jako wejście i nie wiem czy później polecenie Config Pinx.2 = output może w ogóle...
(at)Piotr Piechota Ja robiłbym coś w stylu: [syntax=c] static inline uint32_t bitfield_update(uint32_t bf, uint32_t mask, uint32_t value) { return (bf & ~mask) | (value & mask); } .... const uint32_t mask = RCC_PLLSAICFGR_PLLSAIN | RCC_PLLSAICFGR_PLLSAIP | RCC_PLLSAICFGR_PLLSAIQ | RCC_PLLSAICFGR_PLLSAIR; const uint32_t value = 192 // N=192...
ustawianie rejestrów atmega projektowanie rejestrów usuwanie rejestrów
vestel 17ips72 deska rozdzielcza kontrolki odcisk palce
poszukuję naprawa falownik lenze naprawa
Sterownik Eurostar 2006 nie uruchamia pompy - przyczyny i rozwiązania Datasheet dla układu scalonego IC202 - jak znaleźć?