Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: terrarus, ivan_fd  
Форум Picbasic.ru » Электроника » Proteus » Подключение внешнего ЦАП по I2C
Подключение внешнего ЦАП по I2C
ivan_fd Дата: Чт, 29.03.2012, 13:10  |                                                                                                                Сообщение # 16
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Ваш проект на Протоне, если нужно могу сделать и на PBP.

Выходное напряжение растет от нуля до максимума.
Прикрепления: 212.zip (45.5 Kb)
Matrix252005 Дата: Чт, 29.03.2012, 13:32  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

ivan_fd, СПС, действительно так лучше... Я этого не знал как сделать... СПС Вам!!!

THE TRUTH IS OUT THERE.

С уважением, Николай.
ivan_fd Дата: Чт, 29.03.2012, 14:02  |                                                                                                                Сообщение # 18
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Я тут посмотрел,

Эту строку - Val2 = %11110000 & (value << 4) можно записать просто

Val2 = value << 4

так как младший полубайт и так будет равен нулю.
Ramirez Дата: Чт, 29.03.2012, 14:11  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2012

Статус: Offline

Спасибо, работает! Склоняю голову и охотно признаю Ваш профессионализм и свою неправоту в вопросе о том, что разница между ПБП и протоном не принципиальна, поскольку из Вами написанного ясность в вопросе не наступила... Посему не сложно ли обьяснить порядок адресации, а лучше ещё и показать как это выглядит в формате ПБП для одного-другого вывода ЦАП'а? Заранее спасибо, с уважением, Дмитрий...

Ramirez
Matrix252005 Дата: Чт, 29.03.2012, 14:35  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Quote (Ramirez)
поскольку из Вами написанного ясность в вопросе не наступила...

В каком смысле??? Если Вы не поняли, как производится опрос, в данном случае с AD5305, то как и со всеми остальными м/с, у него есть свой ID номер, это "000110хх", дальше (по шиту) выбираем канал ЦАП, (стр 16 шита) POINTER BYTE BITS - получается %0000хххх номер канала, от D к A, затем (стр 17) Вы посылаете: первые 4 бита, у Вас должны быть не измены, а потом 8 бит данных...
Все...

Если Вы имели ввиду это... biggrin


THE TRUTH IS OUT THERE.

С уважением, Николай.
Ramirez Дата: Чт, 29.03.2012, 14:45  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2012

Статус: Offline

Я имею в виду не это... Это-то я пониял, просто как в ПБП это организовать? Там, имеет место быть указание ID номера и это все работает для ЦАПа с одним выводом, а вот как указать канал... хрен его, понимаете ли, знает... вот оно как...

Ramirez
ЯНДЕКС Дата: 29.03.2012
Matrix252005 Дата: Чт, 29.03.2012, 15:06  |                                                                                                                Сообщение # 22
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Quote (Matrix252005)
дальше (по шиту) выбираем канал ЦАП, (стр 16 шита) POINTER BYTE BITS - получается %0000хххх номер канала, от D к A

Я Вам написал... %00001000 -Вы выбираете канал D, %00000100 -Вы выбираете канал С...

Разницы нет... Что на РВР, что протон, разница в операторах... В РВР, Вы должны посылать тоже самое, только своими операторами...


THE TRUTH IS OUT THERE.

С уважением, Николай.
Ramirez Дата: Чт, 29.03.2012, 15:53  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2012

Статус: Offline

Да, всё это понятно, и получается что на ПБП для получения уровея еапряжения +5В на выходе DACA должно быть так:

I2CWRITE PortA.2,PortA.1,%01011000,%00000001,[%11111111], но не работает...

Добавлено (29.03.2012, 15:52)
---------------------------------------------
Не подскажете в чем ошибка?

Добавлено (29.03.2012, 15:53)
---------------------------------------------
I2CWRITE PortA.2,PortA.1,%00011000,%00000001,[%11111111]


Ramirez
Сообщение отредактировал Ramirez - Чт, 29.03.2012, 15:53
Matrix252005 Дата: Чт, 29.03.2012, 16:00  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Подскажу, в "[%11111111]"!!!!

Добавлено (29.03.2012, 16:00)
---------------------------------------------
Вы открывали мой файл *.BAS??? Там я писал: "' Всегда первые 4 бита должны быть 0010 !!!!!!!!" значит у Вас должно быть %0010хххх, %хххх0000.

Где Х - значение данных от D7 до D0 (%0010D7D6D5D4, %D3D2D1D0 0000).


THE TRUTH IS OUT THERE.

С уважением, Николай.
Ramirez Дата: Чт, 29.03.2012, 16:02  |                                                                                                                Сообщение # 25
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2012

Статус: Offline

А почему? По-моему "%00011000" соответствует адресу, "%00000001" - выходу, а "[%11111111]" - уровню выходного напряжения +5В, разве нет?

Добавлено (29.03.2012, 16:02)
---------------------------------------------
Впрочем, можно там поставить что угодно другое, это не меняет дела!


Ramirez
ivan_fd Дата: Чт, 29.03.2012, 16:02  |                                                                                                                Сообщение # 26
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

На ПБП будет приблизительно так:

I2CWRITE PortA.2,PortA.1,%00011000,%00000001,[Val1,Val2]

%00011000 - это, по Вашему, ID устройства



%00000001 - это и есть выбор канала, то есть:

%00000001 - DAC A
%00000010 - DAC B
%00000100 - DAC C
%00001000 - DAC D
Ramirez Дата: Чт, 29.03.2012, 16:03  |                                                                                                                Сообщение # 27
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2012

Статус: Offline

ААА! Спасибо, сейчас попробую!

Ramirez
Matrix252005 Дата: Чт, 29.03.2012, 16:14  |                                                                                                                Сообщение # 28
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Да, только Val1 должен начинаться с %0010.

THE TRUTH IS OUT THERE.

С уважением, Николай.
Ramirez Дата: Чт, 29.03.2012, 16:16  |                                                                                                                Сообщение # 29
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2012

Статус: Offline

Заработало!! Наконец-то!! ОГРОМНОЕ СПАСИБО ВСЕМ!!

Ramirez
Форум Picbasic.ru » Электроника » Proteus » Подключение внешнего ЦАП по I2C
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: