Witam,
podłączę się pod temat aby ich nie mnożyć o tym samym.
Mój problem polega na trudności ze skomunikowaniem RFM12b (w obudowie SMD) (uC mam ATmega16l taktowana 1MHz) więc napięcia się zgadzają.
Próbuję odpalić program z kodów Mirka, ale komunikacji ani widu ani słychu.
Nadajnik:
1.Usunąłem LCD bo z niego nie korzystam:
Kod:
//#include "LCD/lcd44780.h"
//DDRA |= (1<<PA7); // wyjście podświetlenia LCD
//PORTA |= (1<<PA7); // włączenie podświetlenia LCD
//lcd_init(); // inicjalizacja LCD
//lcd_str("TX Start...");
2.Dodałem diodę w pętli głównej, żeby sprawdzić czy chodzi.
Kod:
// pętla główna programu
while(1) {
send();
_delay_ms(250);
PORTD ^= _BV(PD7);
}
Dioda miga więc coś tam krąży.
3.Odblokowałem linie do SMD
Kod:
rf12_trans(0xCC77); // jeśli posiadasz RFM12B (wesja SMD) odblokuj tę linię
Odbiornik:
1. Tutaj też usunąłem lcd.
2. Odblokowałem SMD.
3. Zmieniłem też, że nie dodaję pliku rf12.h tylko rf12.c
Kod:
#include "my/rf12.c"
(identycznie zrobiłem w nadajniku). Używam Atmel Studio 6.1 i dodanie samego pliku *.h dawało errory, że są deklaracje a nie ma definicji funkcji wszelakich. Teraz wszystko się kompiluje. (Dobrze rozumiem, że po prostu dorzuca kod z pliku *.c do maina przy kompilacji?)
Poprawiłem również wpis w rf12.c zgłoszony z DVD
Kod:
MCUCSR &= ~(1<<ISC2); // zbocze opadające
Układ coś tam dawał (same null'e ale jednak nadawał) jak robiłem wcześniej z tym writecmd(0x....), więc podłączony prawidłowo. Korzystając z bibliotek Martwa Cisza.
Jeśli chodzi o odbiornik to układ nigdy nie wchodzi do:
Kod:
if( RF12_status.New ) {
Ktoś może podpowiedzieć, gdzie robię błąd bo już siedzę nad tym dłuuuuggggooooooo i się lekko irytuję
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
Generalnie mam zamiar zrobić projekt z masterem i slave'ami, gdzie będzie master odpytywał je po kolei żądająć różnych opcji (min. 3 Rf będą), ale na razie utknąłem ;/
PS. Na koniec jeszcze pytanie dlaczego w sumie ustawia się zarówno nadajnik jak i odbiornik przy inicjalizacji?
Kod:
rf12_setbandwidth(RxBW200, LNA_6, RSSI_79); // ustawienia odbiornika
rf12_setpower(PWRdB_0, TxBW120); // 1mW moc wyjściowa nadajnika, parametry FSK