BooSooV 0 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба Здравствуйте :) Точно Spi переведён на приём? Copy-paste погубит мир :) А вообще, для подобных работ осциллограф наипервейшее средство. Есть? Осцилограф есть =) без него бы я вообще ничего не смог, на нем сигнал отправляемым мастером выглядит хорошо,вроде, такт тоже в норме Копи пастом грешу конечно, но без него и того бы не было, а на прием переводится командой SPI2->CR1 &= ~ SPI_CR1_BIDIOE; //BIDIOE прием Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба Осцилограф есть =) без него бы я вообще ничего не смог, на нем сигнал отправляемым мастером выглядит хорошо,вроде, такт тоже в норме Копи пастом грешу конечно, но без него и того бы не было, а на прием переводится командой SPI2->CR1 &= ~ SPI_CR1_BIDIOE; //BIDIOE прием Обратно от датчика что? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BooSooV 0 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба Обратно от датчика что? ничего, насколько я могу судить, сигналы идут очень быстро и возможно накладываются, а может он просто молчит в общем ничего интересного от датчика нет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба ничего, насколько я могу судить, сигналы идут очень быстро и возможно накладываются, а может он просто молчит в общем ничего интересного от датчика нет Зациклить обмен с датчиком. Ждущая развертка, запуск от CS. На каждый цикл обмена (CS 1-->0 и 1-->0) должно быть 16 синхроимпульсов SCK, на первые 8 - ваши данные (0x4F), на вторые 8 - ответ датчика. Разворачивайте, смотрите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BooSooV 0 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба Зациклить обмен с датчиком. Ждущая развертка, запуск от CS. На каждый цикл обмена (CS 1-->0 и 1-->0) должно быть 16 синхроимпульсов SCK, на первые 8 - ваши данные (0x4F), на вторые 8 - ответ датчика. Разворачивайте, смотрите. Посмотрел for(uint32_t i=0; i<0x000000FF; i++); //Прием данных. изменил время задержки между приемом и передачей, и когда (CS 1-->0 и 1-->0) у меня там лежит 16 импульсов такта но зато только сейчас заметил что в канале данных творится дурь, сейчас в пеинте написуюкакая Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба Посмотрел for(uint32_t i=0; i<0x000000FF; i++); //Прием данных. изменил время задержки между приемом и передачей, и когда (CS 1-->0 и 1-->0) у меня там лежит 16 импульсов такта но зато только сейчас заметил что в канале данных творится дурь, сейчас в пеинте написуюкакая Очень хорошо; что с данными? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BooSooV 0 24 июня, 2015 Опубликовано 24 июня, 2015 (изменено) · Жалоба Очень хорошо; что с данными? картинка с плавным падением сигнала Для проверки канала подал 10101010, вот что увидел осцилограф в канале данных(ровные кубики) Изменено 24 июня, 2015 пользователем BooSooV Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 24 июня, 2015 Опубликовано 24 июня, 2015 (изменено) · Жалоба "…Мойша The Beatles напел…" :) Синхроимпульсы как расположены? 0x4F, положим, видно. Плавный спад - разряд входной емкости. Ответ должен быть 0xBC. 10101010 - на фига? Датчик же висит на шине - хрень какая-нибудь загонтся в него… Ё-моё! 0x4F! Маэстро, вы, не охренели? Запись в регистр для чтения? Изменено 24 июня, 2015 пользователем Obam Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BooSooV 0 24 июня, 2015 Опубликовано 24 июня, 2015 (изменено) · Жалоба "…Мойша The Beatles напел…" :) Синхроимпульсы как расположены? 0x4F, положим, видно. Плавный спад - разряд входной емкости. Ответ должен быть 0xBC. 10101010 - на фига? Датчик же висит на шине - хрень какая-нибудь загонтся в него… Ё-моё! 0x4F! Маэстро, вы, не охренели? Запись в регистр для чтения? Вот так расположены синхроимпульсы но но уважаемый =)) никакой записи и в помин нет, если я не ошибаюсь даташит http://www.farnell.com/datasheets/1836732.pdf (стр 16) гласит: SPI read The SPI read command is performed with 16 clock pulses: bit 0: READ bit. The value is 1. bit 1: MS bit. When 0, do not increment the address, when 1, increment the address in multiple readings. bit 2-7: address AD(5:0). This is the address field of the indexed register. bit 8-15: data DO(7:0) (read mode). This is the data that is read from the device (MSB first). Multiple read command is also available in 3-wires mode. блин вижу свой косяк Изменено 24 июня, 2015 пользователем BooSooV Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба но но уважаемый =)) никакой записи и в помин нет, если я не ошибаюсь Да ну? 0x4F как на картиночке будет расположено? Тут старая сказка "про белого бычка": бит 0 в байте данных и бит 0 при его передаче. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BooSooV 0 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба надо писать 8F == 10001111 1 = читаю 0 = без сдвига 001111 = откуда читаю Спасибо за указание на ошибку, я один нолик пропустил Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба Кроме того, если нет записи, по-вашему, 11110010b (0x4F наоборот) по какому адресу читался ID датчика? надо писать 8F == 10001111 Что датчик отвечает? Осцилл. старый? Почему сигналограммы в paint? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BooSooV 0 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба Кроме того, если нет записи, по-вашему, 11110010b (0x4F наоборот) по какому адресу читался ID датчика? Что датчик отвечает? Осцилл. старый? Почему сигналограммы в paint? не долгой была моя радость, датчик отвечает FF Осцилограмма в пеинте потому что способа проще я не нашел, у меня простой осцилограф, старого типа, никакого вывода на комп нету, и вот что он нам показал: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба И из DR читается 0xFF? Повторяемость результата есть? не долгой была моя радость, датчик отвечает FF Не нравится мне плавный спад: синхроимпульсы в это время есть? Кстати, фронты синхроимпульсов правильно выбраны? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BooSooV 0 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба И из DR читается 0xFF? Повторяемость результата есть? что за DR? я ведь должен прислать датчику такое чтобы считать? 10111100 (BC) ? повторяемость 100% с этим все стабильно)) Синхроимпульсы есть? а как проверить правильно ли выбраны их фронты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться