[syntax=c]ADCSRA = (1<<ADEN) //włącz ADC |(1<<ADPS0) //ustaw preskaler na 8 |(1<<ADPS1);[/syntax] W tej linijce "zamazujesz" wcześniejsze ustawienia ADCSRA [syntax=c]ADCSRA = (1<<ADFR); //wykonaj pomiar nieskończoną ilość razy[/syntax] Gdy chcesz ustawić tylko bit ADFR, bez zmiany pozostałych bitów stosuj taki zapis [syntax=c]ADCSRA...
xmsmmgr: w ogole nie ustawiasz bitow TRISB jako wyjscia - domyslnie sa wejsciami :(
Dokładnie chodzilo mi o ustawianie pojedynczych bitow. Niestety nie znam innej metody na ustawianie pojedynczych bitow. Jezeli jest metoda ktora ustawia tylko konkretny bit to prosze o przyklad. Jeszcze jedno zapomnialem wspomniec ze po zaprogramowaniu mikrokontrolera dzialanie jest takie ze swieca sie obie diody a buzzer milczy.
racja. zastanawia mnie czemu nie dolaczysz standardowego naglowka zamiast definiowac te wszystkie wartosci recznie? zauwaz, ze ty definiujesz je dziesietnie, a przeciez sa to adresy szesnastkowe i 86 != 0x86, a wlasnie taki jest adres TRISB. dolacz standardowy naglowek i nie bedziesz musial przejmowac sie takimi rzeczami. lecmy dalej. kod ktory napisales...
Hi, Prosze mi powiedziec ktore, z dostepnych programatorow kart dzialajacych z AVR Atmela (np AT90S8515) (Phoenix,Fun,Multiprog i inne) umozliwiaja ustawianie bitow FSTRT, SPIEN oraz Lock Bitow ? Czy w trybie Phoenix mozna to zrobic? Troche to dla mnie nie jasne jest, wiem tylko ze programator musi programowac procesor w trybie rownoleglym.?.. Tommi
Mozesz zuzyc jeden rejestr na przechowywanie 5 zmiennych bitowych. np r25. .DEF rBity=r25 .EQU bBit0=0 .EQU bBit1=1 itd. az do 7 No i teraz robisz sobie tak: sbr rBity,(1<<bBit0) ; ustawia bit 0 cbr rBity,(1<<bBit0) ;zeruje bit 0 sbr rBity,(1<<bBit0)|(1<... ; ustawianie wielu bitow na raz.....
Witam Wczoraj bawiłem się ATtiny26. Prosty programik w bascomie, programator szeregowy isp. Wszystko bylo oki dopuki nie zaczalem bawic sie w ustawianie bitow CKSEL3..0 i SUT1..0. Po tej zabawie nie mam komunikacji z uP. Czy moge to jakos odwocic?
podczas programowania w zaden sposob nie ustawiam fuse bitow
chce w sposób sprzętowy, przedstawione przezemnie makra #define LSI302DL_SPI1_DISABLE GPIOE-> BSRRL |= (LSI302DL) //Set #define LSI302DL_SPI1_ENABLE GPIOE-> BSRRH |= (LSI302DL) //Reset działają, poprzez zapalenie flag mialem na mysli ustawianie bitow. Generalnie moje pytanie dotyczy tego jak wybrac sprzetowa obsluge stanu lini...
Vitling , przeczytaj ten artykuł [url=http://mikrokontrolery.blogspot.com... i zerowanie bitów, powinien Ci pomóc w zrozumieniu przesunięć bitowych. Zerknij też na [url=http://mikrokontrolery.blogspot.com... mikrokontrolerow...
Witam dziekuje bardzo za odpowiedz i sorry ze odpisuje z tak duzym opoznieniem ja do tej pory uzywałem avr i tez tylko czytałem datasheets i zaczalem czytac arm 9 atmela , samo w sobie ustawianie bitow nie stanowi problemu :) w poszczegolnych rejestrach z linuxa na razie mocarz hmm troche brakuje ale to kwestia czasu :)))) jak bede mial plytke to bede...
Czesc mam pytanie do Was Jesli mam makro do ustawiania bitow w rejestrach o postaci: _BV(bit) (1 << (bit)) to czy dla nastepujacych linijek kodu: LCD_DDR=0xff; LCD_DDR&=~(_BV(CD)|_BV(WR)|_BV(RD)|_... bity CD,WR,RD,CE,RES,LedOff zostaną ustawione na 0? Prosze o podpowiedzi,wskazowki. Pozdro
Zerknij na to, powinno dużo Ci rozjaśnić. [url=http://mikrokontrolery.blogspot.com... bitów [url=http://mikrokontrolery.blogspot.com... Nie lekceważ też warningów, które wywala Ci kompilator ;-)
Zmien OCR1B na 2000 bo u Ciebie jest wypelnienie 50%, a powinno byc max 10%. Jak to nie pomoze to nie ustawiaj bitow w rejestrach z 'or' np TCCR1B |= _BV(WGM13) | _BV(WGM12) ; ..... TCCR1B |= _BV(CS11); , tylko zapisuj cala wartosc rejestru TCCR1B = _BV(WGM13) | _BV(WGM12)|_BV(CS11); , ostatnio sie natknalem...
A no właśnie nie ustawiałem fuse bitow.. Ale jak bo za każdym razem jak się bawiłem to padał procek. Procek programowałem w bascomie z HEX... może jakaś podpowiedź jak ustawić fuse bity... Kwarc dałem 16Mhz... napewno.
Walcze z Atmega8 i gcc. Zatrzymalem sie na przerwaniach od USART. Chce zaswiecic diodke (np na PB1), gdy z PC przyjdzie komunikat przez RS. Korzystam z przerwania od RXC i moge tylko zaswiecic (ustawic H), a nie moge zgasic (ustawic L) LEDa. Probowalem wszystkimi f-cjami, ustawianie bitow itp. Nie moge ustawic portu na 0. Czemu???? Jest tez problem...
Zerknij na ten artykuł [url=http://mikrokontrolery.blogspot.com... bo np. te linie kodu (i kilka innych) nie robią tego czego się pewnie spodziewasz. [syntax=c]PORTD&=(0<<LCD_DI); PORTD&=(0<<LCD_RW); PORTB&=(0<<LCD_E); PORTB&=(0<<LCD_CS1);...
Linia portu jest ustawiona jako wejscie gdy jej DDR jest rowny zero, a jako wyjscie gdy 1. sbi - set bit (1) cbi - clear bit (0) Oba podajesz z nazwa portu i numerem bitu np. sbi(PORTD,4) Ale to sluzy do pojedynczego ustawiania bitow. Jak chcesz to lepiej uzyc operatora AND (&). Ale to wszystko jest w ksiazce. Czyli jak chcesz ustawic trzeci bit portu...
... zgodnie z dokumentacja do Atmegi328 Tabela 15-5 mówi że wyzerowanie bitów CS12:0 powoduje zatrzymanie Timera. Rozumiem że to nie wystarcza w moim przypadku. Wystarczy, ale nie zerujesz bitów CS12:0 tym fragmentem programu. Podstawy C: http://mikrokontrolery.blogspot.com/2011...
Poćwicz sobie poszczególne operacje bitowe w kursie C wraz z kompilatorem online Cmaniak: http://mikrokontrolery.blogspot.com/2011... Możesz tam ćwiczyć także symulując Atmega8 (patrz przykład w zakładce Przykłady CManiaka). Dodatkowo: http://mikrokontrolery.blogspot.com/2011...
...Program napisałem w AVRGCC - czyli programowanie w C. To co znajduje się powyżej to konfiguracja przetwornika (ustawianie konkretych bitow w słowach sterujących). W pdf ATEGA8L jest opisane jak skonfigurować A/C dla zewnętrzego napięcia odniesienia. Z tego co pamiętam odpowiedzialne były dwa najbardziej znaczące bity w ADMUX (należy je ustawić na...
Witam - Zlozylem Yampa 3 usb To juz mój drugi taki odtwarzacz Pierwszy byl na ATMEGA 161 i z nim nie bylo zadnych problemow Jednak ten na ATMEGA 162 doprowadza mnie do bialej goraczki :( Programuje go przez interfejs ISP programem YAAP. Identyfikacja , ustawianie bitow , programowanie i weryfikacja procesora odbywa sie bezproblemowo. Jednak po zaprogramowaniu...
Jako ze czesto slyszy sie o problemach z przejsciowkami MSC-51 i MSC-51+ do Willema postanowilem zrobic male zestawienie (moze komus sie przyda podczas diagnozowania swojego Willema/przejsciowki). Narazie niestety mialem dostepne tylko dwa typy atmelkow: AT89C2051 (wszytkie male - AT89C1051, AT89C2051, AT89C4051 powinny zachowywac sie podobnie oraz...
[syntax=c] zamiast if( ! (PIND & 0x38) ) daj if( !(PIND & (1<<PD2) ) [/syntax] Pozostałe warunki odpowiednio popraw. Przy okazji naucz się przesuwania bitów i używania zdefiniowanych symboli, bo kod będzie czytelniejszy (nie stosuj liczb). http://mikrokontrolery.blogspot.com/2011... http://www.java2s.com/Tutorial/C/0100__O...
Sprawdź CKDIV8. Jakim terminalem się komunikujesz? Czy są jakieś objawy np. odbiór śmieci? Zrób na razie prosty program w pętli wysyłający co np. sekundę jakiś bajt, by sprawdzić odbiór przez terminal. Przy okazji - wiesz, że to nie ma sensu: [syntax=c]UCSR0C |=(0<<UMSEL00)|(0<<UMSEL01)| ...[/syntax] http://mikrokontrolery.blogspot.com/2011...
postaram sie pomoc wrzuce tu plik z rozwiazanie zadan, a ty powiesz ci ci mniej wiecej o to chodzilo. Tak jak powiedzial elektryk mozna multipleksery, demultipleksery zrobic na dwa sposoby - raz na przelacznikach (ustawianie bitow) albo na generatorze (np starej kosci 555) i dosc duzej stalej czasowej (zeby wolno sie stany zmienialy). Oczywiscie do...
Witam, wszystko masz na stronie 4 figure2, oraz format danych strona 3 figure1. - aktywujesz chip czyli ENB!=L - ustawiasz stan logiczny na DATA i opadajace zbocze CLK zapisuje go do chipa - po wpisaniu 12 bitow ENB!=H aby zapisac i gotowe Opis masz na stronie 3 na poczatku. Pozdrawiam
Powtarzasz błąd autora, o którym pisałem: Wykrzyknik nie robi tego, co oczekujesz: u Ciebie: [syntax=c]PORTD=!(1<<PD2);[/syntax... EDIT: A czy ta konstrukcja jest prawidłowa?: [syntax=c]#define _PINB (*(volatile IO*)&PINB) //i użycie if(_PINB.b0) ...[/syntax] pytam, bo nigdy takiej nie używam.
mode com1: 4800,n,8,1 - to ustawianie predkosci, parzystosci, bitow, i bitu stopu i dotyczy tylko portu szeregowego port Lpt1 jest portem rownoleglym wiec go nie dotyczy. Sprobuj copy /b %1.bin com1: zamienic na copy /b %1.bin lpt1: i to wszystko pod warunkiem ze masz cos do tego portu podlaczone.
Racja racja czyli jeżeli są WSZYSTKIE wejścia w liście czułości to jest on kombinacyjny. A jak niema chociaż jednego to już nie. To chyba nie jest właściwy wniosek. Wydaje mi się, że powinno się raczej to ująć tak: 1. Proces w języku VHDL, używając poleceń sekwencyjnych, może opisywać zarówno układ kombinacyjny lub sekwencyjny. 2. Układ synchroniczny...
Pytanie moze troche banalne ale ze mam male problemy z UARTEM wiec chce rozwiac moje watpliwosci:) Mam kwarc 16MHz i wlaczony PLL czyli predkosc rzeczywista to 16MHz? Pytanie drugie, w UARCIE nie ustawia sie ilosci bitow stopu(jak w AVR) zawsze jest jeden? I pytanie 3cie tak z ciekawosci:) jaki mozna wsadzic max kwarc i jaka mozna rzeczwista predkosc...
To trzeba zmienić priorytet z 12 bitów stałokodowego pilota na odbiór HCSa lub całkiem usunąć obsługę pilota 12 bitowego. może tak: [syntax=vbnet]'*************************... '========================= przerwanie przy kazdym zboczu ICP, odczyt czasu trwania impulsu...
Zmiane bitow ustawiasz w inicjacji wyswietlacza. Masz to tam chyba na piechotę napisane więc nie będę tego rozpisywać. Sprawdź tą funkcje. Ewentualnie jak nie wiesz jak to ma być to ściągnij działającą biblioteke. Spróbuj użyć biblioteki autorstwa Radosława Kwietnia. Jest tu na forum jak poszukasz. jest bardzo łatwa w dostosowaniu. Takie pytanie może...
1. Można to różnie rozwiązać. Najprościej, to wykorzystać któryś z pinów INT. Algorytm: - ustaw przerwanie z pinu INT0 na zbocze np. narastające, - gdy pojawi się zbocze narastające to wywoła funkcję obsługi przerwania, - w funkcji przerwania uruchamiasz timer i zmieniasz ustawienia INT0 na zbocze opadające, - gdy wystąpi zbocze opadające - zatrzymujesz...
W twojej pierwszej deklaracji jest nieszczęście. Spróbuj tak: struct TPole{ unsigned char bit_0:1; unsigned char bit_1:1; . . unsigned char bit_7:1; } bit_field; zdefiniuj dodatkowo takie coś: #define Get_bit(adr) (*( (volatile bit_field*) (adr) ) ); Teraz chcąc wyłuskać jakiś bit piszesz: zmienna = Get_bit (i tu adres właściwy bajtu na którym ci zależy...
robisz to za każdym razem tak : 1. Zerujesz rejestr/zmienna w której chcesz miec wynik. 2. Przesuwasz rejestr/zmienna o 1 bit w lewo bez rotacji. 3. Jeśli P1.1 = 1 to ustawiasz najmłodszy bit w rejestrze/zmiennej, jeśli nie to zerujesz (poprostu dodajesz zawartość pinu do rejestru/zmiennej) 4. Jesli ni eodebrałes jeszcze 8 bitow to skocz do 2. Pozdrawiam...
Witaj. Zacznij od na przykład tego: http://mikrokontrolery.blogspot.com/2011... i zaglądnij także do spisu treści oraz oczywiście datasheet mikrokontrolera. 1. Nie jeśli jest zasilany także z 5V. 2. tak, ponieważ włączasz wewnętrzny rezystor pull-up, który wymusza jedynkę na wejściu (pinie). Zwierając przyciskiem pin do...
Przeczytaj ten artykuł [url=http://mikrokontrolery.blogspot.com... i zerowanie bitów, powinien pomóc w zrozumieniu operacji na bitach.
Uważam, że może być uszkodzony port lpt. Powinieneś sprawdzić jakie bity są na poszczególnych wyjściach. Są programy do testowania (ustawiania) bitów.Więcej informacji masz na internecie.... I jeszcze jedno..... jak nie wolno to nie wolno :)
... ale niestety mądrala nie przytoczył jak powinno się to zapisywać... ) Oj, uważaj bo ktoś może poczuć się urażony i raportować post :) Na temat F_CPU w sieci można znaleźć wiele: F_CPU – gdzie definiować? Chciałbym dowiedzieć się co znaczą te TCCR2, OCR2, TIMSK, jak liczyć te przerwania i dlaczego timer po skopiowaniu tego kodu nie liczy faktycznie...
Witam Mam problem z przerwaniami na LPC-2124. Staram sie zrobic przerwania na timerze (przerwania IRQ wektoryzowane) Mimo odpowiednich ustawien VICIntEnable, VICVectAddr0, VICVectCntl0 przerwanie zostaje zgloszone ale procesor nie wchodzi w obsluge przerwania tylko skacze gdzies pod jakis adres (nie wiem jaki bo nie debugowalem) i procek zawiesza sie....
w naglowkowy w zasadzie nic nie ma: void Funkcja_Poczatkowa(void); void Walka (void); void Eliminacje (void); void Diagnostyka (void); void Test_Cz_Odleglosci (void); void Test_Cz_Linii (void); void Test_Silnikow(void); void Ust_Portow (void); void USART_Init( unsigned int baud );...
Ustawiasz prescaler dla ADC tak, zeby dzielil przez 8, wtedy taktowanie ADC wychodzi ci 2MHz, potrzebujesz 13 taktow/pomiar, czyli mozesz samplowac nawet powyzej 100kHz. Nigdzie nie ustawiasz ile ma byc bitow pomiaru - w rejestrze ADLAR wrzucasz odpowiednie wyrownywanie i czytasz - z tym, ze odrzucasz bity, ktore sa nieznaczace - ze wzgledu na spadek...
no ale kolega robi dokladnie to samo, tylko ze nie zeruje najpierw odpowiednich bitow rejestrow , ktore i tak ustawia od razu na zero, wychodzi na to samo w zasadzie, ja to sprawdzilem i sie roznic nie doszukalem, ale jestem kiepski wiec moze :D
Chyba "config" ma tam nie byc, config konfiguruje port jako wejsciowy lub wyjsciowy, a tobie chyba chodzi o stan wysoki na porci i stan niski?? portb = not portb to jest negacja czyli na porcieb ustawiasz bity odwrotnosci bitow portub ;) a dziala to wogole? bo nie mam przy sobie kompilatora zeby spr. Dodano po 2 $regfile "m8def.dat" $crystal...
na razie widze chyba, ze nie ma zadnych opcji konfiguracji polaczenia (predkosc, ilosc bitow, kontrola przeplywu)... chyba ze konfiguracja ta ustawiana jest jedynie w wlasciwosciach urzadzenia systemowego. malo to wygodne. 4\/3!!
Witaj, Część odpowiedzi znajdziesz tutaj: http://mikrokontrolery.blogspot.com/2011...
hmmm.. czyli to co ja robie: --->po wlaczeniu odbiornika zaczynam odczytywac 8 bitow , kiedy odczytam sprawdzam czy to preambula, jesli nie odrzucam i dalej sprawdzam ----->jesli wystapi preambula to ustawiam flage ze byla preambula ----->znowu odczytuje 8 bitow i sprawdzam czy bajt identyfikacji ------>jesli tak to odbieram dalej dane przy czym aby...
UL to jawne zdefiniowanie stałej jako należącej do typu unsigned long (kiedy kompilator nie jest w stanie tego domniemać z wartości, jak w tym przypadku). Podobnie L to typ long a LL to typ long long (rozszerzenie gcc). Ewentualne wyjaśnienie szczegółów: W AVR gcc typ int ma 16 bitów. I taki jest domyślny typ stałej 1. Jeżeli kompilator nie promował...
Oto mój program wykorzystujący LCD w trybie 4-bitowym, śmiga jak ... Jest tam obsługa LCD i 1wire, procedurki LCD łatwo wyłowić :) // ****************************************... // Project: Obsluga układu DS18B20 // Author: Zbigniew Chrobot // Module description: pomiar temperatury z DS18B20 kwarc 4MHz // wyswietlanie na...
Witam, od kilku dni walcze z modulem nrf24 do ktorego chce sam napisac biblioteke (uzywam atmega328P) Jestem na etapie odczytywania wartosci wpisanej do danego rejestru. Ustawianie bitow w rejestrach dziala dobrze, sprawdzam to za pomoca amperomierza (przy ustawieniu odpowiednich wartosci w rejestrze CONFIG zmienia sie odpowiednio prad zgodnie wartosciami...
Heh. No tak może nie uściśliłem. Z tym softem to chodziło mi o oprogramowanie do obsługi programatora. Ja korzystam z programatora ISP i oprogramowania do niego z tej [url=http://www.amwaw.edu.pl/~adybkows/e... Automatycznie wykrywa jaki jest podpięty procesor, a ustawianie Fuse bit'ów ogranicza się się do zaznaczenia "fajkami"...
O faktycznie, to przeoczyłem :D Ja także kiedyś zrobiłem to samo, ale Zumek był czujny (patrz pkt. 4 na końcu): http://mikrokontrolery.blogspot.com/2011...
Odpowiedz po co sa te dane znajdziesz w datasheecie. Jak mozna sie domyslec sa do konfiguracji urzadzenia i ustawiania czestotliwosci. W moduliku Philipsa bylo zdaje sie 12 bitow do tego. Kazdy jeden bit to bylo chyba 12.5kHz. Jak jest tu zobacz w dokumentacji.
Kolega wyżej już wyjaśnił ja dodam jeszcze, że tego typu prostych błędów jest więcej: http://mikrokontrolery.blogspot.com/2011... Druga uwaga, to zdecyduj się - albo stosuj makro _BV(), albo przesunięcia bitowe (1<<x). Ja sugeruję tę drugą wersję.
Dziekuje za podanie mi tej liczby:) Ale nadal potrzebuje zeby ktos podal mi dokladnie w jaki sposub zrealizowac odczyt z 8 bitow portu. Dokladnie jakie bity sie ustawia i w jakim rejestrz, oraz czy mozliwe jest w czasie odcztu wystawianie jakiejs kombinacji na bitach kontrolnych czy sterujacyh ? Dziekuje z gory :)
Operatory bitowe: http://www.java2s.com/Tutorial/C/0100__O... Operatory (wszystkie): http://www.java2s.com/Tutorial/C/0100__O... No i trochę praktyki: http://mikrokontrolery.blogspot.com/2011... [syntax=c]PORTB &= 0x0F; to samo co PORTB = PORTB...
Dla przykładu: http://mikrokontrolery.blogspot.com/2011... Przesuwasz 0 na piątą pozycję i robisz OR z zawartością rejestru PORTx, co ci z tego wyjdzie?
W ten sposób nie wyzerujesz bitu: [syntax=c]DDRD |= (0<<DP);[/syntax] analogicznie pozostałe. Tak też nie: [syntax=c]PORTD &= ~(0<<D);[/syntax] http://mikrokontrolery.blogspot.com/2011...
jeszcze jeden problem... w sumie z zupełnie innej beczki ale tyczy sie przejscia z OP3 na OP7, niestety prokektow OP3 w protoolu nie da sie przekonwerterowac na OP7 <sciana> no i przepisuje caly program od poczatku, ale w OP3 jest dostepna funkcja Edit Bits dla klawiszy funkcyjnych ktora mozna setowac i resetowac pojedyncze bity w PLC a w OP7...
Nie musisz szukać żadnego innego progeramatora. Jakiego używasz programu? Musi mieć gdzieś opcje ustawiania fuse bit'ów i tam trzeba wybrać odpowiednią kombinację.
walczę z niby prostym do napisania ALU/.../ nie mam wprawy w vhdl, ale na 'pierwszy rzut oka' widze tyle: 1.elsif(op1_in < op0_in)then reg_result_out <= '0'&(op0_in-op1_in); else reg_result_out <= "111111110"; -- to jest twoje '-2', ktore zaznaczyles na obrazkach 2.reg_result_out <= ('0'&op0_in) * ('0'&op1_in); na wykonanie...
Na początek(rada do konfiguracji rejestrów): http://mikrokontrolery.blogspot.com/2011... Zrób to w jednej linijce wpisując do danego rejestru jedynki na pozycjach na których jest to konieczne -zer nie wpisuj(zwłaszcza tak) -one już tam są.
Niestety podstawy C: [syntax=c]ADMUX |=(1<<MUX0); //poprawne ustawienie 1 na bicie MUX0 ADMUX |=(0<<MUX1); //niepoprawne ustawienie 0 na bicie MUX1[/syntax] szczegóły: http://mikrokontrolery.blogspot.com/2011... Popraw we wszystkich miejscach gdzie używasz: [syntax=c](0<<jakiś_bit)[/syntax]
Lock bit zaprogramowany jest w stanie "0". Niezaprogramowany w stanie "1". I w tabeli masz opisane co się stanie jak zaprogramujesz któryś z lock bitów. Dają one niejako 3 poziomy zabezpieczeń. Przy zaprogramowanym LB1 nie możesz odczytać przy pomocy rozkazu movc zawartego w zewnętrznej pamięci programu, pamięci wewnętrznej flash mikrokontrolera. Gdy...
Nie ciesz się bo nie ma z czego :) XOR musi działać. http://mikrokontrolery.blogspot.com/2011... http://www.java2s.com/Tutorial/C/0100__O...
Która to wersja Bascom nie potrafi napisać : Error : 375 Line : 49 Duplicate definition https://obrazki.elektroda.pl/2709901200_... W linii 25 -> Pompa_wl Alias Portc.0 'pompa obiegowa W linii 49 -> Pompa_wl As Bit Pewnie ustawia Bit a nie pin chociaż u mnie to się w ogóle nie kompiluje. W jednej linii przy deklaracjach masz pozostawiony...
Więc jak zapisać np że chcę ustawić bit na wyjściach PD1 oraz PD5, a nie wiem co jest na PD0, PD2-PD4,PD6-PD7. A to o to chodzi. Poczytaj: http://mikrokontrolery.blogspot.com/2011... http://mikrokontrolery.info.pl/programow... http://hobby.abxyz.bplaced.net/index.php... A zwłaszcza...
Ja osobiście sprawdzam (i inni też) stany bitów tak: I to bardzo dobry sposób, uniwersalny dla wielu platform, niezależnie, czy C na AVR czy np. na PC: Problemy C - Ustawianie i zerowanie bitów
Nie ponieważ tak nie wyzerujesz bitu. Oj, kolego, chyba do galerii trafisz ! :) Podstawy języka C: - pkt 1.5: http://mikrokontrolery.blogspot.com/2011... - operatory bitowe: http://mikrokontrolery.blogspot.com/2011... Domyślnie po resecie pin jest ustawiony jako wejście (DDR...
W ten sposób mamy 16-bitową liczbę losową. Teraz musimy jakoś sprawdzić czy tak ustawiony ADC losuje nam te liczbę. Może wykorzystamy inne ledy na tej płytce - masz je wszystkich pinach portu C? Dodano po 1 Znów czarna magia... dzięki za poprawkę :) lekarstwo na magię: http://mikrokontrolery.blogspot.com/2011...
Autor nie podał, że korzysta z przerwań, ale i nie podał, że nie korzysta. A potem nagle coś co już chodziło (np. multipleksowany wyświetlacz LED) nagle przestanie działać. Z tego co wiem, avr potrafi w jednej instrukcji ustawić lub skasować bit, można więc zrealizować serię instrukcji warunkowych do 'przekopiowania' bit po bicie. [syntax=c] if (dana...
Popełniasz taki błąd że probójesz odczytać stan pinu w momencie kiedy jest on ustawiony jako wyjście. Musisz w momencie kiedy chcesz coś odczytać zmienić wartość stosownego bitu w DDRB w tym przypadku DDRB&=0xff-(1<<6); Potem jesli dalej uzywasz jako wyjscia musisz z powrotem zmienic: DDBR|=1<<6; Z innych rzeczy chyba cos takiego...
Witam, czy ktorys z Was uzywal pol bitowych w WinAVR? Probowalem zastosowac: struct moje_pole_bitowe { unsigned flaga_1:1; unsigned jakis_sobie_licznik:2; unsigned inna_flaga:1; }; proba zapisu na ktorejs pozycji, np. moje_pole_bitowe.flaga=1; konczy sie na ustawieniu wszystkich bitow danego bajtu. Macie na to jakas rade? Uzywam kompilatora avr-gcc...
Jak słusznie zauważył kol. Zumek [syntax=c]ADMUX |= (0 << REFS0) | (0 << REFS1);[/syntax] W ten sposób nie wyzerujesz bitów ponieważ (patrz pkt 1.5): http://mikrokontrolery.blogspot.com/2011... Choć w tym przypadku to może nie mieć znaczenia, bo te bity i tak są zerami na starcie. Ale to zależy...
Problem rozwiazalem w dosc prosty sposob. Cyfra wystawiana na port D ma 7 bitow i pin D.7 byl nie wykorzystany, ale poniewaz na ten pin zawsze wystawiana byla jedynka wiec automatycznie pin ten ustawia sie jako wejsciowy. Podlaczylem wiec do niego jeden z przyciskow, a zwolnione miejsce po przycisku wykorzystalem juz do swoich potrzeb. Ale dziekuje...
Niestety combo3 nie ma konfiguracji poszczegolnych bitow tylko jest opis zrodla taktowania ktore sie wybiera a programator sam je ustawia. Moim zdaniem brak nad tym kontroli. Jesli chodzi o porady - brawa dla mojego przedmowcy szczegolnie za opis ustawienia pozostalych funkcji bo ustawienie zegara jest dosc czytelne.
O ile pamiętam, to avr mają specjalne rozkazy ustawiania i kasowania bitów. Starsze kompilatory wymagały stosowania odpowiednich funkcji/makr, nowsze rozumieją zapis |= n jako ustawienie bitu i wstawiaja odpowiednia instrukcje. Zastosowanie dwóch albo więcej instrukcji logicznych zamiast pojedynczej może powodować problemy z przerwaniami - a często...
znam czas wykonania rozkazów w taktach, wiem, ze przy częstotliwości 20MHz takt wynosi 50ns. Tyle to mogę sobie policzyć, chodzi mi o to czy faktycznie po wykonaniu instrukcji od razu mamy odpowiedni stan na nóżce układu czy jest jakieś jeszcze opóźnienie. Co do oscyloskopu... trzeba go posiadać a aby znać dokładnie czas trwania to musi być raczej cyfrowy...
witam Mam pewien problem ze skonfigurowaniem przerwania w Atmega8. Program ma wysyłać dane przez UART w zależności od stanu na końcówce PD2 ( INT0 ). Jeżeli ma stan niski to sprawdza jedną zmienną i w zależności od niej wysyła dane. Jeżeli ma stan wysoki to tak samo. Ale tylko jednorazowa zmiana powinna powodować wysłanie danych. Wymyśliłem, że obsłużę...
Mam jeszcze jedno pytanie z innej beczki, szukam już jakiś czas jak rozumieć oznaczenia typu: PORTB ^=_BV(7); PORTB |= _BV(2); czy to znaczy, że sumuje bitwo wyjście z bitem z 00000100 i wynik jest wystawiany na wyjściu ? wiem, że te symbole operacji bitowych, ale dlaczego przeglądając proste przykłady ludzie stosują takie zabiegi, zamiast wprost wysterować...
Witam.Tu jest odpowiedz na twoje pytanie :) [url=http://mirley.firlej.org/programowa... osobiście używam BASCOM AVR do kompilacji programów a AVRDUDE z nakładką graficzną Burn-O-Mat [url=http://avr8-burn-o-mat.aaabbb.de/av... do programowania i ustawiania FUSE BITÓW.Polecam
Nie wiem chyba Rama nie czytasz, a tam wszystko ładnie opisane. Master receiver czyta bajt i wystawia ACK. Następnie Ty zerujesz bit ACK i ustawiasz bit Stop powodując zawieszenie się magistrali. Nie wiem czy wiesz jak działa i2c. Ada może być kontrolowane tylko przez jedno urządzenie. W naszym przypadku slave ustawia sda a master podaje zegar. Po przesłaniu...
1. [syntax=c]_delay_ms(0.1);[/syntax] zastąp: [syntax=c]_delay_us(100);[/syntax] więcej o opóźnieniach napisał tmf tutaj: http://mikrokontrolery.blogspot.com/2011... 2. Opóźnienia w przerwaniu to samozagłada: http://mikrokontrolery.blogspot.com/2011... 3. [syntax=c]if(!(PIND && 0b00010000)){i=0;}...
Witaj. 1. Dodaj rezystor 10k na pinie RESETdo Vcc. 2. DDRB ustala kierunek - wyjśćie /wejście. Jeżeli ustawisz pin jako wyjjście, to wtedy dopiero zmiana w PORTx stanu pinu oznacza 1 lub zero na wyjściu. Dlatego DDR ustaw przed pętlą, a w pętli operuj tylko PORT. 3. to DDRB = (0<<PB1) nie zeruje tylko pin PB1 - patrz punkt 1.5: http://mikrokontrolery.blogspot.com/2011...
Witam !!! 3. Co to są banki rejestrów jak je zmieniać. - w 8051 sa cztery banki rejestrow (po 8 rejestrow w kazdym banku) zmienia sie je (banki) poprzez odpowiednie ustawienie bitow RS1 i RS0 rejestru statusowego PSW. Bank rejestrow najprosciej mowiac to zbior wlasnie 8 rejestrow w ktorych mozemy przechowywac argumenty (dane ) dla wykonywanych instrukcji...
no właśnie, -O1 ma wg mnie sens, jeśli chcesz sobie ładnie móc debuggować a nie chcesz potem pod koniec musieć pamiętać o tym, żeby zmieniać na -03. Jeśli twój uC się ze wszystkim czasowo wyrabia dla -O1, a nie musisz np. minimalizowac poboru energii (bo wtedy oczywiście zależy ci na tym, żeby wszystko co trzeba wykonać jak najszybciej i pójść spać),...
fantom napisał: Nie kumam. Po pierwsze w zadnym z trybow USB nie przesyla sie pojedynczych bitow. Tak ale koledze chodziło o to żeby w każdym pakiecie USB ustawiać lub kasować pojedyńcze linie danych na wyjściu układu FT245 i dzięki temu uzyskać interfejs 1Wire. Ale obawim się że to jest nie do zrobienia do 1Wire wymaga bardzo szybkich linii danych...
#include <avr/signal.h> Wywal, nowa wersja gcc dla avr wymaga juz tylko <avr/interrupt.h> Zresztą, dwie poniższe funkcje w ogóle nie korzystaja z przerwań, więc możesz się pozbyć handlerów (SIGNAL(...){}) i uaktywniania przerwań (UCSRB = (1 << RXCIE) | (1 << TXCIE);) zresztą cały ten fragment jest źle. UCSRB = 1 << TXEN;//...
No odebralem wrazenie, ze tu nie chodzi o problem ustawiania czasu, ale o sama obsluge przyciskow.. Najlepiej uzyc programowej filtracji nacisniecia przycisku. Z nimi zawsze jest problem. Co pewien okres sprawdzaj stan przycisku i wpisuj na kolejnych bitach stany do np. zmiennej typu WORD (16 bitowej). Jesli wszystkie 16 bitow sa danego stanu to taki...
Co do programu przedstawionego w załączniku. Strasznie marnujesz czas procesora, powinienes w przerwaniu wykonac kilka instrukcji a ty wykonujesz wszystko. Uboczną stroną jest jescze to ze musisz zapisywac wykorzystywane rejestry na stosie i "uziemiasz sobie licznk 0" Proponowałbym taki sposób: czujnik dołaczasz do wejscia into lub int1 ustawiasz na...
1. pragma configi znajdziesz w helpie od MPLABX - np. C18 toolchain -> C18 settings albo C32 toolchain ->C32 settings... 3. To przykładowe makra dla PIC32MX440F512H do zabaw z portami: [syntax=c] // some handy DEFINES #ifndef BIT #define BIT(n) (1 << (n)) #endif #ifndef nBIT #define nBIT(n) ~(1 << (n)) #endif //--------------------------------------...
To zależy, czy mamy pewność, że wybrane bity są aktualnie w przeciwnym stanie, niż wymagany. Jeżeli nie ma takiej pewności, to jednak lepiej Od tego jest &= i to podał autor tematu. (at)loczi: Stosuj taki zapis: Więcej informacji tutaj: http://mikrokontrolery.blogspot.com/2011...
ten szybszy dajesz na UARTA a ten wolniejszy realizujesz programowo. txd realizujesz na zwyklej lini wsuwajac do niej bity w rownych odstepach czasu.rxd relizujesz na INT i przy pomocy timera. gdy dostajesz przerwanie od inta ustawiasz timer na czas 1,5*czas bitu transmisji, oraz ustawisz licznik bitow na 8 lub 9 zaleznie od tego czy odbierasz 9 bit.gdy...
no ale czego Ty żądasz, że dostaniesz gotowy kod cały z ustawianiem peryferiów i zegarów? jak chcesz coś takiego to zapraszam są biblioteki i gotowe przykłady na stronie choćby ST czy na innych forach albo poczciwy wujek gugl- www.google.pl
(at)Harcownikov Źle zrozumiałeś przesłanie kol. excray z pierwszego jego postu. On wskazał Ci tylko Twój ogólny problem i nie miał zamiaru Ciebie w żaden sposób źle traktować. Zobacz na procent jego ilości POMÓGŁ, a zauważysz, że jest bardzo pomocnym użytkownikiem forum :) Wrzuć sobie do CManiaka: http://mikrokontrolery.blogspot.com/p/cm...
Mimo ze tu i tam wdzailem posty o sprawdzaniu flagi zajetosci nadal nie kumam czemu wyswietlanie na lcd przestaje dzialac. A jak niby ma działać , jak Twój kod przeczy zdrowemu rozsądkowi :D Wytłumacz proszę , po jakie licho , tuż przed odczytem linii D7-D4 , ustawiasz te linie jako wyjście , a linie do których podłączyłeś sygnały sterujące E,RS,RW...
Discoliteza trzeba dokładnie ustawic na kazdy kanal.. tzn. masz tam 4 linijki po 8 bitow. Klikasz prawym na taki jeden kwadracik i ustawiasz.... Jak cos to pisz Pw :) Da sie tak sterowac diodami. Jesli chcesz uzyc zarowek np 60W... To koszt elementow na 1 kanal żarowki to około 7zl.. Dodano po 1 mysle ze wpiołes rezystor na diode... Dodano po 1 a i...
Kazde odczytanie kolejnej porcji 8 bitow wymaga wyslania jakiejs wartosci do urzadzebia SPI wiec chcac odebrac kolejna porcje musisz cos tam wyslac. Niepokoi mnie na stale pdolaczenie CS pod 0. Wiele ukladow na tym zboczu ustawia swoje takie a nie inne funkcjonowanie. Dlatego proponowalbym na stale ustawic tam 1 a 0 tylko podczas operacji odczytu. Po...
To w takim razie jak będzie zorganizowane ustawianie tego "zegara". Program musi wiedzieć kiedy jest godzina 00:00:00 (np gdy licznik=145123). Wtedy temp=licznik-stala0 i w zmiennej temp mamy godzine, którejś doby. A wtedy możemy już liczyc: sek=temp mod 60; temp=temp-sek; temp=temp / 60; min=temp mod 60; temp=temp-(min*60); temp=temp / 60;...
przesunięcia bitow przesuwanie bitow maskowane bitow
rozrusznik sterowanie rozbiegnięcie silnika mieszanka paliwo
Nissan Micra K12 2008 - Zwarcie na alternatorze i brak prądu Reset mikroprocesora Technics SE-EH50 - instrukcja