I2C, обмен данными 16f690+ 16f690+ 16f690
|
|
sangre11 |
Дата: Чт, 19.04.2012, 20:33 | Сообщение # 1 |
Группа:
Удаленные
Ранг:
Сообщений:
Статус:
|
в общем возникла необходимость связать три пика по i2c для обмена данными. интересует- возможно ли это реализовать на протоне? если есть какой нибудь, хоть самый простой пример то не могли бы поделиться? у 16f690 нет аппартной поддержки режима мастер, его можно реализовать софтвенно. но больше меня интересует ведомый- какие регистры задействовать? всё зачитал до дыр... скорее даже выучил на двух яхыках, но так и не понял как настраивать мк. в голове каша. как адреса настраивать и режимы я понял, принцип обмена данными по i2c тоже... c микросхемами памяти всё работает и чтение и запись... но проблема с мк. спасибо.
|
|
|
|
anatol |
Дата: Чт, 19.04.2012, 21:54 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Каждому приемнику присваиваете уникальный номер. Ведущий ведет широкополосную трансляцию с передачей номера адресуемого устройства. Все приемники принимают инфу, но реагирует только тот номер которого передан. Управление приемом - ведущий запрашивает инфу от конкретного номера.
|
|
|
|
sangre11 |
Дата: Пт, 20.04.2012, 09:38 | Сообщение # 3 |
Группа:
Удаленные
Ранг:
Сообщений:
Статус:
|
2 anatol: но это пройденный этап. опишите, плз, алгоритм отсылки "1" с одного мк(ведущего) на ведомый мк с адресом %01111110. после приёма "1" её надо записать с переменную one. у меня лично возникла проблема именно в части приёма единицы... старт от ведущего проходит, адрес проходит, акноледж после адреса проходит от ведомого, дальще то что делать? пытаюсь слать данные- нет после приёма байта сигнала ack не смотря на то что, согласно даташитам, выставил (вроде как надо) все чёртовы регистры... крч, не знаю.
|
|
|
|
anatol |
Дата: Вс, 22.04.2012, 00:23 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
sangre11, Болею и своей работы навалом. Да и проект вы не приложили. Так что теория только. А квитанцию ack вы формируете или аппаратное формирование? Брось, отдохни и потом с новыми силами.
|
|
|
|
DAlexV |
Дата: Вс, 22.04.2012, 12:28 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
sangre11, я конечно извиняюсь, но почему бы не использовать проц с I2C на борту ??? Реализовывать софтово прием по I2C - проблемотично. Все ресурсы практически будут отданы обработке протокола(на момент приема не смогут выполняться другие задачи). Или второй вариант USART. Дабы он есть на борту(если не занят другими задачами). И как правильно заметил anatol, хочется посмотреть на проект(или подробное описание задачи), а не гадать на кофейной гуще. Может совместно другой вариант решения будет найден.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
Сообщение отредактировал
DAlexV - Вс, 22.04.2012, 19:49
|
|
|
|
sangre11 |
Дата: Вт, 24.04.2012, 17:44 | Сообщение # 6 |
Группа:
Удаленные
Ранг:
Сообщений:
Статус:
|
to dAlexV: именно. лучше использовать с аппартным i2c. я отказался от этой затеи из за "запиливания распиленного обратно" - идея была из разряда "а что если...". думаю пробовать сделать на spi. или на usart. проект будет на днях.
|
|
|
|
DAlexV |
Дата: Вт, 24.04.2012, 19:48 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (sangre11) "а что если..." Тогда Usart. Quote (sangre11) проект будет на днях Добро, ждем-с.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
sangre11 |
Дата: Ср, 09.05.2012, 14:29 | Сообщение # 8 |
Группа:
Удаленные
Ранг:
Сообщений:
Статус:
|
ребята, извините, задерживаюсь... проект слишком большой, а на улице весна и большие пробелы в теории. не затирайте тему по возможности, всё выложу с доками. с праздником победы.
|
|
|
|