przesunięcie bitowe atmega8

Znaleziono około 140 wyników dla: przesunięcie bitowe atmega8
  • [ Bascom ] Atmega8 LM75 LM75A pomiar temperatur ujemnej

    Twój LM75 jest na I2C, zakładam więc że umiesz odczytać z niego te dwa bajty z wartością temperatury. Sprawdzasz najstarszy bit, starszego bajtu w odczytanym z czujnika wyniku. jeśli jest równy 0, to znaczy że temperatura jest dodatnia i wynik liczysz poprzez: 1. przesunięcie otrzymanego z czujnika wyniku o 5 bitów w prawo 2. pomnożenie rezultatu tej...

    Mikrokontrolery AVR   11 Lis 2010 22:33 Odpowiedzi: 9    Wyświetleń: 3628
  • REKLAMA
  • AVRStudio4 - przesunięcie bitowe nie działa w trybie krokowym, ATmega8, avr-gcc

    witam, właściwie rozpoczynam przygodę z AVR'ami i językiem avr-gcc i muszę przyznać, że kompletnie zgłupiałem poniżej zamieszczam kod (jako wycinek większej całości), który moim zdaniem nie działa prawidłowo używam AVRStudio 4 ustawienia projektu: 1. ATmega8 2. fcpu 1000000 3. optymalizacja -O0 (wyłączona) oto kod : [syntax=c] #include <stdint.h>...

    Mikrokontrolery Początkujący   26 Lis 2013 11:38 Odpowiedzi: 4    Wyświetleń: 1086
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • Mini barometr z wyświetlaczem LCD i akumulatorkiem Li-pol na ATmega168PA

    http://obrazki.elektroda.pl/9824916400_1... Witam, Korzystając z ostatnich wolnych dni przed studiami chciałbym zaprezentować moją ostatnią konstrukcję. Jest to mały przenośny barometr. Konstrukcja powstała na potrzeby osoby wrażliwej na zmiany ciśnienia oraz spełnia jej wymagania tzn. mały rozmiar( 20x40x9mm) oraz co się z tym wiąże...

    DIY Konstrukcje   11 Kwi 2017 21:55 Odpowiedzi: 16    Wyświetleń: 21294
  • REKLAMA
  • Nieudana transmisja Atmega8 i RS232 z AVR Studio 5.1 - brak reakcji w 'putty'

    OOPS już wiem. Przesunięcie bitowe to przesunięcie wszystkich bitów a nie tylko jednego. #define HC_TX_OFF HC_TX_DDR |= (1<<HC_TX);HC_TX_PORT &=~ (1<<HC_TX); zamiast #define HC_TX_OFF HC_TX_DDR |= (1<<HC_TX);HC_TX_PORT &= (0<<HC_TX); i już jest OK. To nie USART wyłączał wentylator tylko odczyt_odległości, który był uruchamiany...

    Mikrokontrolery AVR   28 Gru 2021 18:00 Odpowiedzi: 56    Wyświetleń: 2427
  • Termometr LCD na ATmega8 - nieprawidłowe znaki po stopniu Celsjusza

    Nie wiem też po co to dzielenie przez 16 w kodzie, przecież wystarczy przesunąć zmienną o 4 bity w prawo, a kod zmaleje w oczach :) Jeśli chodzi o C to przesunięcie bitowe liczby ujemnej jest niezdefiniowane w standardzie. Albert

    Mikrokontrolery AVR   15 Gru 2011 00:32 Odpowiedzi: 43    Wyświetleń: 9501
  • AVR - Zrozumienie operacji bitowych z przesunięciem w C dla AVR

    Jak rozumiem zgodnie z teorią języka C dla AVR Prawie dobrze, ale zamiast 00010000 otrzymasz 00100000, choć końcowy wynik będzie dokładnie taki jak Twój czyli 0xF0, ale to przypadek. A teraz drugi przypadek, gdzie zamiast przesuwać jedynkę o 5 miejsc w lewo, przesuwasz w lewo liczbę 0x10 szesnastkowo (czyli liczbę 16 dziesiętnie lub 0x00010000 dwójkowo)...

    Programowanie Początkujący   13 Mar 2014 21:39 Odpowiedzi: 2    Wyświetleń: 1251
  • Dlaczego przesunięcie bitowe w ATmega daje 0xFFFFCBCF zamiast 0xEBAACBCF?

    Witam. Mam problem z przesunięciem bitowym. Mam taki kod: long int wire_temp(void) { long int zmienna_w; int temp1, temp2; temp1 = 0xCBCF; temp2 = 0xEBAA; zmienna_w = ((temp2 << 16) | temp1); return zmienna_w; } i wynik działania jest błędny. zamiast 0xEBAACBCF jest 0xFFFFCBCF. Widać, że dwa najstarsze bajty się...

    Mikrokontrolery AVR   10 Kwi 2009 22:41 Odpowiedzi: 4    Wyświetleń: 5099
  • Atmega8 - Timer1 zmiana współczynnika wypełnienia

    Ten kod w STM jak na razie jest dla mnie mało przejrzysty. Nie rozumiem za bardzo co robi ten kod: [syntax=c] if ((przechowuje = ((przechowuje << 1) & 0x0F) | ostatnia) == 1) { keypin_pressed = 1; } [/syntax] Załóżmy, że wcisnąłem PD5, a wcześniej wcisnąłem PD6. Czyli przechowuje to jest wartość 0X20, a ostatnia to 0X10. Jak zrobię przesunięcie...

    Mikrokontrolery AVR   24 Lut 2014 18:26 Odpowiedzi: 18    Wyświetleń: 2409
  • REKLAMA
  • [atmega8] Jak podłączyć czujnik KTY 81-210 do ATmega8 i mierzyć temperaturę?

    Tak eliminacja wpływu niestałości długoterminowej (dryftu) to zaleta takiego pomiaru, podobnie w metodzie mostkowej eliminuje się wpływ zmian napięcia zasilania na wynik. Czytanie pojedynczych rejestrów jest możliwe, lepiej jednak od razu czytać cały rejestr. Kompilator zadba o odpowiednią kolejność i zoptymalizuje kod. Można porównać jak to wygląda...

    Mikrokontrolery Początkujący   15 Sty 2013 17:28 Odpowiedzi: 24    Wyświetleń: 15396
  • [atmega8] [C] - Ustawianie bitów na porcie D a niechciane przerwania.

    Witam, jakiś czas temu zacząłem zabawę z AVR no i w końcu natrafiłem na problem, którego nie mogę rozgryźć. Mam w programie (multipleksowany wyswietlacz 7 seg) linijkę o treści : DOKŁADNIE o ten zapis, wiem ze lepiej uzyć całego portu a nie mieszać jak powyżej D i C, ale nie rozumiem DLACZEGO zapis, który nie powinien ruszać bitów PD2 i PD3 generuje...

    Mikrokontrolery Początkujący   24 Lis 2012 22:20 Odpowiedzi: 4    Wyświetleń: 1314
  • ATmega 8 - Wyjście szeregowe i wejście na tym samym porcie PORTB, podciąganie?

    Witam, Problem (o ile wogóle istnieje) przedstawia się następująco: mam wyjście szeregowe na jednym z pinów PORTB, na tym samym porcie chciałbym zrobić wejście, wszystko byłoby ok, gdyby nie fakt, że "przesuwanie" będzie mi raz włączało, raz wyłączało podciąganie na tym pinie, czy nie będzie z tym żadnego problemu ?? Zastanawiałem się nad zewnętrzym...

    Mikrokontrolery   23 Cze 2005 08:07 Odpowiedzi: 13    Wyświetleń: 1958
  • Jak przyspieszyć przesunięcie bitowe o zmienną na AVR ATmega32?

    Mam drobne pytanie - wykonuję przesunięcie bitowe o zmienną: uchar a,b; a = 1<<b No i ta operacja zajmuje jakies 26 cykli procesora. Przesunięcie o stałą trwa jeden cykl bo raczej jest to zamieniane w czasie kompilacji a tutaj jest 'troszkę' wolniej. Czy można to jakoś przyspieszyć? Procesor - avr atmega32, kompilowane i analizowane w avr studio.

    Mikrokontrolery   14 Lis 2008 15:45 Odpowiedzi: 7    Wyświetleń: 1721
  • [ATmega8][asm] - Rejestr przesuwny 16 bitowy - nie ładuje

    Zmagam się z rejestrem, którego ma ATmega8 symulować, ale nie przyjmuje Danych na rosnącym zboczu CLK. http://obrazki.elektroda.pl/2487102600_1...

    Mikrokontrolery Początkujący   16 Wrz 2016 20:48 Odpowiedzi: 4    Wyświetleń: 1386
  • [Atmega8] Atmega8 i TSOP1736: Błąd w odbiorze RC-5, ekran LCD się zawiesza

    Trochę przekształciłem mój kod, wg wskazówek tu był kod Nadal nie działa. Może mój zamysł w ogóle jest zły. po otrzymaniu impulsu uC ma odczekać 0,45ms i jeżeli nadal na wejściu jest stan wysoki ma rozpocząć się próbkowanie, w tym celu timer ma odmierzać czas dokładnie 1,788ms czyli tyle ile trwa jeden jeden bit rozkazu, Wywołanie przerwania ma następować...

    Mikrokontrolery AVR   06 Lis 2009 22:18 Odpowiedzi: 6    Wyświetleń: 1991
  • REKLAMA
  • [Atmega8] Weryfikacja schematu czujnika ciśnienia MPL115A2 na I2C z Atmega8

    Czołem! trochę odgrzewam kotleta, jednak walcze teraz z tym samym czujnikiem w wersji SPI i mam problemy z ogarnieciem konwersji danych. Zgodnie z notą AN3785 Freescale pobieram i usadawiam współczynniki w zmiennych int16_t (justowanie do lewej). Staram się ogarnąć umysłem kolejne kroki przeliczeniowe i mam wrażenie, że w 1 kroku jest błąd. Mianowicie...

    Mikrokontrolery AVR   19 Cze 2012 13:48 Odpowiedzi: 15    Wyświetleń: 4349
  • Atmega8 C - Jak zmienić 4 najmłodsze bity Portu B bez wpływu na resztę?

    Witam, Szybki, banalny problem z którym nie mogę się uporać ani nigdzie znaleźć rozwiązania - w jaki sposób mogę zmienić stany 4 najmłodszych bitów/pinów Portu B ATMegi nie ingerując w żaden sposób w stan pozostałych ? Np chce ustawić coś takiego, gdzie X to bity których nie chce zmieniać : [syntax=c]PORTB=0bXXXX0101;[/syntax] Probowałem rozwiązać problem...

    Mikrokontrolery Początkujący   02 Lip 2013 22:58 Odpowiedzi: 6    Wyświetleń: 3474
  • Jak wyprowadzić 8 bitów szeregowo na jednym wyjściu ATmega8?

    czy jest możliwość wyprowadzenia 8 bitów z atmega8 szeregowo na jednym wyjsciu?

    Mikrokontrolery   01 Kwi 2006 15:41 Odpowiedzi: 12    Wyświetleń: 1431
  • [C][ATMEGA8] - Ustawienie 16 bitu liczby 32 bitowej

    Witam Mam problem z ustawieniem bitów powyżej 16 w 32 bitowej liczbie. Kod ustawiający: vport=0x0000FFFF uzyskuje vport=0xFFFFFFFF Mógłby ktoś wyjaśnić dlaczego i jak to naprawić.

    Mikrokontrolery Początkujący   13 Mar 2013 10:52 Odpowiedzi: 2    Wyświetleń: 1530
  • Dzielenie 16-bit przez 8-bit w asemblerze Atmega dla miernika prędkości obrotowej

    Wszedzie szukam i nie moge znalezc, potrzebuje pojdzielic liczbe 16 bitowa przez 8 bitową w asemblerze Ostatecznie moze byc nawet 8 bit przez 8 bit, bez reszty, choc z reszta tez moze byc. Robie miernik prękości obrotej z enkodera (4096 na obrót). Licznik 16 bitowy zlicza impulsy, potem co 1sekunde wyzwala sie przerwanie ktore podzieli liczbe zliczonych...

    Mikrokontrolery   21 Sty 2011 02:30 Odpowiedzi: 2    Wyświetleń: 3417
  • [ATmega8] [ATmega8][ASM] TWI - Przesunięcie bitów w TWDR Slave Receiver

    Witam, Mam pewien problem. Mianowicie połączyłem dwie ATmegi 8 przez TWI, rolę pullup-ów pełnią rezystory w ATmedze która pełni funkcję Master Transmiter. Gdy wysyłam przez TWI jakąś wartość np 0b00001000, to w TWDR w Slave Receiver, w TWDR jest wartość 0b00010000, czyli ta wartość przesunięta w lewo o jeden bit. Co może być powodem takiego stanu rzeczy?...

    Mikrokontrolery AVR   30 Kwi 2009 20:21 Odpowiedzi: 0    Wyświetleń: 924
  • [atmega8] [atmega8][bascom] Zmiana wartości tylko z 1 na 2 przy kręceniu impulsatorem

    Kod pochodzi z EP 4/2005 Problem polega na zmianie wyświetlanej wartości tylko z 1 na 2 przy kręceniu w jedną stronę. $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Portd = Input Dim Licz As Byte Dim Stan_enk...

    Mikrokontrolery Początkujący   27 Lut 2014 21:55 Odpowiedzi: 9    Wyświetleń: 5351
  • Zmiana bitów 2-4 w PORTB jednocześnie w AVR C, użycie licznika 0-7

    Witam Dopiero zaczynam pisać w C pod AVR więc proszę o wyrozumiałość. Potrzebuje zmienić 3 bity w PORTB jednocześnie. Maska 0b00011100 czyli bity 2-4 chcę ustalać jednocześnie ale nie gasic i zapalac oddzielnie. Najlepiej jak by odrazu dało sie użyć licznika z zakresem 0-7 czyli 3 bity do sterowania. int ROW; for(ROW=0;ROW<8;ROW++) { //musze ustawić...

    Mikrokontrolery AVR   29 Paź 2009 11:00 Odpowiedzi: 7    Wyświetleń: 1437
  • [ATMega8][ASM] - Ćwiczenie na PWM - jak ustawić bity?

    Uczę się programować mikrokontrolery z książki Pawła Borkowskiego: "AVR&ARM7. Programowanie mikrokontrolerów dla każdego" . Ćwiczenie, które mam do wykonania, wygląda tak: To ćwiczenie należy do trudnych, gdyż wiedzę konieczną do jego wykonania należy zdobyć samodzielnie. Na rysunku 7.9 widać schemat z podłączoną tylko jedną diodą. Należy układ obsłużyć...

    Mikrokontrolery AVR   21 Lip 2014 07:15 Odpowiedzi: 8    Wyświetleń: 2085
  • jedna zmienna z 80 znaków bascom avr wersja 1.11.7.4

    Koledzy potrzebuje pomocy w bascomie avr mianowicie np. dekoduje sygnał z jakiegoś wejścia czy jest to 1 lub zero i tak 80 razy. Problem jest taki jak zrobić aby każden odebrany umownie bit wpisać do jednej zmiennej. Jest to podobne do transmisji pilota najpierw sprawdzam czy zmienna to 1 czy 0 a tak odbywa się to ok. 80 razy w odstępach 200uS następnie...

    Mikrokontrolery AVR   29 Maj 2014 01:44 Odpowiedzi: 6    Wyświetleń: 1254
  • Atmega - Rejestr przesuwny 74HCT4094 wpisywanie bajtów.

    Witam.. Ostatnio dorwałem kilka wyświetlaczy 64x 16 =1024 diody. Do sterowania kolumnami i wierszami służą 8 rejestry przesuwne 74HCT4094. Mam problem z wysyłaniem całych 32 bitów do tych rejestrów, tzn przy wysyłaniu po 8 bitów jak kodzie 1 działa pięknie a kiedy zmieniam sposób jak w kodzie 2, i chce wysłać za jednym razem 32 bity, wyświetlacz wyświetla...

    Mikrokontrolery AVR   12 Sty 2014 10:12 Odpowiedzi: 4    Wyświetleń: 1596
  • Jak ustawić pojedyncze bity w rejestrach I/O ATmega8, np. TWCR?

    Czy w ATmega8 da się wykonywać operacje na pojednczych bitach w rejestrach i/o, np TWCR? Polecenie SBI TWCR, 6 skutkuje błędem error: Operand 1 out of range: 0x36, a SBR TWCR, 6 error: Invalid register.

    Mikrokontrolery   23 Wrz 2006 12:07 Odpowiedzi: 3    Wyświetleń: 1251
  • Jak przesunąć bity w liczniku do początku po naciśnięciu przycisku?

    Witam. Mam następujący problem. Po każdym naciśnięciu przycisku wartość licznika zwiększa się o 1 i jest ograniczona do 255. Ale mi jest potrzebny wynik, że jeśli kliknę trzy razy gdzie 3=0x00000011 to chcę mieć te dwa bity na samym początku czyli wynik=0x11000000. Bardzo proszę o pomoc oraz poradę. Łukasz.

    Mikrokontrolery AVR   19 Cze 2010 16:20 Odpowiedzi: 6    Wyświetleń: 2802
  • Inkrementacja zmiennej i maskowanie bitów na portach PB0, PE7, PE6 w C/AVR

    Witam wszystkich mam problem ponieważ chciałbym inkremętować jedną zmienną a z drugiej strony wartość inkrementowanej zmiennej chciałbym przenieść na dwa porty w jednym mam jeden bit PB0 a w drugim porcie PE7 PE6 i teraz ustawiłem kierunki portów ale kombinuje z maskowaniem ale mi nie wychodzi. Pozdrawiam

    Mikrokontrolery   23 Lis 2010 23:34 Odpowiedzi: 14    Wyświetleń: 1520
  • [Atmega8] Jak zasilić i sterować VFD BJ883GNK z Atmega8 i SC16311?

    :cry: Nie ma szans aby działało bo jak się robi takie błędy sorrki ale uczę się #include <avr/io.h> #include <util/delay.h> #define F_CPU 1000000L #define CLK_1 PORTD|=_BV(4) //bit CLK=1 #define CLK_0 PORTD&=~_BV(4) //bit CLK=0 #define STB_1 PORTD|=_BV(5) //bit STB=1 #define STB_0 PORTD&=~_BV(5) //bit...

    Mikrokontrolery   12 Sty 2010 16:35 Odpowiedzi: 22    Wyświetleń: 6496
  • Jak podłączyć i obsłużyć iButton DS1996L-F5 z ATMEGA8 przez 1-wire?

    ok, zdaje się, że jestem z tych opornych :D, więc kilka pytań extra: #include <avr/io.h> #ifdef SINGLE_OW #define bp (1<<PD6) #define bm ~(1<<PD6) #define owhi DDRD&=bm #define owlo DDRD|=bp #define owget PIND&bp #else //MULTI_OW unsigned char *port,*ddr,*pin,bp,bm; #define owhi *ddr&=bm #define owlo *ddr|=bp...

    Mikrokontrolery   07 Sty 2007 20:24 Odpowiedzi: 36    Wyświetleń: 11160
  • [C][ATMega8] Komunikacja radiowa - sprawdzenie kodu.

    1. Kod można skrócić o połowę. 2. Stosuj sobie przesuniecie bitowe zamiast liczb szesnastkowych bo można się pogubić. 3. To nie C++ tylko C.

    Mikrokontrolery   20 Lut 2011 07:27 Odpowiedzi: 14    Wyświetleń: 3178
  • [ATmega8] ATmega8: Wewnętrzny pull-up nie działa z wieloma przyciskami - co robię źle?

    Dzieki wielkie, ustawilem przesunięcie bitowe tak jak powiedziales i zadziałało :)

    Mikrokontrolery Początkujący   08 Wrz 2012 09:14 Odpowiedzi: 2    Wyświetleń: 1782
  • Jak zamienić wartość 10-bitową na 8-bitową w C dla przetwornika ADC?

    A może inaczej panowei... Jaki to uC...?.?.? Pytanie dość istotne bo może być problem z głowy... W AVR przy konfiguracji ADC jest rejestr który za to odpowiada... I tak np w ATmega8 rejestr pod tytułem ADLAR ustawiony na 1 powoduje przesunięcie wszystkih bitów w lewo... Większość czyli 8 bitów zostaje w ADCH i tylko ten rejestr czytamy a dwa najmniej...

    Mikrokontrolery   23 Lip 2005 15:03 Odpowiedzi: 15    Wyświetleń: 4135
  • [C] [C][atmega8] - Jak działa operator bitowy | i << w ustawieniach portów?

    jednak nie potrafię zrozumieć tego zapisu Jak przesuniesz jedynkę o 3 pola w lewo to masz wartość 8 (innymi słowy to jest *2^n). | to suma logiczna (OR) - czyli zapis (1<<3|1<<5) oznacza ustawienie jako 1 bitów 3 i 5 licząc 0:7. czyli sprawdzać czy jest wciśnięty Negacja logiczna.

    Mikrokontrolery Początkujący   15 Lip 2012 14:15 Odpowiedzi: 17    Wyświetleń: 5954
  • Jak ustawić 8-bitową ramkę danych UART w ATmega8? UCSZ0, UCSZ1, UCSZ2

    UCSRC = (1<<URSEL)|(1<<U... // z manualna Atmegi zapożyczone:) i działa jako 8b czyli UCSZ0 = 1 oraz UCSZ1 = 1 ;) (3 << UCSZ0) to jest 11 przesunięte o miejsce w rejestrze bitu UCSZ0 Dodano po 8 01 to raczej 7b po mojemu:]

    Mikrokontrolery AVR   14 Mar 2009 22:14 Odpowiedzi: 2    Wyświetleń: 3056
  • C++ - Zrozumienie bitowej koniunkcji (&) w projekcie z ATmega8 LED

    XOR to nie jest odejmowanie. negacja z dodaniem jedynki a pozniej OR to jest odejmowanie. Żebyś lepiej zrozumiał, xor nie daje ci przesunięcia, w związku z tym jeśli przesuniecie w działaniu powinno nastąpić to xor nie zadziała jak odejmowanie. przykład: 12 - 8 = 4 i 12 xor 8 = 8, to tak jak byś w systemie dziesiętnym próbował odjąć od 2 liczbę 8. Jeśli...

    Programowanie Początkujący   10 Maj 2014 20:02 Odpowiedzi: 7    Wyświetleń: 1701
  • ATmega8 - sekwencyjne zapalanie diod LED w zależności od stanu SW0

    Witam 1. Proszę w google wpisać słowo klucz "AVR operacje bitowe" ( >> << & ^ ~) 2. Dobrze użyć #define do opisania co to jest LED0, LED1, jeśli zmieni się miejsce przyłączenia diody to później trzeba będzie pilnować każdego odwołania do takiej diody. 3. Nie ma potrzeby zmieniać stanu wszystkich 8 bitów portu D, wystarczy przesunąć ten...

    Mikrokontrolery AVR   21 Kwi 2010 07:54 Odpowiedzi: 8    Wyświetleń: 2219
  • Jak skonfigurować rejestry ADC w Atmega8 do odczytu potencjometru?

    Jak teraz patrzę to źle napisałem wartości w ADCH :) Ale mnie więcej o to mi chodziło. Tak czy siak, zależy od ustawienia ADLAR. Jeśli ADLAR ustawiasz na "0" to wynik masz przesunięty do prawej dwóch 8-bitowych rejestrów. A więc jeśli interesuje cię wynik 8 bitowy to nie możesz wziąć ADCH, bo będziesz miał tylko 2 MSB a co z resztą? Jeśli ustawisz ADLAR...

    Mikrokontrolery AVR   20 Lut 2012 08:56 Odpowiedzi: 23    Wyświetleń: 6263
  • [C - WinAVR] Prosty program na ATmega8: mruganie LED, WinAVR i AVRstudio 4

    Tak, ma. Proponowałem Ci we wcześniejszym poście przeczytanie strony AvrSide. Gdybyś mnie posłuchał to wszystkiego byś się dowiedział. Jest tam taki fragmencik: Avr-gcc nie posiada składni bezpośredniego dostępu do bitów zmienna.numer_bitu. Operacje na bitach wykonujemy używając iloczynu i sumy bitowej, np. dla bajtu: zmienna |= _BV(numer_bitu); //...

    Mikrokontrolery   27 Sty 2006 09:20 Odpowiedzi: 11    Wyświetleń: 8981
  • [atmega8] Dlaczego w funkcji WyswietlHex użyto przesunięcia bitowego o 12 miejsc?

    "a >> b" jest przesunięciem "a" o "b" bitów w prawo. "&" to nie porównanie tylko maskowanie (iloczyn logiczny) bitów. Wyrażenie "var>>(3*4)" przesunie zmienną o 12 bitów w prawo, czyli zwróci czwarty nibble (trzeci licząc od zera - stąd trójka, nibble ma 4 bity, stąd czwórka). "(var>>(2*4))&0xf" przesunie zmienną o 8 bitów w prawo i zamaskuje 4 najniższe...

    Mikrokontrolery AVR   20 Wrz 2008 22:54 Odpowiedzi: 4    Wyświetleń: 1319
  • Mega8 sterowanie Pwm - prośba o sprawdzenie programu .

    AtTiny2313 nie ma wbudowanego przetwornika AD, więc w prosty sposób się nie da. Można zawsze używając kilku elementów zrobić prosty przetwornik, ale patrząc na ceny innych uK, np. AtMega8, który ma dużo większe możliwości, nie ma to sensu. A wystarczyłoby uruchomić PWM w rozdzielczości 10 bitowej i bezpiśrednio przypisywać mu wartość odczytaną z przetwornika,...

    Mikrokontrolery   21 Lut 2008 23:32 Odpowiedzi: 3    Wyświetleń: 1838
  • Poszukiwany kod komunikacji ATmega8 (48, 88, 168, 328) z HT1621B w Bascom od Saper/nolin11

    Możesz wysyłać jako 16-bitowe SPI. Musisz tylko pamiętać, że kilka ostatnich bitów będzie ignorowane i odpowiednio przesunąć dane

    Mikrokontrolery AVR   19 Mar 2022 11:08 Odpowiedzi: 6    Wyświetleń: 573
  • Atmega8, kwarc zegarkowy, Timer0 multipleksuje tylko do 64..

    TCCR0 = _BV(x<<CS00); Źle użyłeś makra _BV. _BV(x) jest równoznaczne z ( 1 << x ), czyli w Twoim przypadku próbujesz wykonać podwójnie przesunięcie bitowe. Jeżeli x = 3 (CS00=0): _BV(3<<CS00) = _BV(3) = (1<<3) = 0b00001000 czyli TCCR0 będzie równe 0b00001000 . Innymi słowy, próbujesz ustawić bit tylko do odczytu, zamiast...

    Mikrokontrolery AVR   22 Gru 2010 23:21 Odpowiedzi: 4    Wyświetleń: 2835
  • Dlaczego przerwanie timera w ATmega8 nie działa? Dioda na PB1 nie świeci

    Tez mi sie wydaje dziwne ze nie mozna tak zrobic ale niestety tak jest.Zrozumielem dokladnie o co ci chodzilo jako ze kiedys sam lamalem sobie glowe nad asmem ale w razie jakby chciec to zrobic w ten sposob lepiej jest dac przesuniecie bitowe bo bedzie ono efektywniejsze.

    Mikrokontrolery   21 Kwi 2005 20:07 Odpowiedzi: 18    Wyświetleń: 10067
  • Co się dzieje wewnątrz mikrokontrolera? Opiszesz mi instrukcje Atmega8a wraz z tym jak to działa

    co każda z nich oznacza? Oczywiście, chętnie wyjaśnię znaczenie każdej z tych instrukcji dla mikrokontrolera Atmega8: 1. Instrukcje arytmetyczne i logiczne: - ADD (dodawanie): Dodaje wartości z dwóch rejestrów i zapisuje wynik w jednym z nich. - ADC (dodawanie z przeniesieniem): Dodaje wartości z dwóch rejestrów oraz bieżącą wartość przeniesienia (carry)...

    Nauka Elektroniki, Teoria i Laborki   31 Mar 2023 20:20 Odpowiedzi: 8    Wyświetleń: 324
  • Jak wysłać 3 bity przez SPI na ATMEGA8? Transmisja 19-bitowa w BASCOM lub ASM

    Na mój gust to tam jest byk bo na rysunku nr 2 jest jak wół 1 bajt komendy, 1 bajt danych więc z tym oscylogramem coś nie halo. A jesli ma być zwrócone słowo 11,12,13 ect bitowe to trzeba nieznacząe bity zignorować i np. przesunąć w w prawo o tyle ile bitów będzie brakowało do slowa 16 bitowego.

    Mikrokontrolery AVR   17 Lut 2010 19:42 Odpowiedzi: 22    Wyświetleń: 2501
  • Atmega8 - Jak zmierzyć częstotliwość do 2MHz? Dzielnik czy bezpośrednio?

    Tak. Gdybyś chciał wprowadzić przesunięcie o p.cz. to trzeba byłoby wstawić Czestotliwosc = Czestotliwosc +/- Pcz W tym programie Timer1 (16 bitowy) zlicza czas 1s. w jednym przebiegu dla zwiększenia dokładności pomiaru. Impulsy liczone są przez Counter0.

    Mikrokontrolery   20 Lut 2008 21:34 Odpowiedzi: 18    Wyświetleń: 6421
  • Jak ustawić baud rate dla ATMEGA8(L) w komunikacji RS232 z PC?

    Jeżeli masz kwarc 4MHz i baud (czyli prędkość transmisji) 9600, to do UBRR musisz wpisać liczbę dziesiętną 25 (UBRRH = 0; UBRRL = 25;). czyli dla kwarcu 8MHz (bo taki mam załozony aktualnie) UBRRH =0 i UBBRL = 51 ..... czyli rozumiem, że zamiast tego kawałku kodu: UBRRH = (unsigned char)(baud>>8); UBRRL = (unsigned char)baud;...

    Mikrokontrolery   11 Wrz 2006 15:27 Odpowiedzi: 9    Wyświetleń: 5038
  • WinAVR: Problem z odczytem stanu przycisków na ATmegaL 3,3V

    To od razu mu trzeba wytłumaczyć co taki zapis oznacza, bo widać, że zaczyna. PD0, PD1..PD9, PC0,PC1..PC8 itd to są zdefiniowane numery pinów w porcie. Definicje te znajdują się pliku nagłówkowym który załączasz na początku każdego projektu pośrednio poprzez: [syntax=c]#include <avr/io.h>[/syntax] Pośrednio, bo dla wygody załączasz io.h, natomiast...

    Mikrokontrolery Początkujący   24 Cze 2012 13:24 Odpowiedzi: 9    Wyświetleń: 1426
  • Atmega8 - Nieprawidłowe działanie diod LED i przycisków na portach PD i PB

    PORTB=0xFF; czyli PORTB= 1111 1111 PINB = 0001 0000 Używając & przycisk PB4 powinien otrzymać wartość 1, czyli, że jest wciśnięty. Dobrze będę stosować przesunięcie bitowe. Niestety, ale kompiluje na razie w Programmer's Notepad, ale fusebity ustawiłem w twoim programie na 12 Mhz i taki oscylator mam wpięty do nóżek XTAL1 i XTAL2 (czyli 1 nóżka kwarcu...

    Mikrokontrolery Początkujący   27 Sie 2013 20:14 Odpowiedzi: 27    Wyświetleń: 2772
  • Atmega8, C - Diody na PD0, PD1, PD2 nie zapalają się kolejno

    żeby po samym naciśnięciu switcha Co Masz na myśli ? By zmienić kolejność przesuwania bitów Musisz albo nacisnąć drugi raz ten sam przycisk, lub też nacisnąć inny, ewentualnie jeśli skończy się przesuwanie w lewo, nastąpi przesuwanie w prawo. Jeśli ma być to ten sam przycisk to Musisz dodać informację, która będzie widoczna dla podprogramu, który z...

    Mikrokontrolery Początkujący   01 Lip 2015 13:49 Odpowiedzi: 21    Wyświetleń: 4788
  • [Atmega8] [TSL2561T] Błędne odczyty. Złe łączenie rejestrów

    Troszkę nieprecyzyjnie się wyraziłem. Chodziło mi o to jak będą wyglądały operacje po rozbiciu tego złożonego wyrażenia i chyba sam sobie odpowiedziałem :-) Otóż: - bajt high będzie rzutowany na wartość 16 bitowa i przesunięty o osiem bitów - bajt low będzie rzutowany na wartość 16 bitową - oba operandy zostaną poddane operacji sumy logicznej - wynik...

    Mikrokontrolery AVR   04 Lis 2013 23:12 Odpowiedzi: 9    Wyświetleń: 2828
  • [TDA1543A] [Atmega8] - Napięcie stałe zamiast danych, brak komunikacji

    1) Po ustawieniu WS_1 chce by na porcie PD1 była ustawiona wartość 1 logicznej, a po wykonaniu WS_0 wystawienie 0 logicznego na PD1 - według mnie odpowiada to ustawieniu kanału lewego bądź prawego na wyjściu TDA1343a 2) 1<<PD1 to przesunięcie bitowe w lewo co zmieni wartość pinu PD1 na wartość po lewej w PD7 zależało by to od wartości wcześniej...

    Mikrokontrolery AVR   04 Maj 2016 10:58 Odpowiedzi: 15    Wyświetleń: 1887
  • Atmega8 i LCD - Błędny odczyt temperatury 4095°C, jak naprawić?

    Dziękuję bardzo za odpowiedź chodź przyznam, że nadal nie jest to dla mnie do końca jasne. Nie pasuje mi to matematycznie. Skoro dzielenie przez 16 to przesunięcie w prawo o 4 pozycje więc wypada jakby 4 na jedną pozycję. Więc dlaczego przy przesunięciu w lewo wartość jest aż tak znacząco różna ? Przesunięcie (shift) o jedną pozycję ozacza pomnożenie...

    Mikrokontrolery AVR   11 Kwi 2013 21:25 Odpowiedzi: 25    Wyświetleń: 3108
  • [c] Jak zapisać i odczytać integer w 24C256 używając I2C Fleury na ATMega8?

    Obawiam się, że nie rozumiem pierwszej części pytania. Jeżeli natomiast chodzi moment zapisu, to powiedzmy, że to się odbywa zaraz po uruchomieniu uC. Jeżeli, w momencie zapisu, do adresu komórki dodam przesunięcie bitowe w prawo, to wszystko pięknie się zapisuje i odczytuje. Zapis: [syntax=C] i2c_start(Dev24C256+I2C_WRITE); 2c_write(0x02); i2c_write(0x02...

    Mikrokontrolery AVR   30 Sie 2013 11:12 Odpowiedzi: 11    Wyświetleń: 1941
  • Jak uprościć pomiar napięć na 8 potencjometrach z AVR (Atmega8/16)?

    Witam. Przeglądając elektrode znalazłem temat w którym opisana jest funkcja obsługi przetwornika ADC , jednak jest on 10-bitowy. Można programowo zmienić jego dokładność na 8-bit ?(prosiłbym o przykład w basic) Owszem można. 1. Przesunąć wynik o dwa bity w prawo. 2. Skonfigurować przetwornik tak, by podawał wynik wyrównany w lewo - wtedy wystarczy...

    Początkujący Naprawy   21 Sie 2010 23:20 Odpowiedzi: 7    Wyświetleń: 1363
  • [Atmega8][avr-gcc] USART - Przesyłanie danych - optymalizacja

    Wszystko zależy od tego ile masz wolnego czasu i pamięci mikrokontrolera. Ja np. często wysyłam napięcia w postaci szesnastkowej, bo to nie kosztuje praktycznie nic po stronie uC, a program odbierający na PC odczyta je łatwiej niż z postaci dziesiętnej. Samo dzielenie przez 10, potrzebne do konwersji na postać dziesiętną, zajmuje grube dziesiątki instrukcji...

    Mikrokontrolery Początkujący   15 Gru 2012 23:09 Odpowiedzi: 14    Wyświetleń: 4161
  • XMega128A3U - Jak przenieść funkcje I2C z Atmega8, brak odpowiedników rejestrów?

    Pytanie czy xmega czy bibioteka. Biblioteka, której użyłeś, sama odpowiednio ustawia adres ale adres w parametrze ma być 7 bitowy: [syntax=c] twi->address = (address << 1); <<-- tutaj z przesuwa aby zrobić miejsce na R/W twi->writeData = writeData; twi->readData = readData; twi->bytesToWrite = bytesToWrite; twi->bytesToRead...

    Mikrokontrolery AVR   13 Sie 2016 12:33 Odpowiedzi: 33    Wyświetleń: 2430
  • Kod dla Atmega8A + HC-05 (Bluetooth): jak podłączyć terminal?

    1. wytłumacz mi to: UBRRH = (unsigned char)(ubrr>>8); UBRRL = (unsigned char)ubrr; UCSRB = (1<<RXEN)|(1<<TX... UCSRC = (1<<URSEL)|(3<<U... 2. Jak działa szczegółowo to połączenie bluetooth jeśli chodzi o algorytm? 1. To jest fragment kodu, który konfiguruje UART...

    Mikrokontrolery Początkujący   11 Wrz 2023 11:57 Odpowiedzi: 66    Wyświetleń: 1854
  • Kwestia wyświetlacza 2x8 na Atmega88: czarne pola, testy różnych programatorów i kabli

    Witam. Mam problem z wyświetlaczem 2x8 na Atmedze88. PD0 jest podłączony do RS, PD1 jest podłączony do E, PD2 procesora jest podłączony do DB4, PD3 jest podłączony do DB5, PD4 jest podłączony do DB6, PD5 jest podłączony do DB7. Na ekranie pojawiają się tylko czarne pola. Przetestowałem różne programatory oraz kable. Wgrywa wszystko na układ żadnych...

    Mikrokontrolery AVR   30 Sie 2023 05:15 Odpowiedzi: 5    Wyświetleń: 417
  • [C] [C][Atmega8] Jak sterować 7 diodami LED za pomocą 3 pinów uC?

    Mógłbyś opisać to dokładniej Typowy 8 bitowy rejestr ma 1 szeregowe wejście (czyli pin na który podajesz albo 0, albo 1). 1 pin na "zegar" gdzie (często) zbocze narastające inicjuje przesunięcie zawartości rejestru o 1 (i aktualny stan wejścia D wskakuje do rejestru). 2 szeregowe wyjścia (jedno zanegowane - do łączenia kilku urządzeń), jeden pin strobe/latch...

    Mikrokontrolery Początkujący   20 Lip 2012 07:49 Odpowiedzi: 10    Wyświetleń: 2826
  • Pomiar prądu przy pomocy ADC z ATMega8 w linii +12V

    Przetwornik ADC w ATMega może mierzyć napięcia nie wyższe, niż napięcie zasilania. Ponieważ korzystam z wbudowanej referencji, napięcie mierzone nie może być większe, niż 2,56V. W trybie 8-bitowym daje to rozdzielczość 10mV, zaś w trybie 10-bitowym 2,5mV. Pomiar prądu miał być w zamierzeniach realizowany na boczniku 0R1 wpiętym w masę pomiędzy zasilaczem,...

    Projektowanie Układów   30 Kwi 2014 22:28 Odpowiedzi: 7    Wyświetleń: 9455
  • Jak uruchomić przetwornik A/C na Atmega8 i odczytać wynik?

    Po co tak kombinować...?.?.? Jeżeli piszesz w WinAVR (nie wiem jak w innych) to możesz nizależnie od tego jak masz ustawione przesunięcie w rejestrach ADCL i ADCH możesz pobrać wartość 10-bitową w jednej operacji (chodzi mi tylko o zapis a nie o kod wynikowy) czyli np... volatile unsigned int adc; ... int main(void) { for(;;) {...

    Mikrokontrolery   15 Sie 2006 15:09 Odpowiedzi: 4    Wyświetleń: 1794
  • [ATmega8][WinAVR] - Różnice między kodem binarnym a HEX

    Witam Zmontowałem sobie prosty układ do ćwiczeń na kodzie wraz z najważniejszymi informacjami. Taki można powiedzieć sandbox do zabawy z operacjami na bitach. http://obrazki.elektroda.pl/5931791900_1... (pewnie dostane mały opie...rz za 1 rezystor na 8 diod - nie posiadam więcej!) Przejdę do sedna sprawy, zastanawia mnie sposób zapisu...

    Mikrokontrolery AVR   11 Maj 2014 14:37 Odpowiedzi: 6    Wyświetleń: 2439
  • Jak mierzyć prąd za pomocą ATmega8?

    Podoba mi się układ podany przez kolegę Urgon, tylko co jeśli zasilanie jest 12V? Można zasilić wzmacniacz z 12V, zmniejszyć wzmocnienie tak żeby na wyjściu było max 3V, ale czy wtedy nie traci się za dużo rozdzielczości? Przydałby się drugi wzmacniacz żeby przesunąć zakres pomiarowy bez zmniejszenia czułości. Osobiście ja bym się nie martwił o dokładność...

    Poradniki Elektronika   12 Maj 2021 09:53 Odpowiedzi: 41    Wyświetleń: 5001
  • atmega8 i sterowanie cewką cosinusową i sinusową wskaźnika

    to jest dobre miejsce żeby sensownie zacząć: http://www.mikesflightdeck.com/diy_airco... Co do drivera to robi sie to inaczej. Cztery rezystory podciągające cewki do plusa. Cztery tranzystory ściągające cewki do masy. Osiem rezystorów sterujących tranzystorami (połączenie szeregowe po dwa) Do tego dwa sprzętowe wyjścia PWM (jedno na jedną...

    Mikrokontrolery   26 Kwi 2010 00:53 Odpowiedzi: 14    Wyświetleń: 3917
  • VFD FUTABA - INNOVA - ECR - do Media Center - Media Portal

    http://obrazki.elektroda.net/23_12536510... Wszystko zaczęło się od wyświetlacza od kasy fiskalnej IBM 93F1090, który w roku 2006 dostał się w moje ręce. Chciałem go uruchomić lecz niestety nigdzie nie mogłem odnaleźć informacji jak się do niego dobrać. http://obrazki.elektroda.net/46_12536505... http://obrazki.elektroda.net/18_12536509...

    DIY Konstrukcje   04 Cze 2025 17:52 Odpowiedzi: 16    Wyświetleń: 12221
  • GP2D120XJ00F z Atmega8 i BASCOM - problem z odczytem odległości 10 cm

    1.Masz błąd w kodzie Zauważ, że jak czujnik wyśle wartość 100,200,300,400,505 to wszystkie diody się zapalą i tak zostanie. PORTC musisz zerować przed każdym zapaleniem diod, bo inaczej one nie zgasną dopóki W nie przyjmie wartości z zakresu 506..1023. 2.Lepiej gdyby kod był taki Do W=Getadc(5) Portc= &B00000000 //ustawiamy wszystkieg diody na 0 Portc.4=(W/512)...

    Robotyka Modelarstwo i CNC   31 Sie 2009 14:13 Odpowiedzi: 22    Wyświetleń: 3229