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

 
 
> i2c в lpc2378, не работает
Ivan_Kov
сообщение Mar 2 2007, 16:14
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 30-10-06
Из: г. Курск
Пользователь №: 21 787



lpc работает в режиме master, имеется 1 slave.

Если пытаюсь послать данные, происходит вот что:

1) настраиваю i2c (конфигурация пинов, частота = 200кГц, установка бита i2en)
2) даю старт (бит sta = 1)
3) читаю State. State = 0x8 - ок
4) передаю адрес slave.
5) читаю State. State = 0x18 - ок
6) пишу 1-ый байт данных
7) читаю State. State = 0x8 , а должно быть 0x28

если пытаюсь читать из slave, то возникает аналогичная ситуация - после первой попытки чтения, получаю State = 0x8 , вместо 0x50.

вот осцилограмма SDA и SCL снятая при передачи данных от master к slave Прикрепленный файл  i2c_osc24.zip ( 6.15 килобайт ) Кол-во скачиваний: 154

на ней видно, что сигнал СТАРТ и передача адреса - проходят нормально,
а при передачи первого-же бита данных возникает проблема:
длительность импульса CLK почему-то оказывается увеличенной, и уровень SDA меняется (падает) при высоком уровне CLK. естественно что это не допустимо и, повидимому, расценивается как сигнал старта, от сюда и значение state = 8.
выяснил что такое поведение возникает из-за lpc. Кто-нибудь сталкивался с подобным?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ivan_Kov
сообщение Mar 6 2007, 09:42
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 30-10-06
Из: г. Курск
Пользователь №: 21 787



Все дело оказалось в том, что я не снимал флаг STA (старт) регистра I2CON. Поэтому после передачи адреса, контроллер i2c передавал повторный сигнал старта. В мануале очень подробно описана процедура работы с i2c, но необходимость снятия этого флага не упоминается прямо, лишь косвенно. Это меня и сбило с толку.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:46
Рейтинг@Mail.ru


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