Easyelectronics.ru

Электроника для всех
Текущее время: 24 янв 2018, 01:00

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: NRF51822: Проблема с SPI
СообщениеДобавлено: 12 июл 2017, 03:52 
Заглядывает иногда

Зарегистрирован: 12 авг 2012, 19:04
Сообщения: 92
Пытаюсь запустить SPI у контроллера NRF51822. Пока для верности не использую RTOS и SoftDevice, только SDK версии 12.3.0 и всё.

Инициализирую SPI следующим образом:
Код:
static const nrf_drv_spi_t spi = NRF_DRV_SPI_INSTANCE(0);
...     
nrf_drv_spi_config_t spi_config = NRF_DRV_SPI_DEFAULT_CONFIG;
spi_config.ss_pin = SPIM0_SS_PIN;
spi_config.miso_pin = SPIM0_MISO_PIN;
spi_config.mosi_pin = SPIM0_MOSI_PIN;
spi_config.sck_pin = SPIM0_SCK_PIN;
spi_config.mode = NRF_DRV_SPI_MODE_1;
APP_ERROR_CHECK(nrf_drv_spi_init(&spi, &spi_config, NULL));


Затем пытаюсь отправить 1 байт вот так:
Код:
uint8_t tx_buf[] = { 0x11 };
APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, tx_buf, sizeof(tx_buf), NULL, 0));


И... функция nrf_drv_spi_transfer больше не возвращает управление. Под отладчиком видно, что всё висит вот в этом цикле (функция spi_transfer, файл nrf_drv_spi.c):
Код:
while (!nrf_spi_event_check(p_spi, NRF_SPI_EVENT_READY)) {}


Самое странное для меня заключается в том, что сначала всё отлично работало, а потом перестало. При этом я даже вернул в коде всё как было, но это уже не помогло. Однако раз в несколько десятков перезагрузок или перепрошивок (при этом можно зашить тот же самый код, без изменений) SPI может внезапно заработать (правда, ненадолго - после нескольких десятков вызовов функции передачи данных всё всё равно зависает).

В чём может быть проблема?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NRF51822: Проблема с SPI
СообщениеДобавлено: 22 янв 2018, 15:36 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2079
как осуществляется отладка? может, отладчик вносит свои задержки?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB