Tak, może być to zmienna bitowa.
Zamień[syntax=c]SPI_DIR |= (1<<SPI_CS1) | (1<<SPI_CS2) | (1<<SPI_CS3) | (1<<SPI_SCK) | (1<<SPI_MISO);[/syntax]na[syntax=c... |= (1<<SPI_CS1) | (1<<SPI_CS2) | (1<<SPI_CS3) | (1<<SPI_SCK) | (1<<SPI_MOSI);[/syntax]
UCSRC = (1<<URSEL)|(1<<U... // 8 bitów, 1 bit stopu zmień na: UCSRC = (1<<URSEL)|(1<<U... // 8 bitów, 1 bit stopu (dokumentacja atmega8 strona 157 "Table 58. UCSZ Bits Settings") Dodano po 1 Wiem nawet skąd się ten...
skoro idziesz już w rozwiązanie radiowe.. ;-) jeśli jednak rozważasz IR, to: 1. trzeba skonfigurować na każdym uC po jednym timer-ku, żeby generował prostokątny przebieg 36/38/40 kHz 2. kupić 2 odbiorniki TSOP17xx (jeden na 3x, drugi na 40 kHz) 3. 2 oporniki 220R, oraz 2x diody IR-LED 4. skonfigurować U(s)ART-y w obu kontrolerach i gotowe. ;-) mamy...
Zacznij od poprawnego zdefiniowania F_CPU: http://mikrokontrolery.blogspot.com/2011...
Oled w niektórych bibliotekach ma bufor RAM 1k, a to cały RAM w Atmega8 i nawet jeśli nie jest cały buforowany to raczej tu bym szukał przyczyny w dziwnym zachowaniu uC. Ciężko byłoby rozjechać synchronizację dla prędkości 9600, a ewentualne błędy dla 8 i 16MHz są takie same i wzajemnie się znoszą, choć oczywiście lepiej mieć kwarc zewnętrzny. Spróbuj...
Tak. Będzie to działać.
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.
W 90% przypadków komunikacja po RS-232 będzie możliwa w/g logiki: Lo - >3,3V Hi - <0,7V
Posiadam obecnie na stanie transoptor 4n35. Przy jego użyciu da się wykonać tą transmisję przy użyciu dwóch przewodów? Do transmisji jednokierunkowej z transoptorem ten dwużyłowy przewód w zupełności wystarczy. Tu jest przykładowe połączenie transpotora: http://www.electronics-tutorials.ws/arti... Ten transoptor powinien być zamontowany...
ori acc,0 ; ustaw bit 0 acc zmieć na: ori acc,1 ; ustaw bit 0 acc Dodano po 2 Acha. I dla punktów tego nie napisałem.
Dlaczego wygląda okropnie? właśnie tak się robi gdy robimy krótka pętlę, po za tym to jest cały kod odbierający pakiet, kodu wysyłającego nie zamieszczałem gdyż jest bardzo prosty i działa poprawnie. Wiem, że najprostszym kodem odbioru jest kod podany niżej jednak jest on bardzo... "ułomny" nie odporny na przerwanie transmisji w trakcie odbioru. Jeżeli...
Rezystory R4.. R7 odpadają.
(at)piotrus_999 Zastanawiałeś się kiedy ostatnio Twoja wypowiedź była różna od kursu "nie wiesz nic o C, siądź do książek" ? Kiedyś żeby przemycić jakąś myśl trzeba było w poście zawrzeć przynajmniej jedną odnoszącą się do zapytania autora myśl i to jeszcze taką która coś do tematu wnosiła. Za krzewienie C to (at)dondu można podziwiać. Tmf, BlueDraco,...
Korzystałem z tych samych wzorców i też nie mogłem się dogadać z kartą SD. :wink:. Pomogło dokładne przestudiowanie specyfikacji i zrobienie paru zmian w funkcjach sterująych. Załączam plik z wszystkimi funkcjami. Komunikacja z SD zrobiona na Atmedze8.
Wystarczy ATmega8 + ENC28J60, ale optymalnie ze względu na ilość portów ATmega16 + ENC28J60. Do tego jeszcze stos uIP, parę dni i sprawa załatwiona.
http://obrazki.elektroda.net/43_12786005... Atmega fusebit doctor, jak sama nazwa mówi, to urządzenie do naprawienia nieumiejętnie przestawionych fusebitów w mikrokontrolerach z rodziny AVR. Największymi problemami jest ustawienie nieprawidłowego źródła zegarowego (fusebity CKSEL), wyłączenie programowania SPI (fusebit SPIEN), lub ustawienie pinu...
Wejdz w zakladke config i zobacz co masz w fusebitach , po erase fusy sie kasuja wiec musisz je ustawic i zaznaczyc prog config . Jak masz fusy wyzerowane to prawdopodobnie chrzani mu sie komunikacja przy weryfikacji . Fusebity sa brdzo wazne dla pracy procka - wiec poddaje temat przemysleniu .
Wysyłanie danych działa... Jesteś tego pewien? Funkcje, które przedstawiłeś w ogóle nie korzystają z rejestru TWSR, więc nie wiesz, co dzieje się na magistrali. Nie sprawdzają nawet, czy układ slave odpowiedział bitem potwierdzenia. Samo wysłanie danych na magistralę nie oznacza, że transmisja przebiegła prawidłowo i że układ slave prawidłowo odebrał...
No jak masz tyle danych w SRAM to nie dziw, że nie działa. ATmega8 ma tylko 1k pamięci SRAM. Proponuję przenieść je do FLASH. Poza tym w kodzie masz wewnątrz funkcji 'main' kod innych funkcji (IntToString, its). Kod tych funkcji musisz przenieść poza funkcję 'main'. To tak na początek :)
chcialbym zrobic urządzenie ktore mogloby byc sterowane innym. to pewnie duzo wam nie mowi, ale chodzi mi o to zeby mikrokontroler ATmega8 otrzymywał polecenie od np. kompaalbo innej atmegi i wykonywał pewne instrukcje. myslalem zeby zrobic to tak, ze atmega nie robiłaby nic (bo nie ma takiej potrzeby) az do momentu otrzymania przerwania. kolejnym krokiem...
cyberdar<< 1) RS485 to jedynie specyfikacja elektryczna komunikacji, a nie protokół, wymaga specjalnych konwerterów, a sama komunikacja i tak pozostaje do zrobienia, to zupełnie inna bajka. 2)To akurat racja :) Myśle że nie ma sensu komplikować tutaj całości wprowadzając transmisję asynchroniczną, ponieważ będzie ona całkowicie programowa, wymaga...
Proponuję zastanowić się czy mikrokontroler będzie tylko i wyłącznie czekał na przyciśnięcie przycisku czy robił coś jeszcze poza tym. Jeżeli tylko i wyłącznie będzie oczekiwał na przycisk to porty ustawiasz jako wejścia i sczytujesz stany. Natomiast jeżeli zajmiesz go czymś to proponuje wykorzystać przerwania. Nowsze mikrokontrolery (potomki Atmega8...
Mam problem z połączeniem dwóch ATmeg8 za pomocą sprzętowego TWI. Otóż chciałbym połączyć dwie ATmegi, z których pierwsza - SLAVE TRANSMITTER - obsługuje akcelerometr poprzez ADC i przekazuje dane drugiej - MASTER RECEIVER - która to z kolei wyświetla dane na wyświetlaczu LCD. Przewertowałem elektrodę, google, datasheeta ATmegi i znalazłem wydawałoby...
A czy może ktoś wie jaki programator wybrać w arduino ide? Zacznij od analizy "dlaczego potrzebujesz bootloader?". Jeżeli docelowo będziesz używał tego programatora w środowisku Arduino, to wpisywanie bootloadera do processora nie ma uzasadnionej potrzeby. Bootloader będzie tylko zajmował miejsce w pamięci flash processora. Bootloader umożliwia komunikację...
Witam. Mam prośbę do doświadczonych użytkowników forum o oszacowanie rozmiaru programu (pliku wynikowego), którego zadaniem ma być wykonywanie pomiarów z 2 czujników temperatury, sterowanie dwoma wyjściami pwm i dwukierunkowa komunikacja przez bluetooth (wysyłanie pomiarów do innego urządzenia, przyjmowanie od niego ustawień). Interesuje mnie, czy...
Cześć. Chce przesyłać dane od jednej do drugiej atmegi. Złożyłem na 2 stykówkach, zasilam je z tego samego źródła. Podłączyłem TX-RX, RX-TX i chciałbym osiągnąć stan taki - 1 Procesor 1 zmienia stan na diodzie 2 Wysyła info że zmienił 3 Procesor 2 odbiera bit 4 Jeżeli odebrany bajt to '1' to procesor 2 zmieni stan swojej diody W związku z tym napisałem...
no wiec tak, mam stacje dokujaca do siemensa sl45i( z innymi siemensami z "duzym" gniazdem tez dziala) bede probowal ja podpiac do uP oczywisce w kolejnosci avr -> max232 -> stacja dokujaca -> telefon. jezeli odpali komunikacja to znaczy ze jest za niski poziom tx w telefonie. a potem to sie bede martwil jak podniesc to napiecie. zajrzyj rowniez tu...
http://obrazki.elektroda.pl/3014732000_1... witam, Proszę o pilną pomoc w uruchomieniu komunikacji między dwoma atmegami. Sklejam projekt inzynierski (quadrocopter)i prace staneły na module komunikacji radia z plytą główną po i2c. W skrócie ; -odbiornik rc 2,4GHz daje na wyjsciu 8 PWM -konwertuje PWM na PPM -atmega8 analizuje PPM i...
Mam ATMega8 i podłączony do niego wyświetlacz LCD (8 znaków, 1 linia). Po wpisaniu poniżeszgo programu nie ma żadnej konuikacji z LCD. Dane do LCD wysyłane są po 4 bity. Używam kompilatora winavr. Gdzie zrobiłem błąd?? plik lcd01.h #ifndef LCD_H #define LCD_H #include <avr/io.h> #include <stdlib.h> #include "avrlibdefs.h" #include...
Witam. Ostatnio zainteresowałem się komunikacją uP z innymi urządzeniami i napisałem prosty program do obsługi Atmega 8 - PC( Labview). Problem polega na tym ,że potrafię przesłać ramkę danych ale w jaki sposób zaadresować ją do konkretnego urządzenia ? Myślałem o tym by każdemu urządzeniu nadać jakiś unikatowy adres i przesyłać kolejno ramkę adresu...
Jakieś 4 dni męczyłem się żeby uruchomić transmisję pomiędzy Atmegą a kompem po rs232. Niezmiernie zaskoczyło mnie to, iż wszystko zaczęło działać gdy bity:UCSZ0,UCSZ1,UCSZ2 ustawiłem na 0. Czyli (według informacji Atmela) ramka danych miała 5 bitów, a przesyłałem dane 8 bitowe. Przy ustawieniu tych bitów na ramkę z 8 bitami danych nic nie chodzi:nie...
Witam, mam taki projekt do zrobienia w którym muszę miedzy innymi wysłać informacje z ATMEGI-8 do komputera. Napisałam krótki program który powinien wysyłać co 5 sekund znak '5' przez TxD procesora: #include <avr/io.h> #include <util/delay.h> #define F_CPU 1000000 //częstotliwość zegara w Hz #define UART_BAUD600 //prędkość transmisji #define...
Witam, mam taki kod programu, który skleiłem z fragmentów znalezionych w Internecie: Niestety dzieje się tak tylko 34 razy od momentu uruchomienia mikrokontrolera. Dane z terminala: p0p927p1020p1023p1023p1023p1023p1023p102... 1023p1023p1023p1023p1023p1023p1023p1023p... 3p1023p1023p1023p1023p1023p1023p1023pppp...
Witam, Tworzę prosty nadajnik i odbiornik do sterowania wykorzystujący do tego dwie Atmegi8. W nadajniku mam potencjometry. Sygnal jest konwertowany przez ADC i nastepnie wysylany do odbiornika, gdzie generowany jest sygnal PWM do serwomechanizmów. Problem polega na tym żeby odbiornik rozróżniał, z którego potencjometry wysyłana jest wartość i żeby...
Witam Musze wykonac na zaliczenie przedmiotu nastepujace zadanie, mam w ukladzie dwa procesory Atmega8, pierwszy procesor mierzy napiecia za pomoca wbudowanych przetwornikow i jest polaczony z drugim procesorem za pomoca programowego UARTu. Drugi procesor ma podlaczony LCD i wyswietla przeslane wartosci napiec. Problem w tym ze procesor albo zle interpertuje...
Witam, Mam następujący problem, podpiąłem Atmege8A i Arduino magistralą I2C - oczywiście rezystory podciągające 4.7k zastosowane - prosty układ. Atmega ma działać jako urządzenie Slave a Arduino jako master. Tu listingi kodów: Arduino [syntax=java] #include <Wire.h> byte blad, adres; int urzadzenia; void setup() { Wire.begin(); Serial.begin(9600);...
Oto sposób, którym na 99% ożywisz procesory. Podaj na wejście XTAL1 przebieg prostokątny o częstotliwości ok. 1MHz z zewnętrznego generatora lub z działającego procka i użyj programatora STK200. Jeśli będzie komunikacja musisz zmienić fusy dotyczące taktowania (wewnętrzny RC czy Xtal). Potem odłączasz generator i sprawdzasz. Możesz spróbować z inną...
Może, ktoś z kolegów podpowie, bo nie mam pojęcia dlaczego nie mogę skomunikować Atmegi 8 z Atmegą 16. Atmega16 wysyła przez RS jednoznakowy string i druga Atmega go odbiera i realizuje sekwencję programu związaną z tym poleceniem. po wykonaniu ma odpowiedzieć tym samym znakiem, że polecenie zostało zrealizowane i tu jest problem. Pierwsza Atmega informacji...
Witam. Posiadam ATmega8 i usiłuje się nim komunikować z komputerem poprzez port szeregowy. W jedną stronę (tj. od kontrolera do komputera) działa bezproblemowo, a w drugą niestety nie działa. Między kontrolerem a portem jest #include <avr/io.h> #define F_CPU 1000000 /* 1MHz zegar procesora */ #define CYCLES_PER_US ((F_CPU+500000)/1000000)...
Witam. Czy ktoś próbował komunikować się przez rs232 pomiędzy atmegami lub z pc jeżli będzie wykorzystany zegar wewnętrzny w Atmega8 - chodzi mi o to, jak bardzo błędna jest transmisja np. 19200bps to przy częstotliwości 4MHz lub 8MHz to błąd 0,2% - wg. pdf ale dochodzi błąd samego zegara. Potrzebuję się z tą prędkością komunikować pomiędzy procesorami...
Witam W pierwszej kolejności proszę o trochę wyrozumiałości, wszystko co wiem o elektronice nauczyłem się z internetu i dzięki Wam ;) Nauczyłem się już pisać wsady w Bascom, i zrobiłem kilka projektów na atmega, mój nowy projekt wykorzystuje kilka mikrokontrolerow. Każdy z nich odpowiada za inne czynności, opracowałem już sposób komunikacji miedzy nimi...
Witam wszystkich. Parę dni temu kupiłem płytkę z generatorem AD9850 dokładnie taką: [url=http://electropark.pl/generatory/30... Po podłączeniu do mikrokontrolera ATmega8 i napisaniu prostego programu nie otrzymałem żadnych przebiegów wyjściowych. Próbowałem przesyłać dane najprościej...
(at)Mlotek Przede wszystkim pamiętaj, że dla master SPI najpierw pin SS należy ustawić np. na wyjście, a dopiero potem konfigurować MSPI.
Dzięki za wstawkę. Mam pytanie, mam np. wszystkie wejścia adresowe podłączone do masy to w takim przypadku wywołanie funkcji będzie wyglądało tak:? pcf8574_set_outputs(0x22,0b01111111) (na wyjściach pojawią się stany wysokie?) Adres dla PCF8574A wygląda tak?: 0111(A0)(A1)(A2) Czy jest możliwość zamiast danych wyjściowych podać np jakaś zmienna wartość,...
Czym jest spowodowany fakt iż nie dostarczając napięcia do dsa " pracując w konfiguracji dwóch linii danych z podciągnięciem i masa " na pc czujnik działa ok a po podłączeniu do up nie można odczytać danych? Komunikacja jest poprawna ponieważ jest możliwe odczytanie id dsa. Ogólnie tym, że połączenie w trybie dwuprzewodowym (pasożytniczym) wymaga bardziej...
http://obrazki.elektroda.pl/8267947700_1... Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał...
http://obrazki.elektroda.pl/5162098300_1... Bluerider to pojazd sterowany przez interfejs bluetooth – można się z nim połączyć przez komputer bądź telefon komórkowy. Posiada wbudowaną kamerę z możliwością obrotu w dwóch stopniach swobody: góra-dół, prawo-lewo. Część elektroniczną wykonałem w taki sposób, abym mógł się na nim uczyć...
http://obrazki.elektroda.pl/3790705300_1... Myślę że możesz :) UARTnie jest taktowany kwarcem , tylko pamiętaj o tej samej prędkości iw programach
http://obrazki.elektroda.net/94_12891659... Witam, własną konstrukcję prezentuje na elektrodzie po raz pierwszy, jestem otwarty na wasze opinie, pomysł na konstrukcję miałem już dawno temu, kupiłem wyświetlacze, jeszcze w szkole zrobiłem płytkę pod wyświetlacz (co zresztą widać) ale późnej zabrakło i wiedzy i chęci. No i ostatnio zafascynowany...
Witam, Czy jest możliwa komunikacja z ATMEGA8 po SPI 3 wire? Przetwornik nie ma wejścia danych, ma tylko wyjście. Komunikacja po SPI jest dla przetwornika możliwa, ale jak połączyć ATMEGA?
Oczywiście, masz rację. Można ustawiać całe porty razem lub każdy bit po kolei. Ja tylko miałem wątpliwości (i nadal mam), czy kompilator poprawnie rozumie ten zapis: #define DIR_MOSI DDRB.3 #define d_OUTPUT 1 void SPI_MasterInit() { DIR_MOSI = d_OUTPUT; } i wygeneruje rozkazy do ustawiania odpowiedniego bitu w porcie. Pozdrawiam
Witam, W żadnym temacie na elektrodzie z komunikacją bezprzewodowa nikt nigdy nie udostępnia kodów (nie wiem dlaczego). Męczę się od kilku dni z przesłaniem ramki. Mam moduły 433 MHz, te najprostsze, ale na razie próbuje to zrobić po kablu. Dane są kodowane w manchester, funkcja kodująca działa poprawnie, ale nie mogę się poprawnie zsynchronizować....
Tutorial do avr taki znalazłem: http://avr.elektroda.eu/?q=node/8 Jak byś czegoś w sieci szukał, to raczej unikaj tutoriala z patron.net, uczy złych nawyków i jest nieco nie na czasie. Pomiar częstotliwośći na AVR realizuje się w miarę łatwo, przy wykorzystaniu timerów, jeden timer pracuje jako licznik impulsów z zewnątrz, a drugi odmierza czas, mozna...
Oczywiście, że przestawiłem Fuse Bit'y co do programów: Pisanie kodu: AVRvStudio Kompilacja: WinAVR Wgrywanie: AVR Burn-O-Mat Jutro dostanę rezonatory o zerowym procencie błędu i sprawdzę czy w tym był problem, przy rezonatorze 16MHz każda konfiguracja komunikacji zawodzi.
Witam Czy komunikacja między 2 avr'kami z różnym zegarem taktowania będzie prawidłowa ? Atmega8 będzie taktowana zegarem wew. 8MHz ,a atmega16 16MHz
1. Wewnątrz to są generatory na RC, a nie "kwarce" (rezonatory kwarcowe). 2. Stabilność takowego zegara systemowego jest mierna, należy zczytać wartość kalibracyjną dla 8 MHz i wpisywać ją w rejestr OSCCAL po każdym załączeniu zasilania, co i tak nie wróży sukcesu przy zmianie temperatury otoczenia.
Tym samym wyświetlacz wyświetla głupoty. Co może być tego przyczyną? Przewody ma "byle jakie", kawałek skrętki o długości ok 20cm (domyślnie chciałbym dać taśmę ok 1.5m dlatego prędkość taktowania SPI jest dzielona przez 128). SPI na 1.5m (?) - pokaż lepiej schemat i podaj częstotliwość taktowania mikrokontrolera. Programu nie sprawdzałem.
Witam! Posiadam układ Si4711 (3x3mm) który jest na raz generatorem RF, syntezerem, cyfrowym koderem stereo, koderem RDS, przetwornikiem A/C, cyfrowym limiterem audio, posiada wejścia audio analogowe i cyfrowe. Możliwa jest komunikacja za pomocą SPI, 2wire i 3wire. Do tej pory w mojej praktyce korzystałem tylko z 1wire bawiąc się zazwyczaj DSem do pomiaru...
Pokaż aktualny schemat i program (kod źródłowy).
a czy jest możliwość zrobienia z niego kompletnej przejściówki USB<=>RS232?
źle podpiąłeś tego max232, powinno być RXD (uC) -> R1OUT (MAX232), R1IN -> pin 2 (DB9) TXD (uC) -> T1IN (MAX232), T1OUT -> pin 3 (DB9) pin 5 (DB9) masa połączenie kablem NULL-MODEM Ustaw sobie w terminalu 8 bitów danych (data bits) i parzystość (EVEN) i ten pierwszy program ruszy. MAX'y są bardzo odporne na złe podłączenie, tak że po poprawie powinno...
witam zaznaczę, że zaczynam z uC na co dzień bawię się PLC zmontowałem sobie układ na płytce stykowej wgrałem prosty program z kursu który znalazłem w necie /* przykład 2.1 "leds.c" */ /* 8 diod LED przłączonych do portu D */ /* ATmega 1MHz */ #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> int main(void) { /* Wszystkie...
:arrow: tdv bolek nic nie wspominal o 2ch przewodach....
Witam i proszę o pomoc. Przeglądałem forum i nie znalazłem nic konkretnego odnośnie komunikacji między np. atmegami. Obecnie bawię się atmega8 i atmega16. Proszę o praktyczne uwagi jaka komunikacja? Czy spi, czy i2c, czy może inaczej? Bardzo proszę o kodzik w bascomie dla obu procków(zakładam narazie komunikację między dwoma atmegami8). To co próbowałem...
Witam. Mam następujący problem z niedziałającym TWI. Mam kod na atmegę w C. /* Czujnik ultradzwiekowy sterowany z magistrali i2c C= 2010 Grzegorz Eliszewski grzegorz(at)eliszewski.pl esio.eu */ #define F_CPU 12000000UL // czestotliwosc kwarcu 12MHz #include <avr/io.h> #include <util/delay.h> // obsluga opoznien #include <compat/twi.h>...
Nie widzę nigdzie config SPI. Może powinieneś dopisać konfigurację w kodzie.
komunikacja rs232 atmega8 atmega8 komunikacja rs232 atmega8 komunikacja radiowa
aficio skanowanie twain montaż głośników samochodzie zafira wentylator chłodnica
modulacja częstotliwości modulator częstotliwości
Birkfeld BR93000 – moc agregatu 6,7 kW, cena archiwalna 1000–1800 zł Jak usunąć komunikat "WAIT 1H" w radiu Nissan Micra 2003