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

 
 
> Софтовый I2C. Проблема
Blew_zc
сообщение Apr 25 2011, 16:04
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 9-11-10
Пользователь №: 60 771



Возникла трабла с реализацией софтового I2C на чипе LPC2919 старой ревизии, что не поддерживает аппаратный I2C.
Девайс - магнитный компас HMC5843.
Кое-что получилось - точнее получить ID устройства, и оно корректное.
А вот чтение регистров осей выдает 255. При этом аппаратный TWI, заюзанный в Атмеле, выдает корректные значения.
Может я что проглядел при чтении спецификации? Кому не влом, посмотрите код...

http://www.everfall.com/paste/id.php?xpg3ml1jrw2h

Или киньте в меня уже готовым, 100% рабочим. Потому как то что я видел в сети что-то мне не внушает доверия...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Apr 25 2011, 16:33
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



По-моему у вас типичная ошибка софтовой реализации I2C. Управляющие выходы МК должны реализовывать два состояния: лог 0 и Z-состояние. Выдавать лог.1 на шину нельзя! Вместо выдачи лог.1 вы должны менять функцию пина, вместо выхода делать его входом GPIO.
Go to the top of the page
 
+Quote Post
Blew_zc
сообщение Apr 25 2011, 17:40
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 9-11-10
Пользователь №: 60 771



rezident, да, действительно. Все заработало =)

ukpyr, не пробовал, но спасибо за сотрудничество! =)

Энтомолог, естественно, я их внутренней подтяжкой подключаю.

Вот что вышло:
http://www.everfall.com/paste/id.php?r69suvrui9mr
Я там код немного прокомментил - если кому надо будет - пожалуйста.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 18th August 2025 - 02:56
Рейтинг@Mail.ru


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