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

 
 
> 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 5 2007, 11:54
Сообщение #2


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

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



Спасибо, разобрался.
smile.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 5 2007, 22:42
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Ivan_Kov @ Mar 5 2007, 10:54) *
Спасибо, разобрался.
Рискну процитировать коллегу из другой ветки:
Цитата(Andy Mozzhevilov @ Feb 21 2007, 05:46) *
Отчет в студию!
По крайней мере так принято, даже если он в стиле "сам был дурак".
wink.gif


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 17:29
Рейтинг@Mail.ru


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