Gdzies juz chyba widziałem, jak napisałeś coś w stylu, że "ogólnie wiadomym jest, że bascomowe SPISLAVE nie konfiguruje tak jak potrzeba" . Ja o tym czytałem pierwszy raz... Mogę wiedzieć której wersji Bascom używasz jeśli nie najnowszej 2085? W SPI najważniejsze jest to, że to master taktuje slave`a. Dlatego nie bez powodu w komendzie konfiguracyjnej...
Zastosuj bufory 74HCT125 na liniach SPI sterowane z Mastera i gdy Master je wyłączy to Slave nie będzie dostawał "dziwnego" zasilania po liniach SPI.
Jesli chcesz wykorzystac sprzetowe I2C (TWI) w ATmega8 to wszystko ustawiasz za pomoca odpowiednich rejestrow. Jesli ATmega bedzie pracowala w jako SLAVE to za pomoca odpowiedniego rejestru ustawiasz jej adres. Poczytaj w doumentacji od uC.
IMHO jeśli się krzaczy to wyraźnie jest problem z rzeczywistym baudrate. ATMega jest taktowana z zewnętrznego kwarcu? Przy synchronicznym USART normalnie ustawia się szybkość, przy czym slave jest taktowany z mastera, więc na slave szybkości ustawiać nie trzeba.
Wystarczy, że jedna atmega będzie masterem a reszta to slave'y (lub w twoim wypadku 1). Master musi wysłać komendę i zacząć nasłuchiwać na odpowiedz [i tak w kółko] - a slave cały czas nasłuchiwać i nadać komunikat tylko po otrzymaniu komunikatu od mastera po czym znowu tylko nasłuchiwać. Można to zrealizować bez przerwań.
Witam, Arbitraż na szynie I2C jest potrzebny tylko w przypadku implementacji układu MultiMaster. W przypadku gdy jest jeden Master i wiele układów Slave (najczęściej spotykany przypadek) arbitraż nie jest potrzebny. W układach ATMEGA szyna I2C (TWI) jest zaimplementowana sprzętowo ale tylko na najniższym poziomie (typu "wyślij START, wyślij STOP, odbierz...
Oczywiście, że można. Jedena z ATMeg musi pracować jako slave I2C. Ściągnij sobie z Helionu przykłady do mojej książki, masz tam konfigurację w której połączone są dwa procesory przez I2C.
Witam wszystkich! 1. Czy przy komunikacji dwóch procesorów poprzez UART można dopuścić sytuację, że jeden procesor (atmega 8 ) będzie pracował na wewnętrznym oscylatorze z tą samą częstotliwością co atmega 16 na rezonatorze kwarcowym ? Tak, ale możliwy transfer będzie zależał od dokładności tego oscylatora - wewnętrzny jest mniej dokładny. Config Com1...
Cały problem jest w tym żeby te dwie ATmegi się zsynchronizowały. Przerwanie od SPI występuje po zakończenia transmisji pierwszego bajtu. Zanim nastąpi obsługa przerwania to pierwszy bajt zostanie utracony. Nie mamy też gwarancji że dwie Atmegi "wystrzeliły" :) równocześnie i Slave nie czyta np. 4 bajtu nadanego przez Mastera. Jeżeli to by była np....
... Nie wiem gdzie błąd :( Bo i skąd możesz wiedzieć , skoro nie sprawdzasz co Ci mówi TWSR :( Np. i2c_send(0b10100000);//<- adres fizyczy 00, 1 bit adresu słowa 0 + Write A skąd wiadomo , że SLAVE odpowiedział ACK :?: Nie przypadkowo , wszystkie funkcje i2c (prócz i2c_init i i2c_stop) zwracają nam zawartość rejestru TWSR. Pozdrawiam Piotrek
Sprawa jest prosta, odpalasz moduł BT w trybie Slave łączysz go z ATmaega przez port szeregowy i to w zasadzie tyle. Następnie parujesz BT z telefonem i w efekcie masz transparentny kanał komunikacyjny (tzn. nie interesuje Cię co się dzieje pomiędzy BT a telefonem). Dalej pozostaje pisanie aplikacji na Atmega i telefon.
Namieszałeś :wink:. ...odpowiada poprawnie na zapytania Master-a ale po kilku minutach zaczyna krzaczyć. Ale co śmieszniejsze krzaczenie widać na LCD Mastera , ale kiedy jednocześnie podglądam w terminalu na PC co się dzieje w sieci to ów moduł odpowiada jednak poprawnie To co "krzaczy"? Master dostaje poprawną odpowiedź i "krzaczy"? Czy Slave wysyła...
Witam. Master to programator, a slave to uC, czyli MOSI to wyjście z programatora i wejście do uC i odwrotnie z MISO. !SS jest używany w przypadku komunikacji z większą ilością układów. Wtedy stan wejścia !SS decyduje czy odbierać dane, czy nie (Slave Select). Ciebie to narazie nie interesuje, więc niech wisi :). Teraz Cię wystraszę. Również próbowałem...
To będziesz musiał się trochę napocić. Po pierwsze jak używasz watchdoga w programie, to musisz w jakiś sposób sprawdzić czy reset aby na pewno służył do upgrade'u. Możesz to zrobić np przez zapis do eepromu jakiejś wartości, odczyt i odczyt jej bootloaderze (pamiętaj żeby bootloader ją resetował). Dobry by był też mechanizm który by pozwolił na zrezygnowanie...
2. RS232 to połączenie tylko dwóch urządzeń. Przynajmniej z założenia. A jeśli się uprę, i podepnę pod DTE (komputer) 16 urządzeń (DCE)? Na wysłaną daną oczywiście zareaguje tylko jedno DCE, które dokona programowej identyfikacji adresu, ukrytego, na 4 pierwszych bitach otrzymanej danej? Kierunek PC>>Odbiorniki OK pod warunkiem, że obciążalność RS232...
Czy Spi w atmega w trybie slave generuje zegar?
Dla poprawienia rodzielczości proponuje zastosować starą poczciwą metodę skalowania zgrubnego i dokładnego. Tzn. Przełacznik zakresu na jakiejś drabince stałorezystancyjnej lub przełączniku CMOS 4051 i na koniec finish na PWM. Tak jest bardziej kulturalnie. Chociaż z PWM do stabilizacji to troszkę bym polemizował , ale to tylko kwestia klasy urządzenia...
Poczytaj sobie: http://forum.atnel.pl/topic1183.html
(at)kaamil1984 W RTU nie ma żadnych STX ani ETX, a CRC jest 16 bitowe. Chyba pomyliło ci się z innym protokołem. Pełen opis protokołu to zaledwie kilka/kilkanaście stron.
Niestety nie ma prawa działać. Jeśli ATMega działa jako I2C slave to musisz nadać jej adres na magistrali I2C i obsługiwać zdarzenia START, RESTART, STOP i write o read na I2C.
Tak mi się też wydaje bo jest to transmisja synchroniczna ale wolę dopytać bo właśnie robię PCB i nie mam miejsce na kwarc. A szkoda mi potem przewodami dołączać kwarc. Bardzo nie chciałbym umieszczać kwarcu na płytce. Dodatkowe pytanie: czy różnica 16MHz kwarc dla MASTERA i 8MHz generator dla SLAVE nie będzie problemem ?
Może przedstawisz kod programu?
http://obrazki.elektroda.pl/6809150300_1... http://obrazki.elektroda.pl/4575909700_1... http://obrazki.elektroda.pl/2450147400_1... http://obrazki.elektroda.pl/2336351100_1... Witam. Przedstawiam projekt w trakcie budowy, może będzie inspiracją dla innych :) Jest to inteligentny dom w...
ADS1256 pracuje w mod1- widać to z DS str6. Dlaczego ATMega slave źle pracuje w mod1 to jest dziwne.
Jeżeli stan nieaktywny na linii SS wymusza stan Hi-Z w ATMeganch pracujących jako Slave to tak. Każda Atmega SLAVE musi mieć osobny pin SS. Czyli musisz mieć 6 pinów SS.
Witam, Mam problem i nie mogę znaleźć odpowiedzi, sam nie wiem co może być nie tak i w internecie na forach nie widziałem podobnego problemu. Mianowicie. Zaprojektowałem układ elektroniczny do sterowania zaworami, zawór działa na 24V i prąd około 63mA. Zawór załączany jest przez tranzystor 2N2222A. Sercem sterownika jest ATMega328P-PU, wszystkie podstawowe...
Witam już po testach - GRATULACJE ;) Jesteś Kolego genialny ;) Wielkie dzięki wszystko teraz śmiga jak trzeba - to jest to. Zrzut analizatora https://obrazki.elektroda.pl/2709336600_... Powtarzalność jest 100% przy tych samych przyciskach ;) Dodano po 2 No to teraz dalej, a może właściwie od początku. Sprzęt audio retro to wieża z 84...
w atmega i2c nazywa sie troszke inaczej poczytaj o TWI jest tego pelno nawet w manualu do atmegi (np 128) sa przyklady zazwyczaj w asm i c wystarczy sciagnac pelny datasheet do procka pozatym nie powinno byc problemu z obsluga w trybie slave poniewaz atmega ma ten interface rozwiazany hardwerowo wiec obsluga jest dosc uproszczona ( atmegi ktore maja...
LCD. Myślę, że dobrze. ATmega zostaje zaadresowana w trybie odczytu SLA+R (Slave Transmitter Mode, bo bit-0 będzie ustawiony), wystąpi przerwanie TWI a w rejestrze TWSR będzie wartość 0xA8 (Own SLA+R has been received; ACK has been returned). Teraz aplikacja powinna wczytać bajt do TWDR i go wysłać, bo to sugeruje adres w trybie odczytu...a tutaj Master...
Co prawda Kolega pisał, że szuka czegoś co będzie działać na jednej linii, ale może warto by się zastanowić nad I2C (TWI)? Zajmie dwa piny, a nie będzie problemu ze slave'ami. Jedna ATmega będzie masterem, każdy slave będzie miał swój adres i po kłopocie. Komunikacja jest ładnie dopracowana sprzętowo, a program do obsługi tego wszystkiego nie powinien...
Prezegladnalem kilka postow dotyczacych rs485 ale rozwiazania nie znalazlem. Moj uklad to PC z przejsciowka do rs485 i dwa atmega 32. Kiedy podlacze jeden slave uklad smiga bez problemow lecz kiedy podlacze drugi slave komunikacja siada ( nic nie gada w zadna strone). Dodam ze ramka zawiera numer slave i odpowiada tylko jeden ( sprawdzalem z jednym...
Tzn. chyba w helpie Bascoma widziałem taki rysunek z wieloma układami SLAVE, tylko ( chyba odnosił ) się do SPI SOFT. Czyli zarówno w SPI SOFT jak i HARD nie ma ograniczenia układów SLAVE ? Tzn. jedynym ograniczeniem jest ilość pinów potrzebnych do identyfikacji układu, czyli CS ? A czy SPI SOFT i HARD mogą razem wykorzystywane ? Tzn. np w takiej sytuacji...
Mam 2 czujniki I2C, które osobno działają na każdej z Atmeg. Mam jeden UART, którym wysyłam dane do PC. Chciałbym zmodyfikować kod do tego stopnia abym miał jedną atmegę obsługującą oba czujniki jednocześnie. Od razu jaśniej :) Czy jeżeli kompas działa jako slave i żyro jako slave to razem też mogą być jako slave a wówczas atmega jest masterem? Teraz...
Stary temat ale podepnę się bo mam podobny problem. Próbuję skomunikować STM32F429 (płytka discovery disco) z Atmegą8 (nie 88). STM Master Reviever <<>> Atmega Slave Transmiter. Wzorowałem sie trochę na kodzie kolegi i trochę na tym tutorialu: http://eliaselectronics.com/stm32f4-tuto... Problem kolegi kolegi...
Witam. ATmega ma sporą rezystancję wejściową, więc podejrzewam ,że w głównej mierze zależy to od długości przewodów.
A może linie od SPI, powinny być podciągnięte rezystorami ? Nie. Rezystory w szereg też nie, kondensatory tym bardziej... ;) Skupiając się na kodzie : - Dlaczego w ATtiny nie jest używane USI w trybie SPI ? Przykłady w C są w nocie katalogowej... (Three-wire Mode) - Gdzie jest ustawiany bitrate dla SPI mastera ? - Ustaw tryb slave w ATmega (I tak jest...
Witam, Mam taki dylemat. W projekcie muszę wykorzystać Attiny2313 i Atmege32. Będą musiały ze sobą się komunikować. Wybrałem, że za pomocą SPI. Attiny jako slave i atmega jako master. Będzie jeszcze jeden slave - enc28j60. Połączyłem MOSI z MOSI, MISO z MISO, SCK z SCK no i dodatkowo dwie inne linie, INT w jedna, i INT w druga stronę - tak w razie czego...
Witam, Mam system modułów ZigBee, gdzie występuje jeden Master i wiele układów Slave. Master obsługiwany jest przez procek ATmega dzięki interfejsowi TWI (I2C). Układy Slave mogę wysyłać dane w dowolnej chwili do Mastera a ten informacje przesyła do mikrokontrolera-hosta, który albo aktualizuje sobie stan znanych mu układów Slave, albo pozwala użytkownikowi...
W sumie sprawa prosta. Oba procesory łączysz magistralą I2C (SCK obu procesorów razem i SDA też razem połączone). Atmega 8 musi pracować jako MASTER natomiast ATmega16 jako SLAVE. Czyli procesor ATmega8 będzie wysyłał dane do ATmega16. Oczywiście można i odwrotnie to zrobić tzn. że ATMega16 jest MASTER i ATmega8 SLAVE. Wówczas to ATmega16 będzie zgłaszał...
WItam, czy możliwe jest zrealizowanie komunikacji między procesorem atmega 8 pracującym z wew oscylatorem 8mhz Jak już ci napisano w przypadku ATMegi nie jest zalecana praca z generatorem RC, potrzebny jest kwarc. Chyba, że... zastosujesz synchroniczny interfejs USART. Wtedy oprócz Tx i Rx masz jeszcze linię CLK. ATMega to całkowicie wspiera, a USART...
No zobaczę. Właśnie próbuję sam napisać ten UART. O tym SPI też myślałem, ale jako np. atmega jako master i ileś attiny2313 jako slave'y, każdy slave odbiera swoim uartem, analizuje dane i daje przez spi.
witam, próbuję osbłużyć akcelerometr ADXL345 po i2c, ale komunikacja zawiesza się po pierwszej komendzie i w ogóle program nie wchodzi do pętli while(1). jak zakomentuje linijkę: i2cTransmit(ADXL345, POWER_CTL, 0) w mainie; to ATmega wysyła po USARCIE dane bez problemu, w przeciwnym razie zawiesza się. o to listing programu: ATmega168 + 20 MHz, na samym...
Witam, przepraszam, że sie nie odzywałem - pochłonęły mnie świąteczne obowiązki. Dziękuję za Wasze podpowiedzi. Udało się zmusić wszystkie czujniki do współpracy i wypuścić to w LAN. Jedyny problem jaki pozostał to jedna szyna SPI na której pracuje moduł Ethernet i powinien pracować wyświetlacz matrycowy. Niby to działa ale gdy chce coś wypuścić na...
Witam, Temat wszędzie wałkowany, a jednak nigdzie nie znalazłem rozwiązania mojego problemu. Mam funckję, która w domyśle ma odbierać dwa bajty ze slave'a. Robi to tak: SPDR = addr; while(!(SPSR&(1<<S... d=SPDR; SPDR = addr; while(!(SPSR&(1<<S... d+=SPDR<<8; addr jako...
MISO z MOSI nie powinno się zamieniać. Wynika to z nazwy - MOSI = master output slave input, miso = master input slave output.
Ja bym to zrobił tak: PCF co 1s wysyła sygnał przerwania do ATMega8 i wtedy ATMega8 odczytuje czas. ATtiny2313 jest skonfigurowany jako slave. To da się zrobić w Bascomie- nie wiem jak teraz ale parę lat temu można było dokupić programik do zrobienia procesora jako slave. ATMega po odczycie czasu z PCF wysyła aktualny czas do ATtiny. Wtedy ATtiny nie...
Z tego co wiem transmisja radiowa w przez moduły RFM01 i RFM02 odbywa się poprzez magistrale SPI. Takie może retoryczne pytanie, jeśli w Attiny2313 pod piny z SPI mam podpięty LCD, to będę miał zakłócenia? Zmienić lokalizacje LCD? Próbuje radiowo połączyć attiny2313 MASTER i atmega16 SLAVE. Na początku chcę połączyć przewodami żeby sprawdzić jak działa...
Jeżeli master nasłuchuje a slave'y nadają to jak wysłać do slave'a sygnał, który ma być reakcją na to co on nadał? To nie master nasłuchuje a slave'y. Master odpytuje po kolei wszystkie slave'y. Jeżeli któryś slave ma coś "do zrobienia" master dostaje odpowiedź od niego i odpowiednio reaguje. Jeżeli jeden slave będzie chciał coś "zrobić" w drugim slave...
I2C albo 1-wire jest dobre do takich zastosowań - bezkonfliktowe. Jeśli mamy master-slave to wszystko jest bezkonfliktowe. W sieci peer-to-peer byłby kłopot i istotnie I2C miałoby przewagę (chociaż I2C w ATMEga chyba nie wspiera arbitrażu). 1-wire slave z kolei łamie licencję na 1-wire - protokół ten możesz wykorzystywać wyłącznie z produktami 1-wire...
Wiesz, nie znam się na BASCOMie, ale z tego co tu widzę : Slave = &H55 To jest w BASCOMie zapis heksadecymalny ? Bo jeśli tak, to : 55h = 0101 0101b i tu masz błąd. "Pierwszym bajtem jest zawsze nadawany przez urządzenie master adres urządzenia slave, który oprócz 7 bitów właściwego adresu zawiera bit kierunku transmisji na najmłodszej pozycji. Wartość...
atmega master slave modbus slave atmega rs232 atmega slave
kondensator trzeszcz zabezpieczenie ponownym uruchomieniem syczy prawy kanał
zmywarka whirpool mruga start kabel brake radio
Zamek klapy bagażnika nie otwiera się w Golfie 6 - przyczyny i rozwiązania Jak zresetować pilot Onkyo TX-RZ810?