реклама на сайте
подробности

 
 
> cc2500, проблема при переходе в спящий режим
max_mart
сообщение Mar 24 2012, 13:10
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 248
Регистрация: 30-09-11
Пользователь №: 67 474



Всем привет.

Занимаюсь работой с сс2500. Прочитал Ваши посты по поводу сс2500. Очень ценная информация.Сразу видно мастера своего дела!!!
Писал на С. Делаю 2 модуля с обратной связью(транссиверы) на 88 меге. Проблема в следующем: не могу загнать сс2500 в спящий режим SPWD.
Делал 2 способами:
1)
clear_cs;
while(MISO);
spi_transmit(CC2500_SIDLE);
delay(50000);
spi_transmit(CC2500_SPWD);
delay(50000);
set_cs;
2)
Cc_spi_send_strobe(CC2500_SIDLE);

Cc_spi_send_strobe(CC2500_SPWD);

Функции обработки:
void Cc_spi_send_strobe(unsigned char command)
{
clear_cs;
while(MISO);
spi_transmit(command);
set_cs;
}
void spi_init (void)
{
DDRB |=(1<<DDB3)|(1<<DDB5); // MOSI&SCK - output
PORTB &= (~(1<<3))|(~(1<<5)); // 0
DDRB &=~(1<<DDB4); // MISO - input
PORTB &= (~(1<<4)); // 0
DDRD |= (1<<DDD2); // PD2 - for CS
SETBIT(PORTD,2); // CS - high
/* Set MOSI and SCK output, all others input */
//DDRB = (1<<DDB3)|(1<<DDB4)|(1<<DDB5);
/* Enable SPI, Master, set clock rate fck/128 */
//SPCR |= (1<<SPE)|(1<<MSTR)|(1<<SPR1)|(1<<SPR0);
SPCR = 0b01010011; // SPR1&SPR0 -f/128 (f/64(10)); SPI-enable; MASTER mode
}
unsigned char spi_receive(void)
{
/* Wait for reception complete */
while(!(SPSR & (1<<SPIF)));
/* Return Data Register */
return SPDR;
}

void spi_transmit(char cData)
{
/* Start transmission */
SPDR = cData;
/* Wait for transmission complete */
while(!(SPSR & (1<<SPIF)));
}

Естественно перед тем, как начать работать с чипом, сначала инциализирую: напишу кратко
void cc2500_init (void)
{
Cc_power_up_reset(); // перезапускаю чип
Cc_rf_write_settings(); // инициализирую регистры
Cc_spi_write_patable(); // записываю 8 значений 0xFE
delay(1000); // задержка примерно 4.5 мС для устаканивания чипа
}
Да и еще момент. Пробовал переводить просто в холостой режим. Ток должен был быть, по заявленному в даташите 1.5 мА. Тоже не работало.
Проверял инициализацию SPI - вроде правильно

Какие могут быть проблемы? Или может проблема в железе?
Очень надеюсь на Вашу помощь!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016