|
|
  |
STM32L100 + HTS221 |
|
|
|
Jun 24 2015, 06:42
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 10-06-15
Пользователь №: 87 107

|
Цитата(Obam @ Jun 24 2015, 06:33)  Здравствуйте  Точно Spi переведён на приём? Copy-paste погубит мир  А вообще, для подобных работ осциллограф наипервейшее средство. Есть? Осцилограф есть =) без него бы я вообще ничего не смог, на нем сигнал отправляемым мастером выглядит хорошо,вроде, такт тоже в норме Копи пастом грешу конечно, но без него и того бы не было, а на прием переводится командой SPI2->CR1 &= ~ SPI_CR1_BIDIOE; //BIDIOE прием
|
|
|
|
|
Jun 24 2015, 06:53
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 10-06-15
Пользователь №: 87 107

|
Цитата(Obam @ Jun 24 2015, 06:44)  Обратно от датчика что? ничего, насколько я могу судить, сигналы идут очень быстро и возможно накладываются, а может он просто молчит в общем ничего интересного от датчика нет
|
|
|
|
|
Jun 24 2015, 07:07
|

Знающий
   
Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663

|
Цитата(BooSooV @ Jun 24 2015, 10:53)  ничего, насколько я могу судить, сигналы идут очень быстро и возможно накладываются, а может он просто молчит в общем ничего интересного от датчика нет Зациклить обмен с датчиком. Ждущая развертка, запуск от CS. На каждый цикл обмена (CS 1-->0 и 1-->0) должно быть 16 синхроимпульсов SCK, на первые 8 - ваши данные (0x4F), на вторые 8 - ответ датчика. Разворачивайте, смотрите.
--------------------
Пролетарий умственного труда.
|
|
|
|
|
Jun 24 2015, 07:25
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 10-06-15
Пользователь №: 87 107

|
Цитата(Obam @ Jun 24 2015, 07:07)  Зациклить обмен с датчиком. Ждущая развертка, запуск от 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 импульсов такта но зато только сейчас заметил что в канале данных творится дурь, сейчас в пеинте написуюкакая
|
|
|
|
|
Jun 24 2015, 07:40
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 10-06-15
Пользователь №: 87 107

|
Цитата(Obam @ Jun 24 2015, 07:26)  Очень хорошо; что с данными? картинка с плавным падением сигнала Для проверки канала подал 10101010, вот что увидел осцилограф в канале данных(ровные кубики)
Сообщение отредактировал BooSooV - Jun 24 2015, 07:41
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 24 2015, 07:59
|

Знающий
   
Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663

|
"…Мойша The Beatles напел…"  Синхроимпульсы как расположены? 0x4F, положим, видно. Плавный спад - разряд входной емкости. Ответ должен быть 0xBC. 10101010 - на фига? Датчик же висит на шине - хрень какая-нибудь загонтся в него… Ё-моё! 0x4F! Маэстро, вы, не охренели? Запись в регистр для чтения?
Сообщение отредактировал Obam - Jun 24 2015, 07:55
--------------------
Пролетарий умственного труда.
|
|
|
|
|
Jun 24 2015, 08:12
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 10-06-15
Пользователь №: 87 107

|
Цитата(Obam @ Jun 24 2015, 07:59)  "…Мойша 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. блин вижу свой косяк
Сообщение отредактировал BooSooV - Jun 24 2015, 08:07
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 24 2015, 08:13
|

Знающий
   
Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663

|
Цитата(BooSooV @ Jun 24 2015, 12:05)  но но уважаемый =)) никакой записи и в помин нет, если я не ошибаюсь Да ну? [attachment=93415:_x7_.png] 0x4F как на картиночке будет расположено? Тут старая сказка "про белого бычка": бит 0 в байте данных и бит 0 при его передаче.
--------------------
Пролетарий умственного труда.
|
|
|
|
|
Jun 24 2015, 08:15
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 10-06-15
Пользователь №: 87 107

|
надо писать 8F == 10001111 1 = читаю 0 = без сдвига 001111 = откуда читаю Спасибо за указание на ошибку, я один нолик пропустил
|
|
|
|
|
Jun 24 2015, 08:20
|

Знающий
   
Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663

|
Кроме того, если нет записи, по-вашему, 11110010b (0x4F наоборот) по какому адресу читался ID датчика? Цитата(BooSooV @ Jun 24 2015, 12:15)  надо писать 8F == 10001111 Что датчик отвечает? Осцилл. старый? Почему сигналограммы в paint?
--------------------
Пролетарий умственного труда.
|
|
|
|
|
Jun 24 2015, 08:25
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 10-06-15
Пользователь №: 87 107

|
Цитата(Obam @ Jun 24 2015, 08:20)  Кроме того, если нет записи, по-вашему, 11110010b (0x4F наоборот) по какому адресу читался ID датчика?
Что датчик отвечает? Осцилл. старый? Почему сигналограммы в paint? не долгой была моя радость, датчик отвечает FF Осцилограмма в пеинте потому что способа проще я не нашел, у меня простой осцилограф, старого типа, никакого вывода на комп нету, и вот что он нам показал:
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 24 2015, 08:38
|

Знающий
   
Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663

|
И из DR читается 0xFF? Повторяемость результата есть? Цитата(BooSooV @ Jun 24 2015, 12:25)  не долгой была моя радость, датчик отвечает FF Не нравится мне плавный спад: синхроимпульсы в это время есть? Кстати, фронты синхроимпульсов правильно выбраны?
--------------------
Пролетарий умственного труда.
|
|
|
|
|
Jun 24 2015, 08:40
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 10-06-15
Пользователь №: 87 107

|
Цитата(Obam @ Jun 24 2015, 08:32)  И из DR читается 0xFF? Повторяемость результата есть? что за DR? я ведь должен прислать датчику такое чтобы считать? 10111100 (BC) ? повторяемость 100% с этим все стабильно)) Синхроимпульсы есть? а как проверить правильно ли выбраны их фронты?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|