Всем доброго времени суток. Столкнулся с такой проблемой: читаю канал 0 и канал 1. Данный обрываются и приходят битыми. На самом ацп сигнал стабильный. Сейчас читаю каждый канал по 4 раза, так вот бывает в первом чтении канала или втором или в третьем или в четвертом приходит верное значение. Не знаю от чего зависит.
Анализатор уровней показывает, что данные верные без разрыва. Т.е. сам SPI контроллера рвет данные.
Скорость SPI минимальная примерно 600kbs. Вроде не новичек но не понимаю в чем дело.
На этом SPIесть еще 3 устройства, они запустились без проблем.
Буда рад любой помощи!
STM32G474VET6 и MCP3204
Re: STM32G474VET6 и MCP3204
Что значит "данные верные без разрыва"? И что такое "данный обрываются"?
Приобретите логический анализатор и с его помощью снимите обмен по SPI. И проверьте его корректность.
Приобретите логический анализатор и с его помощью снимите обмен по SPI. И проверьте его корректность.
Re: STM32G474VET6 и MCP3204
Анализатор есть, он показывает: на канале 0 значение 0, на канале 1 значение 3244.
В дебагере показывает вот что:
adcs[0] volatile uint16_t 0
adcs[1] volatile uint16_t 0
adcs[2] volatile uint16_t 80
adcs[3] volatile uint16_t 48
adcs[4] volatile uint16_t 3244
adcs[5] volatile uint16_t 3244
adcs[6] volatile uint16_t 92
adcs[7] volatile uint16_t 3120
В дебагере показывает вот что:
adcs[0] volatile uint16_t 0
adcs[1] volatile uint16_t 0
adcs[2] volatile uint16_t 80
adcs[3] volatile uint16_t 48
adcs[4] volatile uint16_t 3244
adcs[5] volatile uint16_t 3244
adcs[6] volatile uint16_t 92
adcs[7] volatile uint16_t 3120