Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
31.05.2008, 12:41
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
i2c+ccs pic
здраствуйте. у меня проблема не могу разобраться с И2С.
I2C_start;
i2c_write(0xa0);
i2c_read(0);
i2c_stop;
Так вот у меня следующая проблема. мне необходимо два раза подряд опросить устройство (прочитать).
Когда происходит первый цикл то все нормально, а на втором выдает FF.
Если я меняю в i2c_read(0); ноль на единицу, то передача происходит нормально, а вот команда i2c_stop; не проходит!!!!
че я не так делаю???
|
|
|
|
31.05.2008, 14:07
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
полный код и желательно проект в проеусе и могу глянуть.если сегодня выложиш
|
|
|
|
31.05.2008, 14:10
|
|
Гражданин KAZUS.RU
Регистрация: 27.07.2006
Сообщений: 659
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: i2c+ccs pic
Сообщение от Gladkih
|
здраствуйте. у меня проблема не могу разобраться с И2С.
I2C_start;
i2c_write(0xa0);
i2c_read(0);
i2c_stop;
Так вот у меня следующая проблема. мне необходимо два раза подряд опросить устройство (прочитать).
Когда происходит первый цикл то все нормально, а на втором выдает FF.
Если я меняю в i2c_read(0); ноль на единицу, то передача происходит нормально, а вот команда i2c_stop; не проходит!!!!
че я не так делаю???
|
I2C_start;
i2c_write(0xa0);
I2C_start;
i2c_read(0);
i2c_stop;
Попробуйте так и уточните про 2 раза.
если я правильно понял вы 2 раза используете ваш фрагмент ?
А ваше ведомое устройство готово выдать след байт?
|
|
|
|
31.05.2008, 15:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: i2c+ccs pic
Сообщение от Gladkih
|
здраствуйте. у меня проблема не могу разобраться с И2С.
I2C_start;
i2c_write(0xa0);
i2c_read(0);
i2c_stop;
|
Может дело в том что вы передавая адрес памяти выставляете последний бит не чтения,а записи,а потом пробуете считать ее
|
|
|
|
31.05.2008, 22:46
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,510 раз(а) в 956 сообщении(ях)
|
А хоть кто кого опрашивает можно уточнить? I2C может быть и часами и градусником и мозгами и ответы Вы будете получать в зависимости от устройства.
"Зри в корень" (Козьма Прутков)
Зри в Даташит (Мое личное)
А вот книжка Шина I2C в радиолюбительских конструкциях:
http://depositfiles.com/files/5222831
|
|
|
|
02.06.2008, 17:26
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Извиняюсь за столь долгое молчание, просто не часто есть доступ к интернету.
По условию задачи мне необходимо связать три контроллера через И2С. Один из них ведущий а два других ведомые. Что у меня получается.
1. Могу связаться с одним контроллером (без разницы каким).
2. Как только я в тексте программы прописываю опрос второго ведомого контроллера после опроса первого у меня второй никак не реагирует на опрос, а на следующем цикле и первый перестает отвечать.
Подскажите если кто работал с таким вариантом.
И еще кто может толком обьяснить в чем разница между
i2c_read(0)
и
i2c_read(1)
Я понимаю что 1- подтверждение АСК, но как это подтверждение послать???
Вобщем за любой совет или ответ заранее благодарю.
В прикрепленном файле программы и проект в протеусе.
Прикрепленный файл: 960982.rar
|
|
|
|
02.06.2008, 17:56
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Нашел на форуче ЕЛЕКТРОНИКС.РУ похожую тему, но с печальным концом,оказалось нерабочий протеус.Может кто встречался с глюком протеус+И2С. Может есть какоето новое обновление? У меня 7.2 СП2.
|
|
|
|
03.06.2008, 00:25
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,510 раз(а) в 956 сообщении(ях)
|
Что-то похожее насчет Глюка I2C пробегало и на Казусе. И если мне не изменяет память это признал и Тень (безвременно покинувший нас представитель Лабцентра на форуме). И уж если совсем напрячь память, то речь шла об исправлении глюка в версии 7.3.
Одно могу сказать точно, в v.7.2.6 глюк с часами DS1307 (лепят на выходе частоту вдвое ниже, чем задано), тоже работающими по I2C не поправлен, правда он к самому интерфейсу не относится. А Тени на эти глюки указывали приблизительно в одно и то же время. Я если найду у себя в архиве этот пост, то скажу точнее, но не сегодня.
|
|
|
|
04.06.2008, 17:53
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Сообщение от Halex07
|
Что-то похожее насчет Глюка I2C пробегало и на Казусе. И если мне не изменяет память это признал и Тень (безвременно покинувший нас представитель Лабцентра на форуме). И уж если совсем напрячь память, то речь шла об исправлении глюка в версии 7.3.
Одно могу сказать точно, в v.7.2.6 глюк с часами DS1307 (лепят на выходе частоту вдвое ниже, чем задано), тоже работающими по I2C не поправлен, правда он к самому интерфейсу не относится. А Тени на эти глюки указывали приблизительно в одно и то же время. Я если найду у себя в архиве этот пост, то скажу точнее, но не сегодня.
|
Огромное спасибо за ответ. Подскажите пожалуста где можно скачать 7.3???или какое нибудь обновление на сп2 чтобы этот глюк убрать??Заранее благодарен.
|
|
|
|
18.04.2016, 22:17
|
|
Частый гость
Регистрация: 11.10.2015
Сообщений: 40
Сказал спасибо: 12
Сказали Спасибо 169 раз(а) в 27 сообщении(ях)
|
Re: i2c+ccs pic
К сожалению это глюк не протеуса =((, это наблюдается и в железе, кстати, там помимо Слэйвов еще и Мастер в конце концов виснет.
Но Решение Есть =)))
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:01.
|
|