Показать сообщение отдельно
Старый 01.08.2018, 12:25   #5 (permalink)
Dreamsuefer
Новичок
 
Регистрация: 22.07.2018
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Решил переписать снифер. Сторонний собирает данные в кучу, причем данные в один цикл могут задблированными идти, как оно работает - хз.
Нашел временные параметры столбиков сигналов, старт стоп все передачи, функции задержки в мкс. Впервые, с 13 битовые манипуляции использую. Вот для чего нужны конъюнкции и дизюнкции)) Уж не знаю получится ли. Ардино микруха 16мгц, а шина i2c 100кгц. Запас как бы есть, стараюсь без прерываний делать. Данные удалось получить из стороннего снифира, но мусором, раскоментировав строки с raw дата.
Второй вариант, попробовать встать с таким же адресом как и микросхема, но тут сложность - их две. Может быть вариант решения это прижимать линию в 0 тогда все будут ждать, менять адрес на второй и отпускать линию. Но это теория. Как будут себя вести два слейва с одним адресом - это не известно да и не совсем корректно.
Так что, остаётся описать чтение двух первых битов порта Port_c. Он аналоговый и я ещё не знаю, способен ли он работать на 100кгц.
Я уже пробовал собрать байт слово. Но из за косяка в упорядочивании и определении начала передачи - криво вышло.
Думаю пока это самый правильный путь. Собрать слово или несколько, если приходит бит конца передачи - прижимать линию в 0 и прерываться на отправку в блутуз.
Dreamsuefer вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070