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

 
 
> STM32F103 и NRF24L01, проблема с записью данных в регистры радиомодуля
MySOL
сообщение Jul 27 2014, 10:22
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 17-06-12
Пользователь №: 72 370



Здравствуйте уважаемые форумчане! Вопрос к тем, кто работал с NRF24L01. Проблема следующего характера. Отсылаю команду чтения данных из регистра, к примеру:
Код
GPIOA->BSRR    =    GPIO_BSRR_BR3; // SS_low
ReadWriteByte(0x01); // команда "чтение данных из регистра EN_AA"
ReadWriteByte(0x00); // процесс чтения
GPIOA->BSRR    =    GPIO_BSRR_BS3; // SS_high

Данные приходят верные (дефолтные, совпадающие с даташитом).
Проверял так со всеми регистрами. Всё работает. Далее пытаюсь записать данные в регистр и считать их же:
Код
GPIOA->BSRR    =    GPIO_BSRR_BR3; // SS_low
ReadWriteByte(0x20); // команда "запись данных в регистр CONFIG"
ReadWriteByte(0x02); // данные
GPIOA->BSRR    =    GPIO_BSRR_BS3; // SS_high

__delay(0x00333); // задержка ~ 50 мкс
    
GPIOA->BSRR    =    GPIO_BSRR_BR3; // SS_low
ReadWriteByte(0x00); // команда "чтение данных из регистра CONFIG"
ReadWriteByte(0xFF); процесс чтения
GPIOA->BSRR    =    GPIO_BSRR_BS3; // SS_high

На осциллограмме канала MOSI всё проходит чётко. На MISO же первым пакетом приходят данные из регистра STATUS, а затем нули.
SPI работает в 8-ом режиме CPOL=0, CPHA=1, частота ~ 300000 кГц (для удобства отладки). Сам процесс передачи проверял, SS работает без перебоев и поднимается только по окончании передачи пакета, т.е. проблем с обрывами быть не должно.
В чём может быть загвоздка?
Go to the top of the page
 
+Quote Post

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


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

 


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


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