Сдвоенный потенциометр MCP4231-503E/P c управлением по SPI.
- Войдите на сайт для отправки комментариев
Втр, 06/07/2021 - 13:58
Уважаемые форумчане, нужна Ваша помощь. Вот функция по управлению микросхемой MCP4231-503E/P:
//функция записи значений в цифровой потенциометр
void mcpBassWrite_byte(byte b){
digitalWrite(CS1, LOW);
delayMicroseconds(1);
SPI.transfer(0b00010000);
SPI.transfer(b);
digitalWrite(CS1, HIGH);
}
Если SPI.transfer посылает байт вида 0b00010000, выбирается 1-й потенциометр, если 0b00000000, то управляем 2-м потенциометром. Мне нужно управлять сразу двумя одновременно. Подскажите, кто знает, как будет выглядеть байт?
Из дата шита ничего не понял, знаний пока недостаточно.
А что, нельзя сначала послать байт на первый, а потом байт на второй?
Из дата шита ничего не понял, знаний пока недостаточно.
Значить, рано еще потанцометром управлять.
Можно. Но в описании имеется возможность выбора сразу двух, пробовал разные варианты, не получается.
Управлять то получается, с этим проблем нет, а вот в битах, байтах, сдвиговых регистрах знаний недостаточно. Само управление потенциометром построено на 16 битном регистре сдвига. Первый байт управляющий, второй задает значение. Нужно понять какой нужно байт, чтобы выбрать сразу 2 потенциометра.
Есть статья с подробным описанием работы:
http://microsin.net/adminstuff/hardware/mcp41xxx-mcp42xxx-digital-potent...
Может, кто то, прочитав про управление, даст ответ про этот байт вида...
Вы правы, переписал код на поочередный выбор. Меняет сопротивление как будто два сразу выбраны, спасибо.
Для устройств MCP42XXX биты выбора потенциометра P1 и P0 (биты 0:1) определяют, на какие потенциометры действует команда. Соответствующая лог. 1 в позиции обозначает, что выполняется команда для этого потенциометра, в то время как лог. 0 обозначает, что команда не будет влиять на этот потенциометр (см. рис. 5-2).
----------------------
B00000011 - Команда выполнится для обоих потенциометров.
Есть статья с подробным описанием работы:
http://microsin.net/adminstuff/hardware/mcp41xxx-mcp42xxx-digital-potent...
Может, кто то, прочитав про управление, даст ответ про этот байт вида...
То, что написано в этой статье не соответствует даташиту. Возможно, она про какие-то другие устройства. Вы уж определитесь, что за устройство у Вас. Судя по даташиту, за разные потенциометры отвечают разные регистры и значит, одной командой ими управлять нельзя.
Для устройств MCP42XXX биты выбора потенциометра P1 и P0 (биты 0:1) определяют, на какие потенциометры действует команда. Соответствующая лог. 1 в позиции обозначает, что выполняется команда для этого потенциометра, в то время как лог. 0 обозначает, что команда не будет влиять на этот потенциометр (см. рис. 5-2).
----------------------
B00000011 - Команда выполнится для обоих потенциометров.
Пробовал этот вариант в первую очередь, вроде бы логично, судя по картинке, но не работает. И комбинировал C1, C0, P1, P2 в разных вариациях, не регулируются оба сразу.
Для устройств MCP42XXX биты выбора потенциометра P1 и P0 (биты 0:1) определяют, на какие потенциометры действует команда. Соответствующая лог. 1 в позиции обозначает, что выполняется команда для этого потенциометра, в то время как лог. 0 обозначает, что команда не будет влиять на этот потенциометр (см. рис. 5-2).
----------------------
B00000011 - Команда выполнится для обоих потенциометров.
А теперь попробуйте найти это в даташите. Там совсем по-другому.
Про них тоже там не то написано. В даташите у них совсем другие значения - таблица 7.1 на стр. 47
Есть статья с подробным описанием работы:
http://microsin.net/adminstuff/hardware/mcp41xxx-mcp42xxx-digital-potentiometer-with-spi-interface.html
Может, кто то, прочитав про управление, даст ответ про этот байт вида...
То, что написано в этой статье не соответствует даташиту. Возможно, она про какие-то другие устройства. Вы уж определитесь, что за устройство у Вас. Судя по даташиту, за разные потенциометры отвечают разные регистры и значит, одной командой ими управлять нельзя.
Евгений, у меня точно вот этот MCP4231-503E/P, статью читал, думал про мой написана. Спасибо, понял. Буду регулировать поочередно.
А теперь попробуйте найти это в даташите. Там совсем по-другому.
Да мне-то не особо нужно. Человек хотел из статьи - я ему копипастнул из статьи.
Евгений, у меня точно вот этот MCP4231-503E/P, статью читал, думал про мой написана. Спасибо, понял. Буду регулировать поочередно.
Может я не от того устройства даташит нашёл? Сейчас посмотрим.
P.S. нет, тот самый . Вот он прямо на сайте производителя - https://ww1.microchip.com/downloads/en/DeviceDoc/22060b.pdf
Откройте страницу 47, посмотрите как определяются С1:С0 и передавайте привет автору статьи.
Может я не от того устройства даташит нашёл? Сейчас посмотрим.
P.S. нет, тот самый . Вот он прямо на сайте производителя - https://ww1.microchip.com/downloads/en/DeviceDoc/22060b.pdf
Откройте страницу 47, посмотрите как определяются С1:С0 и передавайте привет автору статьи.
Да, там про P1 и P2 совсем ничего нет.
Да, там про P1 и P2 совсем ничего нет.
А их там просто нет. На этом месте биты данных. Потенциометр же определяется адресом в памяти 0 - для нулевого (Вы его "вторым" обозвали) и 1 - для первого - стр. 48