Ludzie, to już było tyle razy, a na downloadzie elektrody macie gotowca dla avr, cc1000 nie są łatwe, całość sprowadza się do tego:
uruchamiamy - wpisujemy podstawowe rejestry, MAIN, Freq itp.
potem reszta rejestrów
(w nocie aplikacyjnej jest to ładnie rozrysowane, a SmartRF Studio odwala kalkulacje rejestrów)
Kalibracja - cc1000 musi się "obudzić" i ponastawiać
Po tym jest gotowy do roboty. zależnie od ustawień:
W trybie Manchester podajemy mu dane według jego sygnału zegarowego, on z tego robi kod manchester i śle w eter, tryb NRZ jest podobny tylko nie cc1000 nie koduje danych, tryb Uart jest najprostrzy bo traktjemy wtedy moduł jako początek i koniec kabelka RS232. To też jest w nocie narysowane
ale od podstaw:
CC1000 to kosmicznie zaawansowany, inteligentny transceiver (że w tamte i na zad

) na pasmo do wyboru 300-950Mhz (około) jest jak mikrokontroler, sterują nim rejestry, które dzięki uprzejmości chipcona możemy se zmieniać i tak kolejno:
00h - rejestr MAIN - główny, w nim są podtsawowe podstawy
MAIN[7] - nadawa(1) czy dostaje dane(0)
MAIN[6] - wybiera częstotliwość A(0) czy B(1)
MAIN[5] - włącza część RX (odbiór)
MAIN[4] - włącza część TX (nadawcza) stan[0] - uruchomione
MAIN[3] - włącza syntezer częstotliwości
MAIN[2] - odpala oscylator (silnik

)
MAIN[1] - włącza BIAS (generator prądu) i bufor oscylatora
MAIN[0] - RESET (wart. 0 - reset) chyba nie musze tłumaczyć... jedyne czego nie wywala to rejestr MAIN trzeba potem wstawić stan 1
rejestry 01h - 06h tam wpisujemy częstotliwości A i B
07h - 08h Separacja częstotliwości (w końcu FSK!)
09h - ile ustrojstwo ma zeżreć prądu (więcej >> dalej

)
I tak dalej i tak dalej, nie ma tam nic ciekawego, a SmartRF studio policzy co trzeba, wystarczy wpisać a potem odczytać 0Eh, przy kalibracji
(tam jest bit który mówi o zakończeniu kalibracji 0E(3)
podłączamy kabelkami do procka i jedziemy rejestry kalibracja i potem jak chcemy nadawać to za pomocą rejestru konfigurującego wpisujemy do MAIN że nadajemy i na Dclk mamy zegar na dane (DIO) nie nadajemy to odbieramy (też trza wpisać w rejestrze) na Dclk mamy zegar i kolejne dane na DIO (chyba że jesteśmy w trybie UART, wtedy jeden DIO nadaje DCLK wysyła, ale kierunek i tak trzeba wpisać w rejestr MAIN)
Przed wysłaniem danych trzeba jeszcze wysłać 16bajtów preambuły (55h) i potem jeden bajt inny (np. 10h) żeby układy się odnalazły w eterze i zestroiły
I to by była cała filozofia, mi to wystarczyło do uruchomienia prostej transmisji, dokładniej wszystko jest w nocie aplikacyjnej, u mnie zaskoczyło za pierwszym razem, potem zacząłem kombinować i coś się schrzaniło.
Obecnie pracuje nad kodem na AVR, jak zrobie to opublikuje za free, więc nie pytajcie czy coś mam, jak będe miał to dam!