I2C, обмен данными 16f690+ 16f690+ 16f690 - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: demanik 
Форум Picbasic.ru » Программирование МК » Proton PicBasic » I2C, обмен данными 16f690+ 16f690+ 16f690 (кроссфаер)
I2C, обмен данными 16f690+ 16f690+ 16f690
sangre11 Дата: Чт, 19.04.2012, 20:33  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 6
Репутация: 0   ±
Замечания:   ±
На сайте с 25.03.2012

Статус: Offline

в общем возникла необходимость связать три пика по i2c для обмена данными. интересует- возможно ли это реализовать на протоне? если есть какой нибудь, хоть самый простой пример то не могли бы поделиться?
у 16f690 нет аппартной поддержки режима мастер, его можно реализовать софтвенно. но больше меня интересует ведомый- какие регистры задействовать? всё зачитал до дыр... скорее даже выучил на двух яхыках, но так и не понял как настраивать мк. в голове каша. как адреса настраивать и режимы я понял, принцип обмена данными по i2c тоже... c микросхемами памяти всё работает и чтение и запись... но проблема с мк. спасибо.
ЯНДЕКС Дата: 19.04.2012
anatol Дата: Чт, 19.04.2012, 21:54  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 535
Репутация: 13   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Каждому приемнику присваиваете уникальный номер. Ведущий ведет широкополосную трансляцию с передачей номера адресуемого устройства.
Все приемники принимают инфу, но реагирует только тот номер которого передан. Управление приемом - ведущий запрашивает инфу от конкретного номера.
sangre11 Дата: Пт, 20.04.2012, 09:38  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 6
Репутация: 0   ±
Замечания:   ±
На сайте с 25.03.2012

Статус: Offline

2 anatol: но это пройденный этап. опишите, плз, алгоритм отсылки "1" с одного мк(ведущего) на ведомый мк с адресом %01111110. после приёма "1" её надо записать с переменную one. у меня лично возникла проблема именно в части приёма единицы... старт от ведущего проходит, адрес проходит, акноледж после адреса проходит от ведомого, дальще то что делать? пытаюсь слать данные- нет после приёма байта сигнала ack не смотря на то что, согласно даташитам, выставил (вроде как надо) все чёртовы регистры... крч, не знаю.
anatol Дата: Вс, 22.04.2012, 00:23  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 535
Репутация: 13   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

sangre11, Болею и своей работы навалом. Да и проект вы не приложили. Так что теория только. А квитанцию ack вы формируете или аппаратное формирование? Брось, отдохни и потом с новыми силами.
DAlexV Дата: Вс, 22.04.2012, 12:28  |                                                                                                                Сообщение # 5
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 691
Репутация: 17   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

sangre11, я конечно извиняюсь, но почему бы не использовать проц с I2C на борту ??? Реализовывать софтово прием по I2C - проблемотично. Все ресурсы практически будут отданы обработке протокола(на момент приема не смогут выполняться другие задачи). Или второй вариант USART. Дабы он есть на борту(если не занят другими задачами). И как правильно заметил anatol, хочется посмотреть на проект(или подробное описание задачи), а не гадать на кофейной гуще. Может совместно другой вариант решения будет найден.

Будьте оригинальны - не повторяйте чужих ошибок !!!!
Пишу только на Рыбе (SwordFish). Другую пищу не предлагать, на шерсть влияет :)

Сообщение отредактировал DAlexV - Вс, 22.04.2012, 19:49
sangre11 Дата: Вт, 24.04.2012, 17:44  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Новенький
Сообщений: 6
Репутация: 0   ±
Замечания:   ±
На сайте с 25.03.2012

Статус: Offline

to dAlexV: именно. лучше использовать с аппартным i2c. я отказался от этой затеи из за "запиливания распиленного обратно" - идея была из разряда "а что если...". думаю пробовать сделать на spi. или на usart. проект будет на днях.
DAlexV Дата: Вт, 24.04.2012, 19:48  |                                                                                                                Сообщение # 7
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 691
Репутация: 17   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (sangre11)
"а что если..."
Тогда Usart.
Quote (sangre11)
проект будет на днях
Добро, ждем-с. wink


Будьте оригинальны - не повторяйте чужих ошибок !!!!
Пишу только на Рыбе (SwordFish). Другую пищу не предлагать, на шерсть влияет :)
sangre11 Дата: Ср, 09.05.2012, 14:29  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Новенький
Сообщений: 6
Репутация: 0   ±
Замечания:   ±
На сайте с 25.03.2012

Статус: Offline

ребята, извините, задерживаюсь... проект слишком большой, а на улице весна и большие пробелы в теории. не затирайте тему по возможности, всё выложу с доками. с праздником победы.
Форум Picbasic.ru » Программирование МК » Proton PicBasic » I2C, обмен данными 16f690+ 16f690+ 16f690 (кроссфаер)
Страница 1 из 11
Поиск: