|
Мои мучения с CC2500 |
|
|
|
Jun 12 2009, 06:37
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Господа. Начал я мучиться с сс2500. Спаял две платки - одну отладочную, на ней контроллер mega32L, на другой собственно чип. Не могу прочитать регистры. Нет ответа от чипа. Ну как всегда, 3 версии: - горелый чип - ошибки монтажа - ошибка программы. 1 первую версию проверить не представляется возможным, пока нет уверенности во второй и третьей. Ошибки монтажа: сигналы на чип точно поступают, включал MOSI, MISO и SCK и мерял напряжение непосредственно на ножке чипа. Везде единицы. Прозванивал цепь от SO чипа до MISO контроллера - связь есть. Питание тоже в порядке. Теоретически может быть непропай контактной площадки под CC2500 и контактных площадок под кварцем, внимание вопрос - это может быть причиной неработоспособнотси цифровой интерфейсной части чипа? Вообще для того чтобы читать регистры хватит ли подключения сигнальных линий и питания при игнорировании остальных выводов? Ошибка программы. Использую готовый проект для mega88, немного переделал его под mega32L, питание 3,24 вольт. В оригинальном проекте кварц был на 14мгц, у меня же 8 Мгц. По идее не должно сказываться на SPI, ибо он программный, я правильно понял? Далее на отладочной плате сидит дисплей от S65 он использует аппаратный SPI, на его же ноги я назначил программный SPI от чипа, CS линии естественно, раздельные, может ли это быть причиной? Сам дисплей, а следовательно и аппаратный SPI для него инициализируются после чтения регистра, так что конфликт исключен, тем более, что дисплей не имеет выхода MOSI и на поток данных он влиять никак не может. Весь проект приводить смысла нет, там шаманство с USART и прерываниями, которые я отключил для чистоты эксперимента. Приведу лишь функции, которые работают: основной файл: Код #include <mega32.h> #include <delay.h> #include <string.h> #include <stdlib.h> #include <ctype.h>
#include "TI_CC_spi.h" #include "TI_CC_spi.c"
void main () { char str;
TI_CC_SPISetup(); // Initialize SPI port
TI_CC_PowerupResetCCxxxx(); // Reset CCxxxx writeRFSettings(); // Write RF settings to config reg TI_CC_SPIWriteBurstReg(TI_CCxxx0_PATABLE,paTable,paTableLen );//Write PATABLE TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); TI_CC_SPIStrobe(TI_CCxxx0_SFRX); TI_CC_SPIStrobe(TI_CCxxx0_SFTX);
str=TI_CC_SPIReadReg(TI_CCxxx0_PARTNUM);
lcd_str_ram(str,f8x14,red); // строки инициализации дисплея опущены.
} файл TI_CC_spi.h Код #define mosi PORTB.5 #define miso PINB.6 #define sck PORTB.7 #define cs PORTB.1 #define gdo2 PIND.2 #define gdo0 PIND.3 #define light PORTD.4
// Configuration Registers #define TI_CCxxx0_IOCFG2 0x00 // GDO2 output pin configuration #define TI_CCxxx0_IOCFG1 0x01 // GDO1 output pin configuration #define TI_CCxxx0_IOCFG0 0x02 // GDO0 output pin configuration #define TI_CCxxx0_FIFOTHR 0x03 // RX FIFO and TX FIFO thresholds #define TI_CCxxx0_SYNC1 0x04 // Sync word, high byte #define TI_CCxxx0_SYNC0 0x05 // Sync word, low byte #define TI_CCxxx0_PKTLEN 0x06 // Packet length #define TI_CCxxx0_PKTCTRL1 0x07 // Packet automation control #define TI_CCxxx0_PKTCTRL0 0x08 // Packet automation control #define TI_CCxxx0_ADDR 0x09 // Device address #define TI_CCxxx0_CHANNR 0x0A // Channel number #define TI_CCxxx0_FSCTRL1 0x0B // Frequency synthesizer control #define TI_CCxxx0_FSCTRL0 0x0C // Frequency synthesizer control #define TI_CCxxx0_FREQ2 0x0D // Frequency control word, high byte #define TI_CCxxx0_FREQ1 0x0E // Frequency control word, middle byte #define TI_CCxxx0_FREQ0 0x0F // Frequency control word, low byte #define TI_CCxxx0_MDMCFG4 0x10 // Modem configuration #define TI_CCxxx0_MDMCFG3 0x11 // Modem configuration #define TI_CCxxx0_MDMCFG2 0x12 // Modem configuration #define TI_CCxxx0_MDMCFG1 0x13 // Modem configuration #define TI_CCxxx0_MDMCFG0 0x14 // Modem configuration #define TI_CCxxx0_DEVIATN 0x15 // Modem deviation setting #define TI_CCxxx0_MCSM2 0x16 // Main Radio Cntrl State Machine config #define TI_CCxxx0_MCSM1 0x17 // Main Radio Cntrl State Machine config #define TI_CCxxx0_MCSM0 0x18 // Main Radio Cntrl State Machine config #define TI_CCxxx0_FOCCFG 0x19 // Frequency Offset Compensation config #define TI_CCxxx0_BSCFG 0x1A // Bit Synchronization configuration #define TI_CCxxx0_AGCCTRL2 0x1B // AGC control #define TI_CCxxx0_AGCCTRL1 0x1C // AGC control #define TI_CCxxx0_AGCCTRL0 0x1D // AGC control #define TI_CCxxx0_WOREVT1 0x1E // High byte Event 0 timeout #define TI_CCxxx0_WOREVT0 0x1F // Low byte Event 0 timeout #define TI_CCxxx0_WORCTRL 0x20 // Wake On Radio control #define TI_CCxxx0_FREND1 0x21 // Front end RX configuration #define TI_CCxxx0_FREND0 0x22 // Front end TX configuration #define TI_CCxxx0_FSCAL3 0x23 // Frequency synthesizer calibration #define TI_CCxxx0_FSCAL2 0x24 // Frequency synthesizer calibration #define TI_CCxxx0_FSCAL1 0x25 // Frequency synthesizer calibration #define TI_CCxxx0_FSCAL0 0x26 // Frequency synthesizer calibration #define TI_CCxxx0_RCCTRL1 0x27 // RC oscillator configuration #define TI_CCxxx0_RCCTRL0 0x28 // RC oscillator configuration #define TI_CCxxx0_FSTEST 0x29 // Frequency synthesizer cal control #define TI_CCxxx0_PTEST 0x2A // Production test #define TI_CCxxx0_AGCTEST 0x2B // AGC test #define TI_CCxxx0_TEST2 0x2C // Various test settings #define TI_CCxxx0_TEST1 0x2D // Various test settings #define TI_CCxxx0_TEST0 0x2E // Various test settings
// Strobe commands #define TI_CCxxx0_SRES 0x30 // Reset chip. #define TI_CCxxx0_SFSTXON 0x31 // Enable/calibrate freq synthesizer #define TI_CCxxx0_SXOFF 0x32 // Turn off crystal oscillator. #define TI_CCxxx0_SCAL 0x33 // Calibrate freq synthesizer & disable #define TI_CCxxx0_SRX 0x34 // Enable RX. #define TI_CCxxx0_STX 0x35 // Enable TX. #define TI_CCxxx0_SIDLE 0x36 // Exit RX / TX #define TI_CCxxx0_SAFC 0x37 // AFC adjustment of freq synthesizer #define TI_CCxxx0_SWOR 0x38 // Start automatic RX polling sequence #define TI_CCxxx0_SPWD 0x39 // Enter pwr down mode when CSn goes hi #define TI_CCxxx0_SFRX 0x3A // Flush the RX FIFO buffer. #define TI_CCxxx0_SFTX 0x3B // Flush the TX FIFO buffer. #define TI_CCxxx0_SWORRST 0x3C // Reset real time clock. #define TI_CCxxx0_SNOP 0x3D // No operation.
// Status registers #define TI_CCxxx0_PARTNUM 0x30 // Part number #define TI_CCxxx0_VERSION 0x31 // Current version number #define TI_CCxxx0_FREQEST 0x32 // Frequency offset estimate #define TI_CCxxx0_LQI 0x33 // Demodulator estimate for link quality #define TI_CCxxx0_RSSI 0x34 // Received signal strength indication #define TI_CCxxx0_MARCSTATE 0x35 // Control state machine state #define TI_CCxxx0_WORTIME1 0x36 // High byte of WOR timer #define TI_CCxxx0_WORTIME0 0x37 // Low byte of WOR timer #define TI_CCxxx0_PKTSTATUS 0x38 // Current GDOx status and packet status #define TI_CCxxx0_VCO_VC_DAC 0x39 // Current setting from PLL cal module #define TI_CCxxx0_TXBYTES 0x3A // Underflow and # of bytes in TXFIFO #define TI_CCxxx0_RXBYTES 0x3B // Overflow and # of bytes in RXFIFO #define TI_CCxxx0_NUM_RXBYTES 0x7F // Mask "# of bytes" field in _RXBYTES
// Other memory locations #define TI_CCxxx0_PATABLE 0x3E #define TI_CCxxx0_TXFIFO 0x3F #define TI_CCxxx0_RXFIFO 0x3F
// Masks for appended status bytes #define TI_CCxxx0_LQI_RX 0x01 // Position of LQI byte #define TI_CCxxx0_CRC_OK 0x80 // Mask "CRC_OK" bit within LQI byte
// Definitions to support burst/single access: #define TI_CCxxx0_WRITE_BURST 0x40 #define TI_CCxxx0_READ_SINGLE 0x80 #define TI_CCxxx0_READ_BURST 0xC0
// PATABLE (0 dBm output power) char paTable[] = {0xff}; char paTableLen = 1;
void TI_CC_SPISetup(void); void TI_CC_PowerupResetCCxxxx(void); void TI_CC_SPIWriteReg(char, char); void TI_CC_SPIWriteBurstReg(char, char*, char); char TI_CC_SPIReadReg(char); void TI_CC_SPIReadBurstReg(char, char *, char); char TI_CC_SPIReadStatus(char); void TI_CC_SPIStrobe(char); void RFSendPacket(char *txBuffer, char size); void writeRFSettings(void); char RFReceivePacket(char *rxBuffer, char *length); void RF_TX_proc(void); void RF_RX_proc(void); функции из TI_CC_spi.c Код void TI_CC_SPISetup(void) { DDRB.5=1; // MOSI в out DDRB.1=1; // CS в out DDRB.6=0; // MISO в in DDRB.7=1; // SCK в out cs=1; sck=0; mosi=0; }
// Output eight-bit value using selected bit-bang pins void TI_CC_SPI_bitbang_out(char value) { char x;
for(x=8;x>0;x--){ if(value & 0x80)mosi=1; else mosi=0; #asm("nop") sck=1; value<<=1; #asm("nop") sck=0; #asm("nop") } }
// Input eight-bit value using selected bit-bang pins char TI_CC_SPI_bitbang_in() { unsigned char x=0; unsigned char y; x=0; for(y=8;y>0;y--){ sck=1; #asm("nop") x<<=1; if(miso==1){x|=0b00000001;} sck=0; #asm("nop") } // Store next bit return(x);
}
void TI_CC_SPIWriteReg(char addr, char value) { cs=0; // /CS enable while (miso); // Wait CCxxxx ready TI_CC_SPI_bitbang_out(addr); // Send address TI_CC_SPI_bitbang_out(value); // Send data cs=1; // /CS disable }
void TI_CC_SPIWriteBurstReg(char addr, char *buffer, char count) { char i;
cs=0; // /CS enable while (miso); // Wait CCxxxx ready TI_CC_SPI_bitbang_out(addr | TI_CCxxx0_WRITE_BURST); // Send address for (i = 0; i < count; i++) TI_CC_SPI_bitbang_out(buffer[i]); // Send data cs=1; // /CS disable }
char TI_CC_SPIReadReg(char addr) { char x;
cs=0; while (miso); TI_CC_SPI_bitbang_out(addr | TI_CCxxx0_READ_SINGLE);//Send address x = TI_CC_SPI_bitbang_in(); // Read data cs=1; // /CS disable return x; }
void TI_CC_SPIReadBurstReg(char addr, char *buffer, char count) { char i; cs=0; while (miso); TI_CC_SPI_bitbang_out(addr | TI_CCxxx0_READ_BURST); // Send address for (i = 0; i < count; i++){ buffer[i] = TI_CC_SPI_bitbang_in();// Read data } cs=1; // /CS disable }
char TI_CC_SPIReadStatus(char addr) { char x; cs=0; while (miso); // Wait CCxxxx ready // /CS enable TI_CC_SPI_bitbang_out(addr | TI_CCxxx0_READ_BURST); // Send address x = TI_CC_SPI_bitbang_in(); // Read data cs=1; // /CS disable return x; }
void TI_CC_SPIStrobe(char strobe) { cs=0; while (miso); // Wait CCxxxx ready // /CS enable TI_CC_SPI_bitbang_out(strobe); // Send strobe cs=1; // /CS disable }
void TI_CC_PowerupResetCCxxxx(void) { cs=1; delay_us(40); cs=0; delay_us(40); cs=1; delay_us(45); cs=0; while(miso); TI_CC_SPI_bitbang_out(TI_CCxxx0_SRES); while(miso); cs=1; delay_ms(45); }
// Chipcon // Product = CC2500 // Chip version = E // Crystal accuracy = 10 ppm // X-tal frequency = 26 MHz // RF output power = 0 dBm // RX filterbandwidth = 551.067708 kHz // Phase = 1 // Datarate = 250.240707 kbps // Modulation = (7) MSK // Manchester enable = (0) Manchester disabled // RF Frequency = 2432.999988 MHz // Channel spacing = 199.788952 kHz // Channel number = 0 // Optimization = Sensitivity // Sync mode = (3) 30/32 sync word bits detected // Format of RX/TX data = (0) Normal mode, use FIFOs for RX and TX // CRC operation = (1) CRC calculation in TX and CRC check in RX enabled // Forward Error Correction = (0) FEC disabled // Length configuration = (1) Variable length packets, packet length configured by the first received byte after sync word. // Packetlength = 255 // Preamble count = (2) 4 bytes // Append status = 1 // Address check = (0) No address check // FIFO autoflush = 1 // Device address = 0 // GDO0 signal selection = ( 6) Asserts when sync word has been sent / received, and de-asserts at the end of the packet // GDO2 signal selection = (11) Serial Clock void writeRFSettings(void) { // Write register settings
TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1,0x0c); TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL0,0x00); TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2,0x5B); TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1,0xFB); TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0,0x04);//04 rx 7c jeep TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4,0x2d); TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3,0x36); TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2,0x73); TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG1,0xc2); TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG0,0xEF); TI_CC_SPIWriteReg(TI_CCxxx0_CHANNR,0x00); TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN,0x01); TI_CC_SPIWriteReg(TI_CCxxx0_FREND1,0x56); TI_CC_SPIWriteReg(TI_CCxxx0_FREND0,0x10); TI_CC_SPIWriteReg(TI_CCxxx0_MCSM2,0x07); TI_CC_SPIWriteReg(TI_CCxxx0_MCSM1,0x3c);//30 TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0,0x18); TI_CC_SPIWriteReg(TI_CCxxx0_FOCCFG,0x15); TI_CC_SPIWriteReg(TI_CCxxx0_BSCFG,0x6C); TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL2,0xc3); TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL1,0x00); TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL0,0x91); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3,0xea); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL2,0x0A); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1,0x00); TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL0,0x11); TI_CC_SPIWriteReg(TI_CCxxx0_FSTEST,0x59); TI_CC_SPIWriteReg(TI_CCxxx0_TEST2,0x8f); TI_CC_SPIWriteReg(TI_CCxxx0_TEST1,0x21); TI_CC_SPIWriteReg(TI_CCxxx0_TEST0,0x0B); TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG2,0x0F); TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0,0x06); TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL1,0x0d);//05 TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0,0x05); TI_CC_SPIWriteReg(TI_CCxxx0_ADDR,0x01); TI_CC_SPIWriteReg(TI_CCxxx0_PKTLEN,0xff); TI_CC_SPIWriteReg(TI_CCxxx0_FIFOTHR,0x07);
} Ваши мнения? Как найти ошибку? еще один момент: к DVDD4 и DCOUPLE подключены конденсаторы как на 0.1 мкф так и на 47 пф. Товарищ ksv198 в своем реально работающем проекте один конденсатор убрал, другой заменил на 220 пф. Работало. Я же по ошибке убрал оба, то есть у меня на этих выводах только 0.1 мкф. Разводку прилагаю Ну и еще вопрос вдогонку: у меня ограниченное количество cc2500, зато валяется штук 20 сс1101. Вроде бы они идентичны по пинам. Смогу ли я тупо напаяв его на плату для сс2500 читать и писать регистры? Не хочется портить сс2500, а сс1101 не жалко.
Сообщение отредактировал zheka - Jun 12 2009, 06:30
|
|
|
|
|
 |
Ответов
|
Jun 20 2009, 02:57
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Тихо сам с собою я веду беседу... ДОбавил задержку в 2 мс после строба включения передачи. ВРоде бы буфер опустошается. Но почему то до единицы. Ноль только после специального строба. Но все равно на приемнике ничего не читается. хотя GDO0 сначала включается, а потом выключается. О чем это говорит? Могу ли я быть уверенным, что подстройки частоты не требуется? Плюс непонятки с RSSI он у меня всегда в районе 210, изменяясь в пределах 10, независимо от того, включен передатчик или нет. Вот полный код: Код #include <mega32.h> #include <delay.h> #include <string.h> #include <stdlib.h> #include <ctype.h> #include <stdio.h> #include <disp.h> #include <spi.h>
void putchar(char c); unsigned int Clc_tim0=0; unsigned int Clc_tim0_timout=0; bit Clc_tim0_timout_b=0; unsigned char RF_RX_Buffer[64]; unsigned char RF_TX_Buffer[64];
unsigned char LQI,RSSI; bit RF_TX_b=0;//1-ïåðåäà÷à bit RF_RX_b=0;//1-ïðèåì bit RF_TX_END_b=0;//1-ïåðåäà÷à èñïîëüçóåòñÿ äëÿ îïðåäåëåíèÿ êîíöà îïåðàöèè bit RF_RX_END_b=0;//1-ïðèåì èñïîëüçóåòñÿ äëÿ îïðåäåëåíèÿ êîíöà îïåðàöèè bit RXD_timer=0;// óñòàíàâëèâàåòñÿ êîãäà íóæíî çàáèðàòü äàííûå èç áóôåðà ÷òåíèÿ ïîðòà 10ms
#define SPIF 7 #define SPI2X 1
#define SPR0 0 #define SPR1 1 #define SPHA 2 #define SPOL 3 #define MSTR 4 #define DORD 5 #define SPE 6 #define SPIE 7
#define TRANSMITTER 1 #define RECIEVER 0
#include "TI_CC_spi.h" #include "TI_CC_spi.c" char str, sTEMP, sRSSI, sLQI, sRXBYTES; u08 variable; ui16 textcolor; // color of text ui16 backcolor; // color of background
ui16 varvar;
void lcd_print_regs() { sTEMP=TI_CC_SPIReadStatus(TI_CCxxx0_RSSI);
if (sTEMP!=sRSSI) {
lcd_setxy(10,75); lcd_str_fl("RSSI ",f8x14, textcolor); lcd_str_ram(sRSSI,f8x14, textcolor); sRSSI=sTEMP; }
sTEMP=TI_CC_SPIReadStatus(TI_CCxxx0_LQI); if (sTEMP!=sLQI) { lcd_setxy(10,90); lcd_str_fl("LQI ",f8x14, textcolor); lcd_str_ram(sTEMP,f8x14, textcolor); sLQI=sTEMP; }
sTEMP=TI_CC_SPIReadStatus(TI_CCxxx0_RXBYTES); if (sTEMP!=sRXBYTES) { lcd_setxy(10,60); lcd_str_fl("RXBYTES ",f8x14, textcolor); lcd_str_ram(sTEMP,f8x14, textcolor); sRXBYTES=sTEMP; } }
void main(void) { int MODE; int x=10; int result, i; long int count=0; backcolor=0xBDF7; textcolor=blue;
DDRA.0=1; DDRA.1=1; PORTA.0=1; PORTA.1=1;
PORTB.6=0; DDRB.2=1; DDRD.3=0;
lcd_init(); lcd_clr(); fill_screen(0xbdf7); lcd_setxy(10,120); lcd_str_fl("StartUp CC2500...",f8x14, textcolor);
TI_CC_SPISetup(); // Initialize SPI port TI_CC_PowerupResetCCxxxx(); // Reset CCxxxx
str=TI_CC_SPIReadReg(TI_CCxxx0_IOCFG0 );
lcd_setxy(10,105); lcd_str_fl("GDO0 ",f8x14, textcolor); lcd_str_ram(str,f8x14, textcolor);
writeRFSettings(); // Write RF settings to config reg TI_CC_SPIWriteBurstReg(TI_CCxxx0_PATABLE,paTable,paTableLen );//Write PATABLE TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); TI_CC_SPIStrobe(TI_CCxxx0_SFRX); TI_CC_SPIStrobe(TI_CCxxx0_SFTX);
MODE=TRANSMITTER;
if (MODE==RECIEVER) // ÄËß ÏÐÈÅÌÍÎÃÎ ÌÎÄÓËß {
TI_CC_SPIStrobe(TI_CCxxx0_SRX); while (gdo0==0) { }
while (gdo0==1) { }
while(1) lcd_print_regs(); }
// -----------------------------------------------------------
if (MODE==TRANSMITTER) // ÄËß ÏÅÐÅÄÀÞÙÅÃÎ ÌÎÄÓËß {
while (1) { for (i=0;i<64;i++) { RF_TX_Buffer[i]=0x3E;} //Çàãîíÿåì äàííûå â ïåðåìåííóþ áóôåðà str=TI_CC_SPIReadStatus(TI_CCxxx0_TXBYTES); // Âûâîäèì íà ýêðàí êîëè÷åñòâî áàéò â FIFO lcd_setxy(10,60); lcd_str_fl("BEFORE WRITE ",f8x14, textcolor); lcd_str_ram(str,f8x14, textcolor); TI_CC_SPIWriteBurstReg(TI_CCxxx0_TXFIFO, RF_TX_Buffer, 64); // Çàïîëíÿåì FIFO
str=TI_CC_SPIReadStatus(TI_CCxxx0_TXBYTES); // Âûâîäèì íà ýêðàí êîëè÷åñòâî áàéò â FIFO lcd_setxy(10,45); lcd_str_fl("BEFORE TX ",f8x14, textcolor); lcd_str_ram(str,f8x14, textcolor);
TI_CC_SPIStrobe(TI_CCxxx0_STX); // Âêëþ÷àåì ïåðåäà÷ó delay_ms(2);
while (gdo0==0) { }
while (gdo0==1) { }
str=TI_CC_SPIReadStatus(TI_CCxxx0_TXBYTES); // Âûâîäèì íà ýêðàí êîëè÷åñòâî áàéò â FIFO lcd_setxy(10,30); lcd_str_fl("AFTER TX ",f8x14, textcolor); lcd_str_ram(str,f8x14, textcolor);
TI_CC_SPIStrobe(TI_CCxxx0_SIDLE); TI_CC_SPIStrobe(TI_CCxxx0_SFTX); // îïóñòîøàåì FIFO
str=TI_CC_SPIReadStatus(TI_CCxxx0_TXBYTES); lcd_setxy(10,15); lcd_str_fl("AFTER FLUSH ",f8x14, textcolor); lcd_str_ram(str,f8x14, textcolor);
} }
}
|
|
|
|
|
Jun 20 2009, 08:10
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 30-05-05
Пользователь №: 5 537

