
Dolphin
12.07.2017
00:47:07
про статик, я имею ввиду

Ivan
12.07.2017
00:47:09
я написал вопрос на инфоцентре нордика и на easyelectornics.ru. авось где-нибудь, да ответят...

Dolphin
12.07.2017
00:48:23
что это может стать причиной нарушения доступа к данным одной функции из другой (внешней)

Ivan
12.07.2017
00:48:40
м?

Google

Ivan
12.07.2017
00:48:50
пример, пожалуйста

Dolphin
12.07.2017
00:49:03
ты передаешь явно указатели на области памяти

Красный
12.07.2017
00:49:12
Кабель может в 5А
Проверено
От 4 тпшек зарядный ток 1.2А
ЧЯДНТ?
Так, интересно
ТПшки прогрелись и жрут теперь 1.80А

Dolphin
12.07.2017
00:49:31
блеадь

Google

Dolphin
12.07.2017
00:49:38
Красный ты в тему (

Красный
12.07.2017
00:49:53

Dolphin
12.07.2017
00:50:38
м?
короче, давай тест одтельный
только SPI без ничего
в таком же стиле как в твоем примере, контроллер живой, контрольные регистры сломаться не могут. Остается только стек и память.

Ivan
12.07.2017
00:53:54
как-то так
я закомментил всё кроме настройки нескольких GPIO, инициализации SPI, отправки 1 байта через него и последующее мигание светодиодом
(по миганию светодиода легко определить зависло оно или нет)

Dolphin
12.07.2017
00:56:25
вот ты ленивый )
ты берешь код с потенциальной ошибкой, и пытаешься проверить на нем
ну и о чем говорить?

Ivan
12.07.2017
01:00:02
окей
по факту исполняется только этот код
вроде, кстати, мигает хД

Красный
12.07.2017
01:01:33
Извините шо помешал

Dolphin
12.07.2017
01:01:44
чет вложенность конячая

Google

Красный
12.07.2017
01:02:17
Знает кто чому от 4 тпшек такой маленький зарядный ток?

Ivan
12.07.2017
01:05:19
вот это уже стабильно виснет
хотя по факту добавилась лишь инициализация UART и GPIOTE, но ни то ни другое не используется

Dolphin
12.07.2017
01:06:18
прерывания разрешены?

Ivan
12.07.2017
01:06:32
ну я их точно не запрещал хД
хм
оставил только инициализацию GPIO
оно тоже стабильно виснет

Dolphin
12.07.2017
01:07:16
а добавь паузу на отправку

Ivan
12.07.2017
01:07:26
вернулся к исходному состоянию
виснет)

Dolphin
12.07.2017
01:07:41
хотя толку, там же ногодрыг

Ivan
12.07.2017
01:07:53
по факту исполняется только этот код
вроде, кстати, мигает хД
вот это перестало работать)
а щас не виснет даже когда я раскомментил снова инициализацию UART
но спустя минуту зависло (я так то вынес отправку данных по SPI в цикл после мигания диодом)

Dolphin
12.07.2017
01:10:40
короче, давай с питанием сначала

Google

Dolphin
12.07.2017
01:10:47
не может так спонтанно тупить

Ivan
12.07.2017
01:11:06
ну мультиметр показывает стабильные 3.3В, SoftDevice не глючит. как ещё проверить?

Dolphin
12.07.2017
01:11:30
а задержку после инита сделай кстати

Ivan
12.07.2017
01:12:53
сделал задержу между инициализацией ВСЕГО (включая маячок) и АЦП 250 миллисекунд, пока мигает
перезагрузил - зависло
спустя минуту как-то само отглючило и заработало

Dolphin
12.07.2017
01:14:55

Ivan
12.07.2017
01:21:46
осциллограф не видит ничего плохого

Dolphin
12.07.2017
01:21:54

Ivan
12.07.2017
01:22:28
я кинул его на 3.3В, настроил уровень триггера чуть меньше чем текущее значение и включил режим захвата одиночного сигнала
сколько не сбрасывал контроллер - он ничего не захватил
хотя иногда контроллер даже несколько раз успевал мигнуть светодиодом прежде чем повиснуть

Dolphin
12.07.2017
01:23:58
Вот еще:
https://devzone.nordicsemi.com/question/24570/softdevice-hangs-with-big-spi-master-transfers/

Ivan
12.07.2017
01:24:30

Dolphin
12.07.2017
01:24:43
ниже другой отписался

Ivan
12.07.2017
01:25:18

Dolphin
12.07.2017
01:25:34

Ivan
12.07.2017
01:29:25
попробовал самостоятельно писать нолик в SS (а после операции - единичку), а также отключить SS в конфигурации SPI

Google

Ivan
12.07.2017
01:29:33
ничего не изменилось
если же ты про ответ с __WFE, то я и так его не использую. и внутри библиотеки вызова этой инструкции тоже нет - я проверял

Dolphin
12.07.2017
01:33:06
\examples\peripheral\spi
Попробуй эти примеры потыкать
я смотрю там прерывания запрещают
и обработчик событий нужен для SPI

Ivan
12.07.2017
01:34:51
не обязателен
без него просто все вызов становятся блокирующими
но вообще, я пробовал и с обработчиком
ты можешь видеть закоментированный код в моём main.c
пока мне нравится вариант с плохой землёй. перекинул щупы осциллографа на землю и питание платы с АЦП (у меня две платы содеинены вместе - на одной МК, на другой АЦП)
однако ничего плохого не видит он
(хотя когда я задел щупы - он просадку словил, значит я его настроил правильно)

Dolphin
12.07.2017
01:38:42
Вот этот нахваливают, посмотри, может нахватишь чего:
http://paste.ubuntu.com/9342369/
Писатель говорит главное инит после BLE, иначе все плохо

Ivan
12.07.2017
01:39:47
ну у меня инит после BLE тоже

Dolphin
12.07.2017
01:40:08
других условий нет от него

Ivan
12.07.2017
01:41:53
(на звание идеального паяльщика не претендую)
вот как эта штука выглядит)