Easyelectronics.ru

Электроника для всех
Текущее время: 17 июл 2018, 22:23

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



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

Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: 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
Сообщения: 2414
как осуществляется отладка? может, отладчик вносит свои задержки?


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

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2414
а вообще сколько я видел в своей жизни скандинавов - все были любители дунуть...)


Вложения:
Снимок экрана 2018-04-07 в 20.08.54.png
Снимок экрана 2018-04-07 в 20.08.54.png [ 78.74 Кб | Просмотров: 609 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NRF51822: Проблема с SPI
СообщениеДобавлено: 21 апр 2018, 02:39 
Только пришел

Зарегистрирован: 11 фев 2017, 19:56
Сообщения: 22
goreprogrammist писал(а):
сколько я видел в своей жизни скандинавов - все были любители дунуть...)

В это не трудно поверить, если посмотреть SDK. Библиотеки писаны еще забористее, чем STM-овские HAL/SPL. Сегодня только офигевал от кода типа такого:

Код:
bool func1(void) {
  if (...) return false;
  // bla-bla-bla
  return true;
}

bool func2(void) {
  // bla-bla-bla
  return (func1()) ? true : false;
}


Я долго морщил нос, тер глаза, тряс головой, но ничего не помогло мне понять, что хотел сказать неизвестный скандинавский программист в последней строке функции func2.


Последний раз редактировалось a5021 21 апр 2018, 03:00, всего редактировалось 1 раз.

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

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2414
))
а может у них те же индусы на аутсорсе?

проблема, как я понимаю, в том, что если в случае с stm вроде как все можно по даташитам с нуля собрать, тут с их блютусовым стеком уже так просто не поиграешься.
может ошибаюсь, но их сдк вроде как интегрирован со стеком, и писать сугубо свое может выйти себе же дороже...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NRF51822: Проблема с SPI
СообщениеДобавлено: 21 апр 2018, 03:52 
Только пришел

Зарегистрирован: 11 фев 2017, 19:56
Сообщения: 22
Все так, но при условии использования этого самого стека. В иных случаях радио там и в Enhanced ShockBurst возможно употребить. Типа, к существующей инфраструктуре NRF24 чего-нибудь прицепить или что-то вроде. Еще кейс -- это без использования радио вовсе. Китайцы на али модули с nRF52832 продают бывает по 150 руб/шт. Cortex-M4F за такие деньги, да с 512к флеша, плюс 64 рамы, очень хорошо и в нерадиофицированные приложения идет. :) Я мимо такого предложения не смог пройти. Сляпал платку ЛУТом, сижу, раскуриваю этот 52832 потихоньку.

Изображение


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

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2414
хых. не попадалось :-( мне для ble понадобилось. брал 51822 рублей за 300.
и как, оно правда настоящее? красивый лут вышел!

вообще на 52 серии вроде как посвежее софтдевайсы ставятся. примеры опять же свежее. в сеггере поддержка лучше. такое ощущение, что 51 они уже считают морально устаревшей (хотя вроде отдельные цифры энергопотребления в даташите были лучше того, что я видел у одной из 52 моделей - но могу ошибаться)
а отладка с помощью чего? у меня беда, паленый jlink отваливается в течение полуминуты-минуты - удовольствие то еще... но задача была пока разовая - и покупать еще что-то смысла пока не увидел.


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

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4772
goreprogrammist

https://ru.aliexpress.com/item/CDEBYTE- ... autifyAB=0


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

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2414
спасибо! заказал)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NRF51822: Проблема с SPI
СообщениеДобавлено: 21 апр 2018, 21:45 
Только пришел

Зарегистрирован: 11 фев 2017, 19:56
Сообщения: 22
goreprogrammist писал(а):
и как, оно правда настоящее?

Вот такую сисинфу набросал:

Show

Выдает следующее:

Изображение


Цитата:
а отладка с помощью чего?

Китайский ST-Link V2 за сто рублей. Шьет и отлаживает без вопросов.


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

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2414
а. у меня просто IDE of choice - SES (Segger), там ему джлинки подавай. jlink из discovery работает только с stm чипами. так что пока что так...

кстати, любопытно, а другой конец платы как выглядит?

у меня последние разы лут - не лут, а какое-то сплошное разочарование. то ли перекись травит агрессивнее ХЖ, то ли тонер в принтере говно. на той платке что сделал - в итоге провода для программирования подпаивал прямо к модулю, питание тоже - прямо к модулю. а надо-то было всех вместе шесть выводов))


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

Зарегистрирован: 11 фев 2017, 19:56
Сообщения: 22
goreprogrammist писал(а):
а другой конец платы как выглядит?

Как-то вот так:
Изображение

Цитата:
у меня последние разы лут - не лут, а какое-то сплошное разочарование. то ли перекись травит агрессивнее ХЖ, то ли тонер в принтере говно.

Я по этой причине от лимонной кислоты отказался. Края дорожек получаются, как береговая линия в Норвегии. Да и под тонер норовит забраться. Соляная в этом плане намного спокойнее. Травлю ей.


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

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


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

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


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

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

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