|
Цитата(zheka @ Jun 20 2009, 05:57)  Тихо сам с собою я веду беседу...
}[/code] Спасибо, порадовали. Напомнили анекдот про девушку и парня в лифте, короче в конце она ему посоветовала делать Это "тихо сам с собою..".
|
|
|
|
Сообщений в этой теме
zheka Мои мучения с CC2500 Jun 12 2009, 06:37 Alexashka А платы SmartRF04EB у Вас нет? Тогда можно было бы... Jun 13 2009, 09:43 zheka Разобрался.
Была ошибка монтажа. ТОчнее разводки.... Jun 13 2009, 10:02 aaarrr Цитата(zheka @ Jun 13 2009, 14:02) Ламерс... Jun 13 2009, 10:07 zheka гы...
У меня в принципе все работает, тем не мене... Jun 13 2009, 10:55 Alexashka Цитата(zheka @ Jun 13 2009, 14:55) гы...
... Jun 13 2009, 11:02 zheka Сдела вот так:
Код#define SPI_OFF SPCR =0;
#defi... Jun 13 2009, 11:03 aaarrr Ну, правильнее было бы сделать как-то так:
Код#def... Jun 13 2009, 11:12 zheka aaarrr, спасибо за ликбез )))
Ох попью я еще кров... Jun 13 2009, 11:44 aaarrr Цитата(zheka @ Jun 13 2009, 15:44) Итак, ... Jun 13 2009, 11:58 zheka осциллограф воспринимает 1мгц. сейчас попробую тес... Jun 13 2009, 12:14 Alexashka Цитата(zheka @ Jun 13 2009, 16:14) осцилл... Jun 13 2009, 14:38 zheka это как? и можно эт о отключить? Jun 13 2009, 15:04 Alexashka Цитата(zheka @ Jun 13 2009, 19:04) это ка... Jun 13 2009, 15:43 zheka нет, не из звуковухи.
Вот описание http://trade-m.... Jun 13 2009, 15:58 Alexashka А частотомера нет?
Вобщем Вы меряете 135? кГц ча... Jun 13 2009, 16:14 zheka 192 - максимальный коэффициент деления.
Впрочем, я... Jun 13 2009, 16:48 zheka rx3apf
ЦитатаПохоже, "не то" читается. Ч... Jun 18 2009, 17:43 zheka Господа, не опустошается буфер FIFO при передаче. ... Jun 19 2009, 15:54 Alexashka Цитата(zheka @ Jun 19 2009, 19:54) Что де... Jun 20 2009, 09:03 zheka ЦитатаМожет быть Вам для начала прочитать внимател... Jun 20 2009, 14:51 Alexashka Цитата(zheka @ Jun 20 2009, 18:51) А в че... Jun 21 2009, 22:52 zheka ДОбавил после приема синхрослова и далее приема па... Jun 21 2009, 12:51 zheka Вы вообще мои сообщения читаете?
Я написал, что вз... Jun 22 2009, 02:32 bodja74 Цитата(zheka @ Jun 22 2009, 06:32) А помо... Jul 1 2009, 16:35  Alex B._ Цитата(bodja74 @ Jul 1 2009, 20:35) 7 CH... Jul 2 2009, 06:30 zheka Я так и не понял, почему длина пакета может быть ... Jun 28 2009, 17:51 Sergei_B Цитата(zheka @ Jun 28 2009, 21:51) Я так ... Jun 29 2009, 10:10 zheka Насколько я понял, длина пакета - это вещь аппарат... Jun 29 2009, 13:07 Sergei_B Цитата(zheka @ Jun 29 2009, 17:07) Наскол... Jun 30 2009, 03:28 zheka ЦитатаЕсли PKTCTRL0.LENGTH_CONFIG=0 количество дан... Jul 2 2009, 03:13 bodja74 Цитата(zheka @ Jul 2 2009, 07:13) Фиксиро... Jul 4 2009, 09:17 zheka Ковыряюсь с подстройкой частоты. Что-то не получае... Jul 2 2009, 07:18 zheka Почему RSSI и LQI в статусных регистрах отличаются... Jul 3 2009, 22:01 zheka у меня от расстояния пропорционально изменяется RS... Jul 5 2009, 16:34 bodja74 Для начала снесите бит CRC_OK с LQI ,а то цифры дл... Jul 7 2009, 08:43 zheka Настройкой? Я игрался с настройкой - и RSSI и LQI ... Jul 7 2009, 15:41 bodja74 У вас дальность какая на уверенном приеме ?
Пропад... Jul 7 2009, 17:27 zheka Дальность проверял только в помещении. Точную под... Jul 8 2009, 08:07 bodja74 Цитата(zheka @ Jul 8 2009, 12:07) Тем бол... Jul 10 2009, 14:04 zheka ЦитатаДайте угадаю ,у вас даже при включении питан... Jul 10 2009, 15:11 bodja74 Цитата(zheka @ Jul 10 2009, 19:11) Таки в... Jul 10 2009, 16:01 zheka Вот вам мое чудо засунутое под сканер.
МОжет быть ... Jul 10 2009, 17:03 bodja74 Цитата(zheka @ Jul 10 2009, 21:03) Вот ва... Jul 10 2009, 21:02  _3m Цитата(bodja74 @ Jul 11 2009, 01:02) Для ... Apr 29 2010, 13:04 zheka ЦитатаПо той же причине ,нужно дать задержку транс... Jul 11 2009, 03:17 RT_051 Здравствуйте, пытаюсь разобраться с СС2500. Скачал... Apr 27 2010, 08:53 Олежик Подскажите пожалуйста,
- насколько грубую я допус... Apr 29 2010, 17:59 CHYVAKEASTSIDE Привет всем!
Есть просьба. У кого есть рабоча... Jul 26 2010, 06:03 Ivan Kuznetzov Привет всем! Шлю в CC2500 команду на определен... Sep 14 2012, 16:02 rx3apf Это, случаем, не первый байт ответа ? Так это не и... Sep 19 2012, 17:14
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|