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...
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ń.
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.
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....
(at)dawid.barracuda Pokaż jak ustalasz szybkość UART na XMEGA. Jeśli masz wolne piny to zawsze prościej jest użyć trybu synchronicznego UART. Wtedy master generuje zegar dla slave i nie trzeba się bawić w precyzyjne ustawianie baudrate.
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, 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...
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...
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...
Może przedstawisz kod programu?
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...
SPI działa tak, że tylko w trybie master generuje sygnał zegarowy. Taka jest "natura" interfejsu;) I jeśli ATmegę wprowadzisz w tryb slave, to będzie ona oczekiwała na sygnał zegarowy od układu master.
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...
MISO z MOSI nie powinno się zamieniać. Wynika to z nazwy - MOSI = master output slave input, miso = master input slave output.
Witaj Nie ma to znaczenia czy pracuje jako slave czy master i to chyba w żadnym protokole. jeśli juz jest jakieś taktowanie synchronizujące to i tak generowane jest przez Master'a Pozdrawiam
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, 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...
Witam serdecznie W sieci znalazłem przykład dla modbus rtu tylko avr jest jako MASTER [url=https://wiki.mcselec.com/bavr/MAKEM... a potrzebuję zobaczyć jak wygląda przykładowy program gdzie mikrokontroler jest jako SLAVE w modbus RTU czyli dysponuję jakimś adresem gdzie mogę zapisywać i odczytywać z mastera
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ł...
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...
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. Mam problem z obsłużeniem bibliotek Atmela do magistrali TWI dla mikrokontrolerów z rodziny Xmega. Próbuje odebrać dane z Mastera. Master to Atmega, która jest na pewno skonfigurowana poprawnie, gdyż dane odbierałem na innej atmedze. Problem pojawia się gdy chcę je odebrać na Xmedze, ze względu na moje początki z tym mikrokontrolerem. Może ktoś...
Witam mam problem - usiluje zrealizowac na atmedze 8 odczyt danych z tablicy po spi do mastera .. tylko nie jestem w stanie odpalic spi na atemedze w trybie slave tj : chce aby atmega wysylala ciagle dane mastera < nie uzywam MOSI w masterze > poprostu atmega robi swoje i podczas podania stanu 0 na pinie SS powinem odczytaj sobie bajty... ale...
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...
Witam, natknąłem się na następujący problem: w [url=http://www.propox.com/products/t_77... standardu wtyczki SPI widać czarno na białym, że są wykorzystywane sygnały: MOSI SPI - sygnał danych Master wy / Slave we, LED - Sygnał sterowania diodą LED i multiplekserem RST - Sygnał RESET układu docelowego SCK SPI - sygnał zegarowy MISO 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...
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 jako interfejs SPI (dedykowane piny) posiada: PB5 SCK (SPI Bus Master clock Input) PB4 MISO (SPI Bus Master Input/Slave Output) PB3 MOSI (SPI Bus Master Output/Slave Input) PB2 SS (SPI Bus Master Slave select) Na moim wyświetlaczu EA_DOGM081-A: CLK, SI, RS, CSB http://lcd.elementy.pl/pdf/matrycowe/dog... nie wiem jak to podłączyć
Tak, da się. Jeden z procesorów (ważniejszy) jest zawsze masterem I2C, natomiast drugi, który uznasz za mniej ważny, konfigurujesz jako slave i nadajesz mu adres nie będący w konflikcie z niczym innym co jest podpięte do tych linii. I wtedy master może przesłać i/lub odczytać jakieś dane z układu slave, którym będzie druga "atmega".
Schemat jest prosty Jedno Arduino podłączone do pc przez usb i dwa Arduino podłączone jako slave do tego pierwszego. Na linii mam kabel 2x4 pary. Informacje muszą płynąć z slave przez mastera do pc i w drugą stronę. W kodach tak już namieszałem że są bezużyteczne. Jedno co działa to komunikacja pc - master przez usb. Jeżeli są to Arduino Uno, to tylko...
Dziękuję za załączniki. Akurat znam je, bo na ich podstawie robię próby opisane w tym wątku. Wciąż nie wiem, dlaczego program nie chce wysyłać kolejnych instrukcji bez (znacznych) opóźnień między nimi. Myślałem nawet, że to Slave nie wyrabia z wykonaniem funkcji, ale jak pisałem "zwykła" Atmega wysyła te dane bez problemu, wystarczą jej opóźnienia "...I2C_WaitTillStopWasSent..."....
Zbytnio nie rozumiem co ty tam podciągasz? :) Czy master i slave są podłączone w taki sposób?: RXD - TXD TXD - RXD GND - GND
Według mnie można spróbować bez jakichkolwiek translatorów. W I2C stan wysoki na liniach SDA i SCL wymuszany jest przez rezystor podciągający. Urządzenie, także master pracują w trybie otwarty kolektor. Wystarczy więc, że swoją linię SDA podciągniesz do 3V, ATmega już sobie poradzi z odczytywaniem stanów, a także ich wystawianiem.
Dobrym rozwiązaniem byłby układ ADM2483BRWZ (RS485) + protokół Modbus. Aplikacje testujące znajdziesz w sieci (Modbus tester). Napisanie programu dla mikrokontrolera też nie jest niezwykle trudne. Najpierw napisz program dla slave (serwer), przetestuj go, no i potem można by napisać dla Master (klient).
Problem Poszukuję automatycznego sposobu wymiany (unowocześnienia) oprogramowania w kilku procesorach ATMega8 za pomocą ISP bez odłączania tych procesorów od płytki (będą SMD) oraz bez przepinania kabli i zworek. Proces wymiany oprogramowania ma być wystarczająco prosty aby mógł go przeprowadzić niewtajemniczony użytkownik. Po przeanalizowaniu sporej...
Ok, z grubsza działa, jedna ATmega pobiera dane z sensora z myszki optycznej, druga je wyświetla, czyli komunikacja przez I2C działa. Ale mam parę śmiesznych błędów, a mianowicie jeśli zrobię żeby 1uC wysyłał jakąś stałą liczbę to drugi uC już tego nie odbiera, dziwne bo powinno działać. Programy są takie nieprzewidywalne- natura zawsze stoi po stronie...
daxeno, jak już wszystko polutujesz spróbuj przetestować moduł w trybie master. Mi ciągle nie udało się zmusić modułu do pracy w tym trybie. Robie tak: atr0, atd0, ato0 i dostaje trzy razy OK i nic się nie dzieje, a w zasięgu jest drugi moduł BTM220 w trybie slave (komórka go znajduje). Ktoś ma pomysł co robie źle? Po atf? w trybie master ciągle ERROR...
Witam, drogich forumowiczów. Mam problem z komunikacją kilku urządzeń w sieci rs485. A tak prawdę mówiąc to z komunikacją pomiedzy dwoma, jednym "master" i jednym "slave". Normalnie staram się zadawać pytania w ostateczności na forum Elektroda, ale po prawie 3 tygodniach siedzenia przy problemie, przeglądaniu masy poradników i postów związanych z rs485...
Poczytaj sobie manuala do Atmeg. Albo książkę Baranowskiego "Układy Atmega w praktyce". Oczywiście, sam podłaczałem do magistrali I2C chyba nawet po kilkanaście układów równolegle. Częścią ramki transmisyjnej jest adres układu docelowego. Oczywiście topologia jest taka, że jeden z układów występuje jako master, reszta to slave'y. Tylko master może inicjowac...
Nie ma możliwości, ale nie ma to znaczenia. Wysyłasz kolejne 8-bitowe paczki i to powinno załatwić sprawę. Widzę tu jeden problem - pamiętaj, że aby ATMega działała w trybie master SPI, przed wejściem w ten tryb pin SS należy ustawić jako wyjście. W przeciwnym przypadku na skutek szumów może dojść do przełączenia się w tryb slave na skutek detekcji...
A wiesz co oznacza skrót MISO i MOSI? MISO- Master input Slave output MOSI- Master output Slave input W twoim przypadku Masterem jest programator, Slave to uC. Dlaczego więc Wyjście mastera czyli MOSI porgramatora podłączas do wejścia mastera czyli MISO? http://obrazki.elektroda.pl/8627925500_1... Pin 17 Czyli MOSI - linia wyjścia urządzenia...
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 ! Już ogarnąłem temat uarta. Bez problemu komunikuje dwa urządzenia. Teraz chciałem połączyć w magistrale i więcej układów. RaspberryPi ma być masterem, natomiast 2 do n atmeg ma być slave. Wymyśliłem połączenie jak na załączonym schemacie. Generalnie chciałbym Rpi wysyłać ramkę która zawierała by adres slave, dane do przekazania/funkcje do wykonania...
Tak, są podciągnięte. Problem się robi po dodaniu tej jednej linijki. Wydaje mi się że to będzie problem ze zmiennymi. Dodano po 10 Wystarczy że np. usunę całe menu ustawiania zegara i wtedy adc wyświetla - ale przecież jakoś ten zegar muszę ustawiać. Podobnie ma się sytuacja jak zostawię ustawianie zegara a usunę linijki odpowiadające za wpis do pamięci...
Witam ja ponownie z TWI Slave. Już praktycznie mam to pięknie rozgryzione na ATmegach , ale zauważyłem pewną dziwną dla mnie rzecz bo chyba nie jest ona opisana w PDFkach. Chodzi mianowicie o to jak ATmega ustawiona na sprzętowe TWI Slave reaguje na próbę odczytu z niej danych przez Mastera w trybie REPEATED START otóż gdy robi się zwykły odczyt bez...
Czyli błąd w założeniach projektu - źle wybrany mikrokontroler. Wspomagam się sprzętowo przerzutnikiem D/ Należy albo obsługiwać Onewire w sposób nie wymagający mikrosekundowej precyzji przerwań (czyli przez UART, których zapewne Ci zabrakło), 1) Dlaczego zabrakło, AtMega mają po 2 a nawet 4 uarty. 2) W jaki sposób realizujesz slave na uarcie? Master...
No to juz twoja glowa zeby wiedzial, kazdy uklad ma zbior instrukcji ktore okreslaja co ma w danej sytuacji zrobic, np jak dostaje 0x45 to odpowiedziec 0x35 a jak 0x25 to zapisac nastepny bajt jaki otrzyma itd itp... Jako ze kazdy uklad ma swoj zestaw instrukcji, a avr takowego nie ma by moc pracowac w dowolnej konfiguracji, to sam musisz taki zestaw...
Witam kolegów, Postawiłem sobie pewne zadanie do wykonania i wygląda na to, że będę potrzebował jakiejś rady kogoś kto lepiej zna problem. Chodzi o komunikację mokrokontrolerów ATMEGA przez interfejs SPI. Programuję w BASCOM, gdzie są już gotowe instrukcje do tego. Cały problem wygląda tak: - Mamy 2 procesory ATMEGA8 - Mam tablicę 10 elementową X (elementy...
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...
ESP8266 jest ze dwa rzędy wielkości mocniejszy od AVR'ów I tu muszę niestety bardzo surowo odpowiedzieć. Po pierwsze nie rozumie kolega wyrażeń, którymi się posługuje. Po drugie nie zna kolega rzeczywistej wydajności rdzenia Xtensa (są porównania do AVR i STM), po trzecie nie rozumie kolega ograniczeń tego SoC/MCU. A w porównaniu do tych "słabych"...
ale schemat rs czy 1wire ? RS moze byc "lancuksziem" a moze i byc gwiazda* schemat moge ci machnac wraz z kodem ..jakims ale wiadomo ze w towjej gestii bedzie go poprawic :) 2 mastery w sieci to powazne wyzwanie .. lepiej do tego celu zaprzadz 1 master w formie komputera <zwykla przejsciowka rs232<>rs485 dostepna w avt za grosze> a tu prosze...
SP3SWJ --> no powiem ci , że mnianiuśnie, cukierkowo i coraz bardziej zachęcająco wyglądają te wyniki z tego analizatora, które tu pokazujesz ;) przez ciebie się skuszę w końcu na niego ;) A jeśli chodzi o to co napisałem w C to prawdziwym testem dla moich rozwiązań (bez takiej analizy) było napisanie na PC oprogramowania, które pełni rolę Mastera w...
Teraz testuje programowego uarta na atmedze32 z kwarcem 12MHz i działa wyśmienicie :) Aż zaraz przestawię atmege na wewnętrzny rezonator i zobaczymy jak się będzie zachowywać uart. Nie mam jak tego sprawdzić na razie na attiny13 bo chcąc przestawić zegar, procesor się zablokował... Przestawiłem z 9.6 na 4.8Mhz. W sumie nie koniecznie musi wszystko pracować...
Niestety - położenie dodatkowego kabla nie wchodzi absolutnie w grę. Co do energooszczędności - raczej chyba nie wyda. Potrzebny jest tam minimum atmega + wyświetlacz (LCD, ale lepiej LED 7-segment). Więc zasilanie pasożytnicze (o którym czytałem) - bardzo wątpliwe aby wystarczyło. Co do transmisji jednokierunkowa - niewielkie pakiety danych - aktualizujące...
Tak też uczyniłem. Niestety nic z tego. Działa tylko pierwsze pole wyświetlacza (1,1) i zmieniają się na przemiennie dwa znaki - czarny kwadracik i spacja Wrzuciłem też ten programik do testowania lcd4busy który ma wyświetlić "TEST" - ale efekt ten sam. A próbowałem jeszcze zwyczajnie podłączyć LCD pod port D (bez tej biblioteki), i w ogóle nie chce...
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...
Witam po dłuższej przerwie, Zrobiłem jak zasugerował Coperfield. Miałem z tym mały problem, bo ISSProg, którego używałem odczytał mi same FFFFFF zarówno z flasha jak i EEPROMa, więc myślałem, że Atmega jest zablokowana (może tak jest? ). Pod wpływem chwili przyjrzałem się płytce i zacząłem pisać swój własny soft do tego ustrojstwa. Kiedy już opanowałem...
(at)Markosik20 Dziękuję za zainteresowanie! :-D Nie zrozumieliśmy się. Nie chcę transmitować znaków w czasie rzeczywistym. Druga sprawa - w RS485 masz wiele nadajników, jeden master reszta slave - nie można sobie tak śmiecić na linii (po znaku), to nie buforowany RS232! Inna sprawa, że docelowo przesył będzie w trybie ASCII (później rozszerzę soft o...
Witam szanowne grono forumowiczów. Od pewnego czasu borykam się z problemem konfiguracji SPI. Mam połączoną jedną atmegę8 jako master i 4 jako slave w sprzętowym SPI. Cztery atmegi pracujące w trybie slave zajmują się obsługą wyświetlaczy ledowych (dla każdej atmegi 4 8 segmentowe wyświetlacze obsługiwane multiplekowo). Obsługa samych wyświetlaczy działa...
Witam Mam pytanie do osób mających doświadczenie z optoizolacją na magistrali RS485. Nurtuje mnie pytanie czy zasilanie układów MAX485 może być poprowadzone z magistrali i stabilizowane poprzez stabilizator 5V? Czy takie rozwiązanie sprawdza się w praktyce? Myślałem o przetworniczkach DC-DC 5V-5V w każdym urządzeniu, ale ich koszt jest wysoki (zakładając...
Witam :) Od dwóch dni próbuję dogadać się z ultradźwiękowym czujnikiem odległości "sonar MOBOT-US" firmy Wobit za pomocą interfejsu TWI. Dokumentacja: http://www.mobot.pl/download/Instrukcja%... Zapoznanie się z interfejsem rozpocząłem od lektury kilku stron, między innymi http://www.autokacik.pl/i2c/ i przejrzenia przynajmniej 20. tematów...
Od kilku dni próbuję wymyślić układ który by sygnalizował obecność telefonu komórkowego w pobliżu układu. Chcę to zrobić na module BTM 222 oraz na np. ATmega 8. Pisze w Bascomie i C ale nie mogę nim mądrego wymyślić. Telefon to Nokia na Symbianie – co nie ma znaczenia bo i tak połączyć się nie mogą . Chodzi tylko o to, aby zapaliła się dioda (...
Mecze sie z poprawnym uruchomieniem sprzetowego twi miedzy mega88 i mega128. Wyglada to tak ze mam procek mega128 - MASTER RECEIVER i mega88 - SLAVE TRANSMITTER. Uruchamiam oba procki wysylam start, adres+r czytam 3 paczki po 8 bitow - jest ok. Problem pojawia sie kiedy po tych 3 paczkach wysylam Repeted Start i chce odebrac kolejna paczke. MASTER lcd...
Zacznę od końca - otóż nie można. Transmisja synchroniczna będzie bez specjalnych nadajników/odbiorników linii działać tylko na małe odległości. 1-wire działa na odległości setek metrów. Napisałem też, że zalety z enumeracji urządzeń pojawiaja się jeśli mamy elastyczną sieć, do której możemy wpinać i wypinać urządzenia. Dodano po 7 Podstawową zaletą...
(at)kamyczek - ja też bardzo lubię SPI, jeszcze nigdy nie miałem takich jazd z tym :) Ale OK. Wrzucam co mogę, co może pomóc w rozwiązaniu zagadki... [syntax=cpp] /* * GccApplication1.cpp * * Created: 2015-05-04 22:21:33 * Author: daniel */ #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #define CS_HPORTB |= (1 <<...
Witam, Zapoznałem się z wpisami: - [url=http://www.elektroda.pl/rtvforum/to... - [url=http://www.elektroda.pl/rtvforum/to... Szukałem pomocy także na innych stornach. Problem polega na tym że mam dwie funkcje do obsługi programowo SPI. Do nadawania i odbioru bajtu. Obie działają poprawnie. Próbuję napisać trzecią do...
Te układy działają co najwyżej half duplex i to zrobiłem. RFM73 sprzętowo powtarza ramki z błędnym CRC, potwierdza czy sygnał doszedł. W RFM22 będę to programował bo bez problemu można go przełączać z trybu nadawania w tryb odbioru. Nie widzę za bardzo potrzeby odbierania i nadawania w tym samym czasie choć nie ma tu master i slave (każda czujka w przełączniku...
A samo Buf też jest volatile? W TWDR mastera masz adres slave, bo po prostu master nic nie odebrał. Jesteś pewien, że slawe wchodzi w tryb slave transmit (ST) wielobajtowy? Masz sprzętowy debugger? Jakie są stany rejestru stanu na masterze i slave po kolejnych bajtach? Czysty kod przykładu, bez żadnych modyfikacji działa?
Witaj , wydaje mi się że rozwiązanie problemu leży w pkt 16.3.2 datasheet'u. Jeśli urządzenie jest w trybie master a na pinie SS czyli PB4 będzie stan niski to atmega interpretuje to jako istnienie innego urządzenia w trybie master i przełącza się w slave. Spróbuj utrzymać na pinie PB4 stan wysoki (podciągnij go) lub sprawdź czy nic w układzie nie wymusza...
Witam uruchomiłem połąłczenie między prockami na SPI MASTER I SLAVE. ATMEGA 8535 - Master ATMEGA 8 - Slave. Jeśli ktoś chce programy do obsługi to proszę o info. Teraz będę łączył trzeciego proca jak azdziała to podzielę się informacjami. Dziękuję wszystkin za pomoc i wymianę informacji w temacie komunikacji. Dodano po 41 Witam uruchomiłem połąłczenie...
Witam, Ostatnio sporo się piszę o magistrali CAN. Czy korzystając z ATMEGA 168 i układu MCP2515 można zbudować stację slave i podpiąć do przemysłowego mastera. Czy ktoś z Was coś takiego zrobił? Gdzie szukac informacji na ten temat. Pozdrawiam
RS485 to tylko standard elektryczny. Zwykle po tym standardzie dane przekazuje się za pomocą transmisji szeregowej, z odpowiednią hierarchią master/slave. Po stronie komputera będzie więc to port COM/RS232 (może być wirtualny na bazie FT232RL) + odpowiedni interfejs sprzętowy.
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...
Zdecydowanie nie polecam tego typu sterowania magistralą I2C. Jest to magistrala typu "wired-and" i każdy nadajnik i odbiornik powinien mieć I/O typu "open collector". W przypadku zewnętrznego podciągnięcia pinów magistrali do Vcc sterowanie magistralą I2C lepiej jest rozwiązać w ten sposób, że bity SDA i SCL w rejestrze PORTx (w Twoim przypadku PORTB)...
Układ 74LS07 zawiera bufory z wyjściem OC - które w tym schemacie jest podciągnięte do 3V3 (przez rezystory 4k7). Na tym polega to dopasowanie. Zauważ, że na schemacie który zamieściłeś - linię MISO (Master Input Slave Output) masz odłączoną, więc nie masz informacji z układu który podłączasz (nie odbierzesz nic od twojego RFM70 jeśli jej nie podłączysz...
Na tym moim schemacie jest niestety błąd, Rezystor R33 1K - zrobione podciąganie do GND (bez sensu niestety) powinno być podciąganie do VCC. Poza tym jest ok i działa to właśnie tak w rzeczywistym układzie - zarówno w modułach Slave jak i z układem FT232RL, który stanowi przejściówkę USB/RS485. Nie wiem co poza tym drobnym błędem może być niezrozumiałego?...
No nie wiem jakie to procesory, ale można by je spiąć za pomocą drugiego sprzętowego SPI (UART in SPI mode - bo zwykły UART to trochę za wolno, a tymczasem tu mamy transmisję 1 bajta danych w kilku taktach uP) i robić komunikację, żeby master nakazywał slaveowi odczyt - to już moim zdaniem lepsze rozwiązanie, z tym, że slave będzie wtedy raczej zajęty...
tak tylko jeden i tylko oznajmia innym masterom że teraz mogą pracować. następnie czeka aż ten master któremu pozwolono działać zamelduje koniec działania. jeżeli nastąpi zwiecha mastera to jest zonk, lecz trzeba po prostu dobrze napisać soft. przy master'ze masterów jest sygnalizacja piszczykiem i lcd który pokazuje który master zdechł. w ciągu 3-ch...
Witam, na początku tego wątku zacytowano wypowiedź, że FreeModbus nie obsługuje >1 slave'a. Planuję uruchomienie MODBUSa/RTU via RS-485, póki co dla 1 mastera i 1 slave'a, ale w niedalekiej przyszłości pojawi się więcej slave'ów. Niestety, aktualnie nie mam możliwości sprawdzenia tego, więc chciałbym się zapytać, czy ktoś z powodzeniem korzysta z biblioteki...
Po wysłaniu jednego bajtu (i sprawdzeniu SPIF) trzeba ręcznie wyzerować SPIF przed następną transmisją. Poza tym SS (ten od mikrokontrolera, nie od DAC) powinien być ustawiony jako wyjście przed włączeniem SPI (ustawieniem bitu SPE), bo jak nie to mikrokontroler będzie przechodził w tryb slave. Poza zaznaczonymi fragmentami pozmieniałem trochę rejestry...
No ale w miarę wysyłania z MASTERa do SLAVEów, każda ATMega Slave odsyła dane do MASTERa (czy coś wpiszesz do SDR czy nie, najwyżej wyśle krzaki). Czyli będziesz miał jedno wielkie zwarcie na linii MISO. Jeżeli chcesz tylko wysyłać to nie podłączaj nigdzie pinów MISO. Wtedy to przejdzie.
Witam, Posiadam dwa aplikację zaprogramowane na dwóch mikrokontrolerach Atmega 328p-pu: 1. Pierwsza to obsługa magnetometru na szynie TWI, działająca na zewnętrznym kwarcu 16 MHz, Baudrate:9600, TWI 40kHz 2. Druga to obsługa żyroskopu na szynie TWI, działająca na wewnętrznym rezonatorze 8MHz Baudrate:14400, TWI 40kHz Chciałbym scalić te dwa programy...
Bo jest SPI programowe. Tego się nie konfiguruje, tylko w programie odpowiednio steruje piami. W locie. I samo w locie wychodzi czy to MASTER czy SLAVE jest.
Sprawdz też czy w czasie wysyłania na końcówce ss (PB.2) jest stan wysoki. o ile się nie mylę to jeżeli w czasie pracy master pojawi się tam stan niski to układ przechodzi do pracy slave.
Może źle podpięte linie. Zamień MOSI z MISO. Ja miałem coś podobnego. Ale i tak narazie mam transmisje tylko w jedną stronę. Od mastera do slave'a. Nie działa w drugą stronę, tzn odbieram master'em to samo co wysyłam do slave/a P.S. Jeśli ktoś ma napisany prosty i dobrze działający programik na transmisje po PSI między dwoma atmega'mi prosiłbym o udostępnienie...
Jedne ważne pytanie, czy ktoś wie kto w transmisji SPI ma być Master a kto slave? W przykładach jest niby że Enc pracuje jako Slave, a Atmega jako master // initialize SPI interface // master mode and Fosc/2 clock: SPCR = (1<<SPE)|(1<<MST... SPSR |= (1<<SPI2X); Czy nie powinno być czasami tak, że Masterem...
Nie wiem czy dobrze zrozumiałem - myślę , że dobrze :D Master: Print Chr(49) ; Chr(0) ; Chr(0) ; Chr(13); 'niech slave o adresie 49 zmieni stan PORTA.0 na przeciwny Print Chr(49) ; Chr(3) ; Chr(7) ; Chr(13); 'niech slave o adresie 49 zmieni stan PORTD.7 na przeciwny 'itd Slave: $regfile...
Masz rację - powinno być 0 przy zapisie. Mimo wszystko to nie pomogło. Wiem, że w moim przypadku trzeba najpierw dać warunek startu, potem adres slave'a, dane do zapisu i warunek stop. Czyli transmisja powinna wyglądać tak: M-> START M-> adres PCFa i ZAPIS-czyli "0" S-> ACK M-> DANE (u mnie 0x00, żeby ustawić same 0) S-> ACK M-> STOP Czy master (ATMega)...
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...
Analizator dawal wyniki niejednoznaczne (tzn losowe fazy transmisji w trakcie zwiechy). Poradziałem sobie przez reset interfejsu i dotaktowanie razem po stronie mastera. Nie wiem dlaczego samo dotaktowanie, lub samo zresetowanie mastera nie dawało wyjścia i dlaczego master (i2c doskladnie bo master zyje) sie zawiesza. Dziwiaczny objaw - jeszcze z taką...
Witam wszystkich forumowiczow. Za nic na swiecie nie moge sobie poradzic z uruchomieniem komunikacji miedzy ATmega8515(Master) a ATtiny26(Slave). Problem spedza mi sen z powiek:|. Mam kilka pytan: Znalazłem przetlumaczoną instrukcje do SPI Master inicjuje cykl komunikacyjny kiedy wymusi stan niski na pinie Slave Select (/SS) żądanego modułu Slave. Skad...
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 ustawiłeś jedną atmege jako master a drugą jako slave?
Szanowni Koledzy, stanąłem w konieczności połączenia kilku procesorów magistralą I2C. Jako slave'y będą pracowały atmegi. Ogólnie przystosowane są do pracy jako mastery, ale wiem, że jest biblioteka, która może je skonfigurować do pracy jako slave'y, jednak masterem będzie inny procesor niż atmega. No i procesorów będzie więcej niż 2. Wobec tego zastanawiam...
Program się nie wiesza. Nie odpowiada tylko na swój adres. Podstawiłem układ master na ATmega, zamiast urządzenia X, który odpytuje mój slave podobnie jak X i transmisja rusza bez problemu. Tak jak napisałem wcześniej, kod jest z noty, wiesz może którymi błędami w statusie powinienem się zainteresować? Na razie dodałem reset magistrali przy błędzie...
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...
fakt równoległe nie szeregowe wieczorem przetestuje bez rezystora i dam znać czy działą To może zadziałać wyłącznie pod dwoma warunkami: 1. Procesory wiedzą, który kiedy ma nadawać, tzn. że nigdy nie próbują nadawać dwa jednocześnie. Np. komunikacja jest typu master/slave i PC robi za nadzorcę. 2. TxD konfigurujesz jako wejście, procesor nadający ustawia...
A w jakim celu tak okrutnie komplikujesz zupełnie prostą rzecz? Potrzebujesz tylko masy, RX i TX, wspólnych dla wszystkich slave. Resztę łatwiutko załatwi oprogramowanie - każdą wymianę informacji rozpoczyna Master wysyłając polecenie z numerem Slave, z którym chce pogadać. Typ użytego uC nie ma tu żadnego znaczenia. Z drugiej strony - jeśli odległość...
W Slave wpisujesz bajt do SPDR dopiero, gdy wchodzisz do przerwania. Czyli w momencie, gdy transmisja została już zakończona! (Nastąpiła wymiana danych DO i Z) To jest trochę dziwne, ale w przypadku Slave, w momencie wejścia do przerwania od SPI dane z bufora SPDR już zostały wysłane. Oznacza to, że w pewnym sensie trzeba przewidzieć co chcesz wysłać,...
tadzik85 dziękuję za błyskawiczna odpowiedź. Próbowałem tego rozwiązania i niestety gdy w przerwaniu od SPI umieszczę flagę i bez względu gdzie realizuję odbiór czy w przerwaniu od timera czy w pętli głównej drugi bajt wraca do mastera czyli wydaje mi się, że ATmega nie nadąża z odczytem.
atmega slave toshiba master slave listwa master slave
zasilać wspomagać kluczyk blokada iplus manager windows
mazda wypadanie zapłonu mazda wypadanie zapłonu
Instrukcja obsługi QT3150W Husqvarna Electrolux - gdzie znaleźć? Jak zmierzyć napięcie anodowe w radiu lampowym?