Gdzie moge znaleźć strukture rejestru statusu modułu RFM12? W nocie znalazłem tylko informacje jak odczytać ten rejestr, ale za co jaki bid odpowiada to już nie. Chcę mieć możliwość sprawdzania czy kanał radiowy jest wolny. No to jeszcze raz [url=http://www.hoperf.com/pdf/RF12B.pdf... na stronie 23.
Witam, Z tej stronki [url=http://mirley.firlej.org/node/1137]... dowiedziałem się jak obsługiwać moduły komunikacji radiowej RFM12B. Przykład nadanika: [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 '8MHz $hwstack = 70 $swstack = 70 $framesize = 160 '$noramclear Config Submode = New Config Watchdog = 512 '512ms Start Watchdog '---------Constants---------------------...
Po mojemu źle obsługujesz USI, już pomijając fakt że do modułu RFM12 powinieneś zapisywać i odbierać dwa bajty (0x0000). Faktycznie, poprawiłem. Teraz nadaję i odbieram dwa bajty. I chyba komunikacja jest z RFM12, bo po wysłaniu komendy statusu (0x0000) po podłączeniu zasilania do modułu, zwraca mi wartość 0x4000 (Power-on reset). To chyba dobrze jest?...
Powyższy kod zawiera błąd wprowadzony (celowo lub nie) przez producenta RFM12B. Błąd jest w procedurze komunikacji po SPI a dotyczy odczytu danych/statusu.
Czy Rfm12 wymaga pullup'a na nIRQ podobnie jak RFM12b? Dyndajacy irq bez pullupa bedzie sprawiać problemy. Część rejestrów jest typu R/W. Zapisujesz wartość do rejestru, a następnie ją odczytujesz.. Np. które? Właśnie to jest upierdliwe w rfm12[b], że tylko jeden rejestr jest R, Status. I nie zawiera danych, które można porównać z czymkolwiek wcześniej...
Panowie bardzo dużo pomogli duże plusy :) Jeżeli używasz wyjścia nIRQ układu RFM12B zwróć uwagę na to że na wyjściu tm stan niski nie pojawia się jedynie przy odebranym "pakiecie" lecz może pojawiać się w innych sytuacjach. Specyfikacja podaje, że nIRQ (praca jako odbiornik) będzie niskie jeżeli RFM12 coś odbierze do czasu wyzerowania przez użytkownika...
a użyłeś jakiś dodatkowych elementów do podłączenia (np. rezystorów podciągających) ? mój problem polega na tym, że podczas wysyłania, dostaje tylko jeden raz przerwanie (status 0xA100), pomimo że wysyłam następny bajt: rf12_trans(0xB800 | RF12_Data[RF12_Index]); .
Tu masz działający kod, tylko musisz poustawiać pod swój hardware sekcje configuration. Na końcu masz funkcję main tam masz 3 tryby pracy. Musisz jedną z nich odhaszować. Możesz zrobić kilka konfiguracji. Powinieneś zacząć od (1), tylko wysyłanie pakietów w "eter". Powinna Ci migać dioda od nadawania. Potem jeśli masz dwa zestawy uC i RFM12, to możesz...
Dzięki! Jeszcze jedno pytanko, bo nie znalazłem tego w dokumentacji: moduł zgłasza wszystkie zdarzenia, których bity konfiguracyjne znajdują się w pierwszych 6-ciu bitach rejestru statusów (0x0000) przerwaniem, gdy spełnione są warunki? Tzn. nie da się tego skonfigurować- wyłączyć poszczególne źródła przerwań? robiw
Możesz sprawdzić czy sygnał dociera z jednego urządzenia do drugiego w następujący sposób. Najpierw w parametrach radia ustaw sobie "RSSI Detector Treshold" na -85 Nie pamiętam na 100%, ale to nIRQ chyba nie działa jak powinno. Działa bez problemu.
Kod ogólnie zassałem z tej strony https://forbot.pl/blog/rfm12b-3-zaawanso... Przeglądnąłem i coś pozmieniałem pod siebie, tamtejsza konfiguracja jest też dla 868MHz więc to też jest ustawione jak należy. Ogólnie nie widzę żeby coś było nie tak w stosunku do PDFa nadajnika. Z resztą samo upychanie danych wygląda dobrze- moduł w spodziewanych...
Próbowałem i tego, też nie działa. Zachowuje się podobnie jak w pierwszym przypadku. Gotowość przyjęcia danych sprawdza się odczytująć najstarszy bit statusu (FFIT) zwracanego po wysłaniu na SPI samych zer. Normalnie od włączenia nadajnika (0x8238) do jego gotowości do przyjęcia danych mija ok 0.65 ms. http://obrazki.elektroda.pl/2857072700_1...
Przyznaje koledze racje co do resetu. Jednak ja miałem błąd w programie. Sugerowałem się inicjalizacją jednego kolegi z forum. Która wyglądała następująco: RF12Cmd(0x80d8); // EL, EF, 433band, 12.5pF RF12Cmd(0x8209); // EX, DC \\ NONE RF12Cmd(0xa640); // 434MHz RF12Cmd(0xc611); // 19.2kbps RF12Cmd(0x94a0); //...
Finalnie wygląda to tak: [syntax=vbnet] $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 100 ' rozmiar stosu sprzętowego $swstack = 100 ' rozmiar stosu programowego $framesize = 128 $baud = 19200 '************ Uart 0 Config Serialin0 = Buffered , Size = 150 , Bytematch = 10 'for COM1 Config Input1 = Crlf , Echo = Cr Echo Off 'Config Serialout0...
Przepraszam, długo nie odpisywałem. Oto kod którym się bawię: Nadajnik: [syntax=c] #include <avr\io.h> #define F_CPU 8000000 #define SCK 5 // SPI clock #define SDO 4 // SPI Data output (RFM12B side) #define SDI 3 // SPI Data input (RFM12B side) #define CS 2 // SPI SS (chip select) #define NIRQ 2 // (PORTD) #define HI(x) PORTB |= (1<<(x))...
Najbardziej problematyczny jest wynik z komendy ReadStatus. W odpowiedzi zsumuje się logicznie z założoną wartością 0x8000. Znalazłem też błędną informację, że układ przesyła odpowiedź odwrotnie(starszy bit=młodszy). Nie mogłem nigdzie znaleźć potwierdzenia. Dlatego też z tego powodu nie jest opuszczana pętle while. [syntax=c]do{ status=Rfm_xmit(0x0000);...
Status SOLVED. Dla potomnych wyjaśniam co było nie tak. Otóż wszystko wynikało z różnicy w "prędkości działania" niektórych funkcji - konkretnie w Bascom w funkcji: [syntax=basic4gl] Sub Rf12_ready Reset Spi_cs While Spi_sdo = 0 Wend End Sub [/syntax] Czas między zresetowaniem pinu CS a początkiem oczekiwania w pętli na stan wysoki na pinie MISO jest...
Witam! Kontynuuje temat komunikacji rs232,tym razem bezprzewodowej. Postępuje dokładnie jak w poradniku opisanym tutaj: Przerobiona Biblioteka na 433MHz Kod nadajnika: Kod odbiornika [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <string.h> #include <stdio.h> #include <avr/interrupt.h> #include "RFM12B.h"...
Witam Męczę od kilku miesięcy (z przerwami) łączność między modułami RF. Transmisja przebiega prawie poprawnie, tzn. pomiędzy poprawnie odebrane bity wstawiane są ciągi zer. Nie znalazłem nic na ten temat na forum. Nadajnik: ATmega88, zegar: wewn. RC 8 MHz RFM12B, wersja 868 MHz, antena: drut lambda/2 zasilanie:3,3 V (trafo daje 500 mA) interface: programowe...
while(1){ LEDR_ON(); RFXX_WRT_CMD(0x0000);//read status register RFXX_WRT_CMD(0x8239);//!er,!ebb,... ChkSum=0; RF12_SEND(0xAA);//PREAMBLE RF12_SEND(0xAA);//PREAMBLE RF12_SEND(0xAA);//PREAMBLE RF12_SEND(0x2D);//SYNC HI BYTE RF12_SEND(0xD4);//SYNC LOW BYTE //...
Witam. Skonstruowałem sobie samochód zdalnie sterowany. Zarówno pilot jak i auto posiadają uP Atmega32 oraz moduły RFM12. Na razie próbuję wysłać ramkę z danymi, które będą wyświetlane na LCD podłączonym do auta. Wysyłanie oraz odbiór sygnalizują diody LED. Ramka zostaje odebrana, jednak jej długość oraz zawartość zostają zmienione (długość ramki odebranej...
Witam wszystkich... Mam problem z komunikacją z nadajnikiem RFM12B co ciekawe na atmega chodzi mi beż żadnego problemu. Błąd musi być gdzieś w kodzie ale już 2 dzień na to trace i sam mam problem się zdebugować. #define WAIT_NIRQ_LOW() while( AT91C_BASE_PIOB->PIO_PDSR&(1&... void spiInit(void) {...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu ) [syntax=basic4gl] $include "Config_AVR-DOS.BAS"...
Zobacz tutaj '####################################### 'inculde file for RF12-device 'info about RF12 Transceiver: www.hoprf.com or www.integration.com 'info about using RF12 with Bascom: www.comwebnet.de ' 'Version History '--------------- 'Initial Version: v0.10 'Date: 200711 'Author: Kurzschluss '--------------- 'Version: v0.11...
Tzn. mam tablicę 24 bajty ( na razie do testów). I teraz podaje adres początkowy z tablicy, od którego zaczyna się ID układu DS18B20. Podprogram ma załadować ID, odczytać, sprawdzić CRC i w odpowiedzi podać mi LSB, MSB, status czujnika, histereze ( poprzednią muszę mu jakoś podać ) i wynik w postaci zmiennej typu string. Wzorowałem się na czymś takim:...
Cześć W moim systemie wiadomość przesyłana jest drogą radiową wygląda jak RTU z protokołu MODBUS zakładam, że procedura przerwania powinna jednorazowo odebrać całą wiadomość chyba, że macie inną propozycje) W tym celu zapętlam w przerwaniu żelazną fukcję odczytu (z użyciem nIRQ) (cisza na linii)> 3,5T (gdzie T oznacza czas transmisji jednego znaku)...
Witam! Robię projekt na fizykę, którą będzie robot, ale na potrzeby prezentacji będzie to zdalnie sterowany pojazd (by "zachwycić" klasę i nauczyciela od czego zależy ocena), dopiero później będzie bardziej samodzielny. I zdalne sterowanie postanowiłem zrealizować za pomocą układów rfm12. Przejdźmy od razu do rzeczy: korzystam z kodów z tego posta:...
Zamiana wyświetlaczy nic nie daje, zamieniałem nawet same kabelki łączące je z płytką i też nic. Jeśli chodzi o przerwania to mam odbiór danych z RFM12 oraz obsługę klawiatury na PCF8574. Może faktycznie coś na rzeczy z tymi przerwaniami. Wyświetlacz, który nie działa jak trzeba oprócz wyświetlania daty, godziny oraz części odebranych danych wyświetlać...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
https://obrazki.elektroda.pl/1976862200_... Zapraszamy do udziału we wspólnym projektowaniu i implementacji otwartego protokołu komunikacji bezprzewodowej o roboczej nazwie unirf . Zakładanym efektem końcowym jest dostarczenie protokołu na różne platformy sprzętowe. Protokół zapewni komunikację bezprzewodową z wykorzystaniem różnych...
Zabieram się za realizację projektu zaweirającego m.in. RFM12. Projekt działający. Załączam kod obsługi RFM. '####################################### 'inculde file for RF12-device 'info about RF12 Transceiver: www.hoprf.com or www.integration.com 'info about using RF12 with Bascom: www.comwebnet.de ' 'Version History '--------------- 'Initial...
Tzn. wiem, że zmienna typu bajt nie może być większa niż 255, ale zapomniałem, że nie robi się operacji na różnych typach zmiennych razem [syntax=vbnet] Solar_mid_mod_temp = Solar_mid_mod_temp \ 2 ' srednia z dwoch czujnikow = 283 [/syntax] co prawda przekracza 255, ale wynik z dzielenia przez 10 i Modulo 10 już nie, czyli 28 i 3 [syntax=vbnet] Solar_mid_dec...
Witam! Na forum zawsze znajdowałem odpowiedzi i drążyłem każdy temat samodzielnie w myśl zasady jednego z moich wykładowców "świat dzieli się na samouków i nieuków"... lecz tym razem rozłożyłem ręce po 3-dniowej walce z TWI/i2c (w między czasie wypiłem tylko 2 bro) i postanowiłem nieśmiało założyć temat (chyba mój inauguracyjny...). Przeczytałem regulamin...
O, widzę, że ktoś oprócz mnie również ma ten problem :D Przede wszystkim musisz uwzględnić ten pin SS, o którym wspomniałeś, bez tego ani rusz. Za każdym razem gdy coś wysyłasz po SPI musisz ustawiać SS na zero, a po wysłaniu SS na 1. Warto również zajrzeć do bibliotek, które udostępnia Atmel, jest to nota AVR319, do pobrania stąd [url=http://www.atmel.com/devices/ATTINY...
https://obrazki.elektroda.pl/1976862200_... W pierwszym etapie projektu protokołu bezprzewodowego tworzonego na elektroda.pl zbieramy proponowane wymagania. Zapraszamy do wypowiedzi w tym temacie. Jakie macie wymagania dla protokołu bezprzewodowego? Szczegóły o projekcie znajdziecie tutaj: maciej_333 Trzeba odpowiedzieć na początek...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
Rejestrator dość spory. Większość danych zbiera płytka nadajnika na Atmega328 i tam następuje praktycznie całkowita obróbka - oprócz danych z siedmiu DS18B20, jednego DHT11 oraz MPL115A2, odbieranie czasu z DCF77 i jego aktualizacja w PCF8563 przesyłane są dane o tym czy nie ma awarii czujnika ( zmienna Err ) oraz informacja o histerezie czujników DS18B20...
https://obrazki.elektroda.pl/1976862200_... Jest to temat ogłoszeniowy o projekcie otwartego protokołu komunikacji bezprzewodowej jaki powstaje na elektroda.pl. Zapraszamy do udziału we wspólnym projektowaniu i implementacji otwartego protokołu komunikacji bezprzewodowej o roboczej nazwie unirf . Warto dodać ten temat do śledzenia...
Witam Mam program, który, po dokonaniu pomiarów, wysyła dane przez RFM12 i zapisuje na karcie SD. Chcę dołożyć wysyłanie danych do Domoticz po każdym pomiarze. Problem w tym, że po dopisaniu obsługi ESP8266 i Domoticz ( zmienne miałem już wcześniej zadeklarowane ) to pojawiają się błędy w zapisie na karcie SD. No i wysyłanie do Domoticz przestaje działać,...
Witam Mam dwa moduły discovery i chciałbym przeprowadzić transmisję miedzy nimi za pomocą układów RFM12B 868MHz. Napisałem program, który wysyła dane a drugi moduł ma je odebrać i wypisać na LCD. Problem polega na tym, że moduł odbiorczy nie otrzymuje żadnych danych. Jedyną informacją zwrotną dla mnie jest odczytany rejestr statusu odbiornika. Na tej...
Witam mam dwa układy RFM12 i atmega8 oba komunikują się ze sobą problem pojawia się gdy chce zmienić linię nSEL podłączoną do pinu SS na np pin PB0 gdzieś czytałem że linia nSEL nie musi być podpięta do tego konkretnego pinu. Pin PB2 (SS/OC1B) chce wykorzystać do sterowania silnikiem . Kiedy w kodzie zmienię definicje SPI_CS z portu PB2 na PB0 modułu...
zasięg rfm12 atmega rfm12 rfm12 rfm22
vaillant ecotec sterownik czujnik temperatury wymiana telestar chassis pt90a
Czy odpowietrzniki powinny być otwarte przy spuszczaniu wody? Klucz udarowy Tresnar 500 Nm - siła dokręcania i odkręcania