реклама на сайте
подробности

 
 
> Помогите пожалуйста с I2C в lpc2148
Eugene.L
сообщение Jul 16 2009, 12:22
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 6-01-09
Пользователь №: 42 952



Доброго времени суток всем. С армами дружу совсем недавно, вот столкнулся с проблемой решения которой пока не нахожу.
Контроллер сопряжен через I2C с ЦАПом ad5315 по средствам I2C. МК должен работать в режиме МАСТЕР соотвественно ЦАП в режиме СЛЕЙВ. Задача проста, послать по шине адрес ЦАПа, указатель (Pointer) и значения старший байт и младший, всего получается 4 байта.
Как я понял, необходимо для начала записать в регистр I2С0ADR - адрес ведомого устройства т.е. моего ЦАПа(или этот регистр хранит адрес самого МК при работе в слейв режиме???). Далее в I2С0DAT пишем поинтер, после чего :
I2С0CONCLR = 0x000000FF; //Clear all I2C settings
I2С0CONSET = 0x00000040; //Enable the I2C interface
I2С0CONSET = 0x00000020; //Start condition
НО!! после данных операций мне же надо проверить бит подтверждения ACK? Проверяю его вычитав I2С0STAT, но почемуто ЦАП мне не присылает его. В чем я неправ?
2й вопос
Возможно ли повторить данные операции для передачи последующих данных?
Зарание спасибо!
П.С. если у кого тоуже есть готовая процедурка для подобных задач, буду очень признателен если позволите на нее взглянуть. smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Jul 16 2009, 20:27
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



У меня после передачи старт-условия есть
I2CONCLR = 0x20; //--- Сбрасываем флаг обработки старт условия ---

Но вы бы лучше поискали исходники чьи-нибудь, что вам предлагали.
У меня как-то посложнее написано. Попытки обработать ситуёвины нестандартные предусмотрены.
Go to the top of the page
 
+Quote Post
Eugene.L
сообщение Jul 17 2009, 06:51
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 6-01-09
Пользователь №: 42 952



Цитата(SasaVitebsk @ Jul 16 2009, 23:27) *
У меня после передачи старт-условия есть
I2CONCLR = 0x20; //--- Сбрасываем флаг обработки старт условия ---

Но вы бы лучше поискали исходники чьи-нибудь, что вам предлагали.
У меня как-то посложнее написано. Попытки обработать ситуёвины нестандартные предусмотрены.

Спасибо, помоглоsmile.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 14:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016