Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пример инициализации CC2500 на прием и передачу
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Rf & Microwave Design
Pasa
Доброго времени суток всем.

Пытаюсь принять пакеты которые передает пульт (реализован на MSP430 + CC2500). Пульт закрыт, доступа к коду нет. Но производитель говорит что все работает.
Принять пытаюсь на платке с STM32+CC2500, связка через SPI. Не принимаются пакеты.

Видимо что-то путаю в инициализации, или алгоритме приема. Попоробовал несколько версий инициализаций. В том числе и пример от Texas Instruments. Не получается.

Хочу попробовать сделать передачу между двумя платками STM32+CC2500. Одна передает, другая принимает, к примеру раз в секунду.

Может кто подбросит пример инициализации двух платок для такого простого режима?

p.s. SPI посмотрел осцилографом - все работает вроде. Регистры пишутся и читаются.
Pasa
.....совсем все сломалось....

Записываю конфигурационный регистр, а при его чтении получаю чушь. Регистры после записи ведь должны читаться?

p.s.
поправил одиночные четние и запись...работает вроде.
А при пакетном чтении записанных, например 2 регистров, читается правильно, а при чтении 3 регистров - ерунда.....некоторые байты читаются, а от других приходит ерунда
Непонятно как количество регистров для чтения сбивает всю процедуру...
Pasa
совсем непонятно стало. Читаю в пакетном режиме два регистра - ответ правильный. Добавляю чтение 3-его регистра - в приемном буфере ерунда.
На осцилографе картинка нормальная - все диаграмы и ответы красивые и правильные...

В парметрах функции пробовал и 3 сразу читать и в цикле по одному байту - не получается....


И вот так уже попробовал:

uint8_t localRxBuf[4];
uint8_t data1,data2,data3;

HAL_SPI_Receive(&hspi1, (uint8_t*)&localRxBuf[0], 1, 10000);
data1 = localRxBuf[0];
HAL_SPI_Receive(&hspi1, (uint8_t*)&localRxBuf[0], 1, 10000);
data2 = localRxBuf[0];
//HAL_SPI_Receive(&hspi1, (uint8_t*)&localRxBuf[0], 1, 10000);
//data3 = localRxBuf[0];

придобавлении третьего чтения портятся data1,data2,data3......мистика какая-то. Повторюсь - на осцилографе все красиво и правильно

Такое ощущение, что HAL-библиотека глючит...
внутрь HAL что-ли полезть
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.