Też się mordowałem z fixboot i fixmbr, instalator czasem montuje dyski w trybie read-only i tyle, ponowne zamontowanie często pomaga, ewentualnie jeszcze raz odklikać Odśwież w instalatorze graficznym, aby przeskanował dyski. Zrobiłem też innego pendrajwa z inną wersją instalatora windows i poszło. Już nie pamiętam czy to była 7 z instalatorem z win...
Jak zmusić diodę alarmu do migania nie używająć procedur waitms ? Mam teraz zrobine tak: Używasz Timer0 jako pewnego rodzaju 'swoisty' prescaler: (4 ms; 100 ms; i 1 sec). Dlaczego okazyjnie nie wykrzystać tych 100 ms na miganie diodą? Wstaw tą wyżej procedure (troche zmodyfikowana - zamiast "set Porta.5" daj "toggle") w przerwaniu timera0 w miejscu...
Jeśli procesora nie wprowadzasz w tryb uśpienia, to zmiana poboru prądu przez procesor jest porównywalna jak by cały czas wpisywał te dane, jak i co jakiś czas.. jak chcesz, to możesz wykorzystać timer do odmierzania jakiś odcinków czasu np 200ms (w przerwaniu ustawiać jedną flagę, nic więcej) a w pętli głównej jeśli ta flaga jest ustawiona, to aktualizacja...
Wydaje mi się źe coś jest nie tak ze sprawdzaniem stanu przycisku- nie bardzo mogę to zrozumieć. Klasycznie to robi się tak: if(przycisk==0) delay() if(przycisk==0)//dalej 0 przycisk=1 //naprawdę wciśnięty Można też inkremantować jakąś zmienną aby sprawdzić to 3 czy więcej razy. A lepszym sposobem jest do liczenia opóźnień wykorzystać Timer. I tak masz...
Witam Pytanie 1: Zrobiłem coś takiego że jeśli odebrano znak to jest wygenerowane przerwanie Urxc następnie przed instrukcją INPUTBIN uruchamiam przerwanie Timer0 jako licznik czasu który chcę wykorzystać do przeterminowania czasu odebranego znaku. bo INPUTBIN B(1), 6 oczekuje na 6 bajtów. Jak wysyłam całe 6bajtów to działa poprawnie, a jeśli bym wysłał...
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...
Wydaje mi się że nie opłaca się ładować tych 32 bajtów do eepromu , pewnie procedura odczytująca zajmie więcej miejsca. Ale :) można by tam coś innego władować, w eepromie masz coś około 500 bajtów wolnych. Wolne miejsce można by wykorzystać na teksty wyświetlane na LCD. Niektóre łańcuchy też się powtarzają. Często masz np . [syntax=basic4gl]Locate...
https://obrazki.elektroda.pl/5371288300_... Tutaj pokażę Ci krok po kroku jak skonfigurować urządzenie TuyaMCU, jak uzyskać listę dpID, jak zmapować dpID na kanały i opublikować je w Home Assistant oraz jak stworzyć niestandardową stronę dla urządzenia. W tym temacie omówię tematykę TuyaMCU od strony praktycznej, tak abyś mógł łatwo...
Dlaczego szybkie połączenie nie jest domyślnie włączone? Wynika to z faktu, że w bardzo wczesnych dniach w ogóle nie mieliśmy flagi szybkiego połączenia, ale, co zaskakujące, niektórzy użytkownicy zgłaszali zapętlenie / awarię rozruchu urządzenia podczas uruchamiania. Nie dotyczyło to wszystkich urządzeń, tylko niektórych. BK7231 oczywiście. Tak więc,...
"mój" układ działa dla jednej połówki i w praktyce nie od zera. Czyli procesor jak jest podane 230V, cały czas, widzi aktywne impulsy (niecałe) 10ms i (trochę ponad) 10ms przerwy (nie aktywne). W programie robisz np. że jak raz wykryjesz aktywny, to zmieniasz stan flagi (bitu w pamięci) na 1 i liczysz kolejne 20ms. Jeśli przyjdzie kolejny aktywny to...
http://obrazki.elektroda.pl/3499461100_1... Jest to bardzo specyficzna konstrukcja i prawie na pewno nikomu oprócz mnie nie przyda się w tej konkretnej postaci jaką tu opisuję, ale zawsze pozostają walory edukacyjne, nauczenie się jak coś zrobić albo jak czegoś w żadnym wypadku nie robić :D Urządzenie jest protezą dzięki której omijam...
http://obrazki.elektroda.pl/8177187700_1... Witajcie. Chciałem Wam pokazać moje ostanie wypociny, które powstawały na przestrzeni 2,5 roku. O ile w stanie surowym powstały stosunkowo szybko, to na wykończenie czekały ze 2 lata ale i tak dobrze, że się doczekały nie tak jak moje poprzednie konstrukcje, które trafiły na znany serwis aukcyjny,...
http://obrazki.elektroda.pl/4404773800_1... Witam. Chciałbym zaprezentować Państwu moją konstrukcję DIY. Jest do panel kontrolny do komputera PC, który aktualnie spełnia funkcję 6-kanałowego nastawnika obrotów wentylatorów typu 12V 3pin. 1. Wstęp Jako, że jakiś czas temu zacząłem się interesować moddingiem i tuningiem PC, napotkałem...
Witam, Przedstawię Wam odbiornik radia internetowego i nie tylko sterowany za pośrednictwem Wi-Fi. Ale od początku. Zaczęło się to kilkanaście lat temu gdy poczciwe radio Amator firmy Unitra zakończyło swój żywot. Zaistniała pustka musiała zostać zastąpiona. W pierwszej kolejności zawitała nisko budżetowa mikro wierza, z przykrością odnotowałem, że...
Czesc. Szukam pomocy w zaprogramowaniu jednego przycisku żeby ustawiał stan wysoki na pierwszym wyjściu po jednym kliknięciu, drugie wyjście po drugim i trzecie po trzecim i tak dalej aż do resetu. Zaczynam przygode z plc. Z gory dzięki za pomoc. Wstępna ocena dostępnych informacji Cześć, Rozumiem, że chcesz zaprogramować sterownik PLC w taki sposób,...
(at)p.kaczmarek2 Kompiluję przy użyciu strony internetowej github. Nie mam absolutnie żadnego problemu, że nie ma tam mojego nazwiska jako współtwórcy. Jestem wystarczająco szczęśliwy, że inni korzystają z tego kodu. Coraz częściej wydaje się, że aby zrozumieć rachunek za energię, nie mówiąc już o wszystkich kwestiach związanych z energią słoneczną...
A ta flaga nie jest ustawiana w momencie opróżnienia bufora nadajnika czyli po wysłaniu danych ? Opróżnienie bufora nadajnika to nie to samo co wysłanie, wysłanie to wysuniecie wszystkich bitów z rejestru przesuwnego nadajnika. Bufor nadajnika jest tylko pośrednikiem. W nadajniku jednocześnie mogą być dwa znaki (lub więcej jeśli jest FIFO) jeden w...
Kolega excray chce Ci powiedzieć, że kiedy ustawisz timer w tryb CTC, to flaga OCF1B (czyli ta od Output Compare B) też jest ustawiana, tylko z przesunięciem czasowym równym wartości rejestru OCR1B (chyba że do OCR1B wpiszesz wartość większą niż do OCR1A - wtedy flaga nie zostanie ustawiona, bo nie dojdzie do porównania). Od siebie dodam, że alternatywnie...
Nad poważnymi bibliotekami często pracuje zespół czy też grupa programistów... Raczej nie w sferze amatorskiej. No raczej, ale przyznasz, że czeto nawet amatorzy korzystają z takich bibliotek odnoszących się do stosów linijek kodu. Śmierć by ciebie zagryzła gdybyś miał utworzyć jakąś bazę danych, albo napisać prostą multimedialną aplikację, pisząc...
Ty stosujesz tzw. pulling, czyli sprawdzanie flagi w tym wypadku w pętli: [syntax=c]while(!(UCSRA & (1<<UDRE))); [/syntax] czyli CPU kręci się w pętli i czeka na to, aż flaga da znać, że można dać następny bajt do transmisji. Wskazałem Ci link do artykułu pokazującego jak wykorzystać przerwania, by mikrokontroler zwolnić z ciągłego sprawdzania...
Flagę sygnalizującą wystąpienie przerwania kasujesz wpisąjąc do niej 1. Tak dziwnie- bo przecież już jest w niej 1- ale tak to w Atmelach się robi. Flaga jest jedna- jeśli w trakcie obsługi przerwania pojawi się kilkakrotnie to te przerwania pozostaną nieobsłużone. Tę flagę możemy wykorzystać do "obsługi" przerwania w pętli głównej. Czyli- sprawdzamy...
To czy ktoś sobie użyje całego bajtu czy nawet dwóch bajtów albo i nawet łańcucha znaków, który będzie coś sygnalizował w innej części programu - można na swój użytek nazwać flagą. To, że typowo mechanizm flag opiera się zwykle o pojedyncze bity sygnalizujące jakiś stan, wcale nie oznacza, że nie można w tym celu wykorzystać całego bajtu. Może sobie...
markosik20- a tak z ciekawości zapytam- a te bity w rejestrach nie mają swoich nazw? No i w zwykłych AVR jest flaga przerwania i flaga zezwolenia na obsługę przerwania- można to wykorzystać albo do obsługi przerwania albo do sprawdzania w głównej pętli czy flaga przerwania się pojawiła- obsłużyć, skasować itp. A jak jest w ARM? Przepraszam za być może...
a _delay_ms i _delay_us Ci nie wystarcza ? Do opóźnień nie trzeba wykorzystywać koniecznie przerwań timera. Można wykorzystać flagi timera (o ile się da, ale wszystko zależy). Poza tym, zmienna deb w Twoim programie zapewne nie jest volatile, ale wrzuciłeś nam NIC, także pomoc też nijaka
Witam! Jak powinna zachowywać się flaga RXC w tym uC? Według specyfikacji powinna wyzerować się, gdy nowe dane zostaną odczytane z rejestru UDR. W tym momencie głupieje :). Program: int main(void) {//sei(); UBRRL=0x33; // BaudRate UCSRB =0x18; // RXEN TXEN //UCSRB |=0x80; while(1) { if (RXC) { znak = UDR; znak++; while(!UDRE); UDR=znak; } } } Powyższy...
W załączniku skompilowany wsad do Attiny 2313. W nowym procku żadnych fusów nie trzeba przestawiać. Schemat jak wspominałem naszkicowany i nie mam zamiaru go przerysowywać. Gdyby jakieś pytania były to odpowiem na bieżąco. Program jest prosty i nie ma tam cudów. Wszystko opisane w komentach gdyby ktoś chciał go nieco przystosować do swoich potrzeb....
Jest to pomysł, aby nadać pewne priorytety czynnościom. Np. dla mnie ważny jest zapis, więc może dam dodatkowy warunek - sprawdzanie stanu pinu, który steruje zapisem ( CS_SD ) i gdy jego stan niski to blokować działanie innych podprogramów. Samo wykonywanie po kolei może się do końca nie sprawdzić, bo np : - DTH11 co 2 minuty - zapis SD co minutę -...
Pochodzi od czujnika przerwania wiązki, drgań styków nie ma : ), znalazłem że czyszczenie flagi przerwania powinno być na początku, ale to niestety nie pomaga, i nadal pozostaje problem z wykrywaniem obu zbocz a nie tylko jednego Dodano po 10 Przeszukałem forum, kilka kursów po polsku i angielsku i ten kod z pierwszego postu jest identyczny jak te z...
Witam Interesujące rozwiązanie. Nie wiem tylko, czy da się je wykorzystać w przypadku skorzystania z ESP8266 ( zapomniałem wspomnieć ,że z niego korzystam ). Wykorzystuje taki kod ( publikował go Kolega Pusiek ), nieco go rozbudowałem o "zabezpieczenie" właściwie sprawdzenie, czy jest internet, gdyż gdy go nie będzie, program się zatrzyma. [syntax=vbnet]...
Wystarczy zamienić funkcję wait na taką, która wykorzystuje timer - nawet niekoniecznie przerwania, po prostu czeka, aż stan timera zwiększy się o odpowiednią wartość (odczytujemy timer, obliczamy stan końcowy i czekamu w pętli aż timer tyle osiągnie) - taka pętla będzie w miarę niezależna od przerwań, no chyba że w tych przerwaniach spędzasz strasznie...
Przepisz poprawiony program i dodaj komentarze. Nie- "początek obsługi przerwania" bo to każdy widzi. Ale- np. "przerwanie od przepełnienia timer0 wywoływane co x us"- bo nie chce się liczyć co ile. http://www.starz.pl/elektronika/kalk.rar Teraz tak- możesz URUCHOMIĆ przetwarzanie ADC ustawiająć odpowiednio rejestr SFIOR. Możesz dać dodatkową flagę...
Tak,to prawda, wykorzystanie flagi zajętości to podstawa. Ale pomimo poprawnej obsługi lcd (nawet w asm) i poprawnego softu nie mamy wpływu na pracę całej elektroniki lcd, pamiętajmy o tym że to nie my zbudowaliśmy ten lcd, ktoś się starał, to prawda ale śmiem twierdzić że jeszcze się taki nie urodził coby zbudował coś czego nie można "wywalić" odpowiednio...
Witam Czy istnieje w modułach bluetooth coś w stylu flagi nawiązania połączenia tzn. master zapala flagę gdy sparuje się ze slavem, a gasi ją gdy połączenie zostanie przerwane? Program miałby działać tak: Po nawiązaniu połączenia między mikrokontrolerami (ATmega32A i ATmega8L) za pomocą nadajników bluetooth przesyłany jest ze slave'a do mastera klucz...
http://www.ime.uz.zgora.pl/mkoziol/mcs51... skoro nigdzie nie ma sumowania przyciśnięć. Chodzi o to by sprzętowy licznik zliczał przyciśnięcia. Po jego przepełnieniu flaga TFx się ustawi, co oznaczać będzie zliczenie . Dlatego wypada wykorzystać wejście Tx do taktowania licznika. Można to zrobić w nieco inny sposób, sterując programowo...
Bawię się USART'em na F0 przesyłając między dwoma prockami testowy bajt, Wszystko mi działa, ale nie mogę dojść, dlaczego muszę wprowadzać po wysłaniu danych do drugiego procka delaya(?). Bez niego testowe echo nie działa prawidłowo. Obecnie mam przebiegi jak na poniższym zdjęciu (transmisja bardzo wolna póki co): https://obrazki.elektroda.pl/8778747600_...
Zliczanie czasu w sterowniku TMR 0,01s Omikron, odbywa się w pamięci wewnętrznej i jest ustawianie jako flaga (może być "podglądane" za pomocą podłączonego komputera lub kontrolera PLC). Nie bardzo rozumiem co chcesz uzyskać... Czy chcesz zmieniać czas wyzwalania timera, czy wykorzystać wskazanie czasu w pamięci? (Obie rzeczy są niemożliwe...)
Dzisiaj zamierzam to sprawdzic, wczoraj już nie miałem sił - ginekolog, szkoła rodzenia itp-wrażenia:) Faktycznie zmiennych juz troszke jest, poza tym menu oparte mam na CASE'ach i jest ich troche-przełączam dziesiatkami (dana dziesiatka to okreslone menu i podmenu). Procedury dopiero 3 i ze 2 podprogramiki w tym od przerwania. Najgorsze, ze to dopiero...
Notmalnie, przecież licznik w tym przypadku służy tylko do odmierzania czasu, żeby w ściśle określonym momencie wyłączyć diodę. Dodatkowa zmienna jest zupełnie niepotrzebna. Przerwanie timera można wykorzystać do czegoś innego (konkretnie przerwanie porównania) - do określania momentu wyłączenia LEDa i ustawienia flagi sygnalizującej konieczność uaktualnienia...
BlueDraco już nakierował Ciebie dość mocno, a ja chciałem byś sam do tego doszedł, i częściowo jesteś na dobrym tropie: Bo w momencie ruchu enkodera od razu jest zapalana flaga INTF0, więc natychmiast (prawie) przechodzimy do instrukcji przerwania, w której de fakto nie powieniem robić opóźnień oraz pętli, więc w funkcji przerwania nie zapobiegnę drganiom...
Alternatywą jest pomysł asemblera czyli przerwania. Można by wykorzystać tak zwane "software'owe przerwania". Czyli wybierasz sobie dowolne nieużywane przerwanie, w jego obsłudze umeszczasz pętle opuźniąjącą powiedzmy na 1s i przed RETI ustawiasz flagę przerwania (tego samego w którego obsłudze jesteś). Procek wyjdzie z przerwania i zobaczy że znowu...
Witam Nie znam dobrze sterownika S5. W logo siemensa żeby zachować stan wystarczyło wykorzystać właśnie element RS, dlaczego nie mogę zrobić tego samego w S5. Napisałem program: A I 0.5 S F 20.1 A I 0.6 R F 20.2 A F 20.1 = Q 1.0 Problem w tym, że jeśli czujnik I 0.5 mignie to flaga F 20.1 nie będzie trzymać stanu 1. Proszę o pomoc jak to rozwiązać w...
Witam! Z pewnością chcesz wykorzystać mechanizm "polling" :) jak to się ładnie nazywa w dokumentacjach. Po pierwsze w ATmega8 nie ma flagi Tirf.0, jest natomiast flaga Tifr.0 o którą zapewne Ci chodzi, dlatego pewnie nie do końca che działać. ;) Pozatym aby używać przerwań w ATmega8 musisz też odblokować globalny system przerwań, ponieważ po starcie...
Witam! Chciałem się podpiąć do tematu. Również mam problem z tym zegarkiem. Flagi b0 i b1 zmieniają swój stan odpowiednio co 0.5s i 0.5min. Można to wykorzystać np. w celu mrugania znakiem pomiędzy liczbą godzin i minut (dokładnie chodzi mi o b0 0.5s). Problem polega na tym, że jeśli ustawię zależność świecenia się znaku ":" pomiędzy godz. i min. względem...
z tego ci widzę to podłącz sobie RC5 do INT0 lub INT1 ustaw przerwanie na zbocze chyba opadające i tam daj podprogram z kodem dim flaga as bit reset flaga do if flaga = 0 then set (tu twoja dioda led) wait 2 reset (dioda) wait 2 else wykonanie tego co chcesz (albo wykonaj to w podprogramie przerwania czyli tak if command = 13 then to co chcesz wykonać...
A kto powiedział, że musisz czekać? Wystawiasz sobie 2 flagi w przerwaniu timera co określony czas i potem w pętli głównej (która "leci" cały czas bez milisekundy zwłoki) sprawdzasz i jak trafisz na flagę to ją kasujesz i wykonujesz jej zadania. Jednocześnie jeśli w przerwaniu wiesz, że flaga jest skasowana z programu głównego, to wtedy wiesz że zadanie...
Cześć Napisałem funkcje: [syntax=c]uint8_t DS18X20_alarm_search( uint8_t id[] ) { ow_reset(); if( ow_input_pin_state() ) { ow_command( 0xEC, id ); _delay_ms(100); return DS18X20_OK; } else { return DS18X20_ERROR; } }[/syntax] W instrukcji ds wyczytałem, że ds18b20 reaguje na tą komendę tylko wtedy gdy pojawiła sie flaga alarmu, czyli temp nie jest z...
Witam Chcąc zbudować termometr wraz z alarmem, natknąłem się na forum Elektroda o temat "Termometr wraz z alarmem do CO - http://www.elektroda.pl/rtvforum/topic18... Termometr opiera się na projekcie użytkownika DUCH__. W kodzie widnieje błąd program ten ma wadę, że czujniki dobiera sobie losowo (czyli piec nie zawsze będzie piecem). Czy jest...
Jestem obecnie w trakcie nauki programowania AVR-ów w języku C. Jednocześnie składam w kawałki kod, który mam zamiar wykorzystać w moim pierwszym, poważniejszym projekcie z tej dziedziny. W tej chwili jednak pojawiła się pewna wątpliwość, której nie rozwiała lektura kilku tutoriali. Mianowicie w jednym miejscu muszę zmierzyć czas, jaki upłynął od ostatniej...
Witajcie, Wysyłam sobie w moim małym projekcie, 4*16 bitów przez SPI, w użyciem DMA. Funkcja inicjująca wysyłanie wygląda tak [syntax=c] void display_set_raster_line(uint16_t * raster_line) { // wait for transfer complete if (SPI_FIRST_TRANSFER_DONE) { while( DMA1->ISR & DMA1_FLAG_TC3 == RESET) { } } // copy new raster to current raster line...
Możesz zastosować ten sam algorytm, który napisałem wcześniej. Nie napiszę za Ciebie programu, ponieważ było by to dla Ciebie szkodliwe. Spróbuj wykorzystać ten pseudo kod: 1.1. Na etapie inicjalizacji układu: - konfigurujesz wejścia !INT0 oraz !INT1 jako wejścia generujące przerwania w reakcji na zbocze opadające, - timer T1 konfigurujesz do trybu...
Czyżbyście cierpieli na jakąś manię prześladowczą :?: A dlaczego tak sądzisz? Poza tym- po co jest to kasowanie flagi przerwania w przerwaniu- po obsłudze przerwania ta flaga sama się kasuje. A co, jeśli źródłem przerwania jest np. przycisk generujący serię zboczy :?: Jest milion dwieście tysięcy sposobów, żeby nawet w przerwaniu obsłużyć przycsk,...
Witam, Wykonuję projekt w którym muszę wykorzystać komórkę i komendy AT. Mam program wykonujący konwertowanie do PDU. Nie wiem dlaczego komórka (siemens MT50) nie za każdym razem wysyła smsa.Na 10 prób ok 3 smsy nie zostają wysłane. Jest ona podłączona do Atmegi128 bez użycia Maxa232 tylko bezpośrednio, dodatkowo włączam diodę Zenera która ogranicza...
Czym i jaka wersją kompilowałeś, bo mi w WinAVR wyskakują same błędy!! :-( Najnowszą wersją WinAVR. W załączniku jeszcze raz to samo, ale kompletny projekt z Programmers Notepad. Przed chwilą sprawdziłem i kompiluje się tak jak powinno ('Make All' z menu Tools). Te procedury FFT mogą stwarzać problemy przy kompilacji, jak próbowałem ich pierwszy raz...
Poza tym jeśli się wie co się pisze to debuger jest zbędny. Czasami lepiej wykorzystać UART DBGU i wysyłać sobie interesujące nas zmienne na terminal. Co to za podejscie ? Debugger to NIEZBEDNE narzedzie przy profesjonalnych produktach i nie raz uratowal mi tylek przy poprawkach bledow w nieswoim kodzie. Spotkalem sie z tym ze rozne debuggery roznie...
Witam! Zbudowałem pewien sterownik na mikroprocesorze Atmega8. Sterownik ten obsługuje mostek H, sterowanie odbywa się przez podczerwień i pilota RC5. Zaprojektowałem go w ten sposób, żeby w przyszłości móc wykorzystać UART ( dodałem złącze na PCB do wolnych pinów uC ). Teraz przychodzi potrzeba sterowania innym urządzeniem za pomocą UARTa. Urządzenie...
Witam wszystkich! mam takie małe marzenie :) Posiadam ATXmegę 128A3U i modulik wyświetlacza oparty o ILI9341. Moduł udostępnia magistralę SPI wraz z linią dodatkową D/C. Wpadłem na szatański pomysł, by wykorzystać USART w trybie SPI MASTER do obsługi LCD. Dlaczego USART a nie SPI? Sprawa prosta, DMA nie umie współpracować z SPI MASTER, zaś z USARTem...
atom1477: No jak chcesz zapewnić, że program nie zmieni flagi? Bo do tego się odnosiłem. Nie chcę tego zapewniać (z powodów podanych niżej). Przepraszam że wcześniej nie wyjaśniłem dokładniej. Bootloader musi dodatkowo obsługiwać EEPROM, każdy błąd który coś pechowego wpisze do EPROMU powoduje, że program się nie odpali, a apgrejda możesz nie mieć...
Hello! Załóżmy że mój procesor (2051) z czytuje dane z przetwornika A/C (ADC 0809) i wysyła je po RSie. RS pracuje na przerwaniu (badana jest flaga Ti) „non stop” wysyłając dane z prędkością 250kb (tak przy okazji: wysłanie jednego bajtu trwa 32us?). I teraz tak, z racji że UART pracuje w trybie 1 (asynchronizcnym, 8 bitów danych, jeden...
A co dokładnie nie działa? Pewnie cały czas świeci :) Przeanalizuj swoją pętlę while i zobacz co się dzieje po ustawieniu timera :) Podpowiedź: wykorzystaj dodatkową flagę i użyj tylko RAZ timera programowego.
Musisz wykorzystać jakaś pomocniczą flagę (zmienną). Wciśnięcie przycisku zmienia stan flagi na przeciwny. To jak zachowuje się wyjście układu zależy od stanu flagi.
Witam, Pisze kod aby połączyć się z czujnikiem temperatury po I2C. Napisałem następujący kod do testów w symulatorze. [syntax=c] #include <p18f4550.h> #include <i2c.h> #define Fosc 12000000 #define Fi2c 100000 #define BaudRate(Fosc/(Fi2c * 4)) - 1 void i2c_init(void) { TRISBbits.RB0=1; TRISBbits.RB1=1; SSPCON1bits.SSPEN=1; SSPCON1bits.CKP...
Witam Starałem się wyjaśnić platforma AVR lub zadania jaki ma wykonać NIE JEST TAK WAŻNE jak zorganizowanie komunikacji na RS232 za pomocą paczek HEX! Mogę wykorzystać dowolną większą kość AT! AT90s2313 Akurat tą kość mam gotową do pracy i kompletną do komunikacji na RS232. Czy jest możliwe zorganizowanie takiej komunikacji.? Potem wykona zadania......
A może zrobić to z innej strony - wykorzystać Timer/Counter1 z odszumiaczem (Noise Canceler). Licznik może zliczać impulsy z kontaktronu, a przerwanie w stałych odstępach może sprawdzać stan licznika. Tak sie niestety nie da zrobic poniewaz pomiar nie bedzie dokladny - bedziemy mieli czas ale nie z dokladnoscia do jednego obrotu , poniewaz nie mamy...
Alfanumeryczne wyświetlacze LCD ze sterownikiem HD44780 Obecnie ze względu na swoją niską cenę, alfanumeryczne wyświetlacze LCD są bardzo często stosowane w układach opartych na mikrokontrolerach. Chciałbym przedstawić tutaj sposób sterowania takim wyświetlaczem. Sterowanie wyświetlaczem alfanumerycznym wyposażonym we sterownik HD44780 odbywa się na...
Witam. Próbuję złożyć obrotomierz samochodowy na mikrokontrolerze Attiny2313. Wykorzystuję do tego kit z AVT2711. Chciałem wykorzystać program z tego układu. Różnica jest w mukrokontrolerach, a artukule jest 89C2051 a ja chcaiłem to zrobić na attiny i wynik pokazywać na wyświetlaczu alfa numerycznym. Jednak coś mi nie wychodzi. Odpalam układ na sucho...
Flaga to jest to samo co znacznik. Ech... masz i wchłaniaj wiedze :) [syntax=basic4gl]'----------------------... ' ' SylwekK ' 8.10.2011 ' moduł PWM V2 ' '---------------------------------------... $regfile "attiny13.dat" $crystal = 1200000 $hwstack = 16 $swstack =...
Dzięki wszystkim za opinie. Oddałem dziś projekt został oceniony na 5;] Dokonałem kilku zmian w programie więc wrzucam nową wersję: http://obrazki.elektroda.pl/8149391200_1... Jeśli już eliminujesz drgania styków programowo i w dodatku z użyciem timera, to mogłeś się pokusić o tak samo zrealizowane opóźnienia. Mnóstwo pamięci pożera...
panowie miałem taki komputerek mini atx na takiej dziwnej płycie BIW1M/BIW2M ver 1.2 z zintegrowaną grafą i muzą ale niestety poleciała kiedyś jak tatuś bawił się ramami i teraz musze mu coś kupić i poskładać do warsztatu bo mi bierze pc z pokoju a ja bez pc żyć nie moge. komputer był NTT firmówka wszystko z tą plombą od obudowy do proca w tym kompie...
1. Konfiguracja środowiska programistycznego Platforma programistyczna: CDK Oprogramowanie do pobrania programu: Upgrade_Tools_V1.4.8.exe Sterowniki: Sterownik USB-to-Serial CH340 Informacje na temat konfiguracji i instalacji powiązanej platformy programistycznej można znaleźć w samouczkach online. W scenariuszach rozwoju sprzętu środowisko programistyczne...
Czytając o rejestrach liczników, jedyną taką flagą (którą znalazłem), jest TIMx_SR_UIF, czyli UpdateInterruptFlag. Co prawda nie będę włączał przerwania, ale jest to chyba jedyna flaga którą mogę w tym celu wykorzystać, czy też jest jakaś inna lepsza do tego celu? To jest właśnie flaga która jest Ci potrzebna. 4\/3!!
https://obrazki.elektroda.pl/4950580000_... Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka...
Markery (flagi) są to bity pomocnicze które można wykorzystać podczas pisania programów. Np: I0.0 AND I0.1 = F0.0 F0.0 = Q0.1 przerzutnik wykorzystuje siędo zatrzaskiwania flag i pamiętania ich stanu aby ją wykorzystać w innym kawałku kodu AND I0.0 S (set) F0.0 ... F0.0 = Q0.0 R (reset) F0.0 Powodzenia :)
Druga sprawa. Skoro ma być reset np. BORF: flaga resetu przy obniżonym napięciu sieci, to czy można wcześniej zapisać do EEproma jakieś ważne dane? Zdecydowanie nie należy nic zapisywać do EEPROM przy obniżonym napięciu. Poza tym BOD nie wystawia żadnej flagi przerwania którą mógłbyś wykorzystać. On po prostu resetuje układ o ile jest włączony a następnie...
Zmieniłem sposób wyświetlania (wykorzystawszy flagę RW) oraz zmieniłem bibliotekę dzięki wielkie xD
Witam, Jak Logo nie chce przyjąć jakiegoś połączenia, to czasami pomaga wykorzystanie flagi M i dalej tą flagę jako znacznik. Czasami pomaga. Ten typ tak ma ;) Pozdrawiam.
No dobra to tak trochę "po chłopsku" to opiszę: Jeśli ustawisz Bytematch = 13 to znaczy to tyle, że program przejdzie od podprogramu w którym może być tylko jedna linijka np. jak ja to zrobiłem w moim programie wysylania sms: Serial0charmatch: Input Todczyt Noecho Return Oczywiście trzeba ustawić Input na działanie tylko na znak enter (13). Proste...
Racja, w F1 jest jedynie flaga IDLE ktora moze się przydać. Jej procedura czyszczenia jest jedynie trochę dziwna. W F4 wykorzystanie flagi Idle + DMA działa wzorowo. Cała komunikacja w obu kierunkach odbywa się w tle.
Ten program miałby się wykonywać w następujący sposób po załączeniu wejścia I1 załącza się wyjście Q 86 a jednocześnie flaga F1 załącza wyjście Q87. Następnie po załączeniu wejścia I2 załączane jest wyjście Q90 a jednocześnie flaga F2 załącza moduł tekstowy PCD2 F5. Myślałem że to w ten sposób będzie działać. Więc jak należy przekształcić ten program...
W obsłudze przerwanie Timer1 zrób tylko ustawianie flagi, a załączanie i całą resztę przenieś do pętli głównej, właśnie tu sprawdzające stan tej flagi. Zamiast grzebać programowo W Timer1, wykorzystaj możliwości Timer1 compare, np w trybie PWM, bez używania przerwania. Ogólnie polecam : http://www.easy-soft.tsnet.pl/modules.ph...
Witam pewnie ktoś powinien na początku napisać, żebyś zajrzał do dokumentacji, ale chyba nie jest za późno. Zajrzyj do dokumentacji. Tam są opisane te flagi i przerwania o które pytasz. Jeśli utkniesz w przerwaniu, to może uda Ci się "zamulić" mikrokontroler, tak, że nie będzie mógł wykorzystać ustawionej flagi, ale też nie konieczne. "Atmulki" nie...
Najprościej mówiąc dla testu bo nie chciałem kombinować z timerem, a tylko sprawdzić tak z grubsza działanie programu Dodano po 34 A czy multipleksowanie powinno być też w przerwaniu czy tylko wykorzystać flagę?
Cześć, problem polega najpewniej na tym, że pendrive jest źle przygotowany jako nośnik instalacyjny. Do utworzenia nośnika wykorzystaj program RUFUS. Samo formatowanie nie pomoże, ponieważ na nośniku muszą jeszcze być ustawione odpowiednie flagi. Pozdrawiam Serdecznie, Ksawery
Kiedyś robiłem coś podobnego i wykorzystałem taki sposób. Zrobiłem sobie flagę która informowała mnie że odebrałem liczbę. Potem prosty warunek typu: If odebrano = 1 then a=odebrana_liczba do If odebrano = 1 then b= odebrana_liczba gosub label1 end if end if loop W podprogramie label1 miałem pętlę w której był sprawdzany warunek odbioru itd. aż do odebrania...
pier- w tym programie który Ci podałem masz wykorzystać zmienną "flaga_dodatkowa" do sterowania wyświetlaczem w sub- a nie w przerwaniu Timer2. Timer2 wyłącz. I daj program po przeróbkach. Żaden kwarc na to nie pomoże- trzeba korzystać z przerwań.
Myślałem o wstawieniu przerwania od timera który będzie mi zwiększał pewien wskaźnik o +1 -zostanie wykorzystywany w wielu funkcjach I to jest właśnie dobre wykorzystanie timera i przerwania. W przerwaniu od timera można zwiększać albo zmieniać kilka flag- nie wskaźników- chociaż wskaźniki też. A w głównej pętli sprawdzać te flagi i w zależności od...
1. Można wykorzystać przerwanie sprzętowe. 2. Umieścić pętlę w pętli głównej, która sprawdza tylko jeden klawisz w zależności od flagi, którą ustawisz on/off , jeśli on pętla wykonuje się jeden raz a tym samym wykonuje się pętla główna, jeśli off pętla wykonuje się dopóki nie naciśniesz klawisza i ustawisz flagę na on
A czy gra "FLAGI" działa na podstawowej cobrze (oczywiście bez koloru) ? W tym programie spakowane dane obrazka każdej flagi rozpakowuję - kolor do obszaru FB00-FC00 - z rozpakowanych danych w obszarze FB00-FC00 korzysta podprogram SPRITE, który wypełnia odpowiednimi kolorami prostokąt w pamięci koloru (FC00-FF00) -znaki do obszaru FB00-FC00 - z rozpakowanych...
Za to mam problem z temperaturą. W pokoju mam 20, może 22 stopnie, a termometry pokazują 25, a przy niektórych włączeniach, nawet 29 stopni. Pomiędzy jednym a drugim 0.2, 0.3 stopnia różnicy. Rezystor podciągający użyłem 3.3K, zamiast 4.7K, ale to chyba nie jest wina tego. Wartośc rezystora podciągającego magistralę 1-wire nie jest krytyczna i to w...
w 51 można wykorzystać flagę "C" do której zostanie wsunięty ostatni bit podczas przesuwania bitowego i tęflagę wrzucić na wyjście. Można też tak bardziej w stylu języka C zrobić sobie zmienną zawierającą część wysyłanych danych i ją przesuwać w każdym kroku o 1 i na wyjście wystawiać najmłodszy bit (zresztą w pierwszym rozwiązaniu także jest potrzebna...
Wystarczy, że ustawisz odpowiedni bit w rejestrze EECON i pamięć EEPROM jest widoczna jako zewnętrzna pamięć danych i obsługiwana rozkazem movx. Odczyt (adres w DPTR): movx A,(at)DPTR Zapis (adres w DPTR, dana w ACC): movx (at)DPTR,A Po zapisie (lub przed nim) trzeba sprawdzić flagę zajętości EEPROM i to wszystko.
Tylko jest jedno ale. To zajmuje 45 cykli, czyli tyle ile jakbym to robił po Ifach dla każdego portu. Dodano po 9 Sorki, na ifach byłyby 72 cykle (4 na każdy) A w ilu cyklach musisz sie zmieścic? Możesz sprawdzac instrukcją warunkową nie pojedynczy pin ale cały port wejściowy Np.: [code][syntax=basic4gl] Do If Pinb > 0 Then Flag = 1 Reset Portc.2 Temp...
A może wykorzystać Timer0 i ustawić odpowiednio rejestr SFIOR? Wtedy przerwanie od Timer0 compare wyzwala ADC. A pojawienie się flagi moźna sprawdzać w pętli głównej albo w przerwaniu od ADC.
Czy powinien w programie być XOB (16?) ? XOB16 wykonywany jest przy starcie sterownika i jest używany do inicjalizacji danych. Zamiast niego do inicjalizacji można wykorzystać flagi "volatile" ( F VOL ) które są zerowane przy starcie; w programie sprawdza się wartość flagi, gdy jest 0 to wykonuje się inicjalizację i ustawia flagę na 1. Używa się tego...
A nie prościej wykorzystać przerwania EEPROM? Inicjować je flagą potrzeby zapisu struktury? A w przerwaniu "lecieć" po kolejnych elementach struktury? robiw Można tak, albo dodać kopiowanie struktury do bufora tymczasowego z którego odbędzie się zapis. Ma to sens jeśli w czasie zapisu pola struktóry moga się zmienić - dojdzie wtedy do uszkodzenia danych....
VF = verkers funk czyli radio kierowców. Czyli taki przodek RDS. Nazywało się to ARI lub SDK. A łatwo to wykorzystać tylko trzeba się zastanowić nad dekoderem tych komunikatów i radio będzie się przełączać na AUX jako kanał z komunikatami VF. Acha potrzeba wykorzystać 2 flagi SK i SDK z tego układu.
Tak, ify ciągle są niezbędne w C, miałem na myśli wstawkę w assemblerze i wykorzystanie flagi half-carry, co prawda ciągle potrzebujesz instrukcje skoku warunkowego, a już nie trzeba robić CP/CPI. To oczywiście niewiele zmienia i chyba nie ma sensu się w to babrać. Tak przy okazji masz błąd w sekwencji: if(((godziny_bcd & 0xF0) == 2) & ((godziny_bcd...
Ja miałem kiedyś chyba podobny problem. Przyczyną był uszkodzony czujnik optyczny od jakiejś flagi. Wykorzystałem taki z OKI B6300. Gdzieś powinienem mieć podobne czujniki.
Witam ponownie udało mi się uruchomić ADC błąd polegał na tym, że pomiaru dokonywałem w przerwaniu od Timera i za nim dochodziło do konfiguracji ADC wykonywane było to przerwanie, w którym miałem ustawianie bitu ADCstart, który nie pozwalał na późniejsze przejście kalibracji podczas konfiguracji ADC. Mam teraz inny problem otóż chciałbym dokonać pomiaru...
Dlaczego wykorzystałeś drugie rozwiązanie zamiast pierwszego (IMHO - znacznie lepszego)? Wykorzystując takie zmienne jako flagi prowadzisz do niepotrzebnego komplikowania kodu i utrudnienia kontroli dynamicznie rozwijającego się programu :) Jedna z propozycji rozwiązania problemu: [syntax=c]char SPI_MasterTransmit(char cData){ char spi_return; ATOMIC_BLOCK(ATOMIC_RESTORESTATE){...
Chcę zbudować układ złożony z dwóch sterowników. Pierwszy z nich ma symulować sygnały z enkodera, drugi zaś liczyć RPM na podstawie częstotliwości sygnału z pierwszego sterownika. Istnieją gotowe funkcje umożliwiające wytworzenie sygnału o wysokiej częstotliwości jednak wydaje mi się, że mam błąd w oprogramowaniu właśnie dla nich. Szukam zatem jakieś...
flaga bascom obsługa flaga flaga funkcja
canon zatkane głowice wyświetlacz pęknięty zalany cewka piszczeć
Jak przywrócić ustawienia fabryczne w falowniku EASun SMG III? Renault Scénic II – trzy sygnały dźwiękowe, gasnące kontrolki, brak błędu na liczniku