Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
05.06.2009, 15:47
|
|
Прописка
Регистрация: 24.09.2008
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Цитата:
|
как это реализовать программно?
|
Как я понимаю, адреса МК на шине у вас должны быть прописаны жестко (если нет другого варианта). В каждом МК должны быть прописаны ДВА адреса "соседних" МК.
Зная, от кого данные пришли, текущий МК должен стать мастером, и переслать их другому, если данные не верны, или обратно, если они "правильные". Проблема в определении источника, поэтому в пакете и нужин празнак - адрес отправителя, чтобы знать кому пересылать дальше.
__________________
Если мы вам не подходим, вы нам вовсе не нужны!
Услышал и забыл, увидел и запомнил, сделал и понял!
Нейрон - штука тонкая!
Чудес на свете не бывает!
|
|
|
|
06.06.2009, 06:16
|
|
Частый гость
Регистрация: 02.06.2009
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Вы правильно все поняли!именно это мне и требуется реализовать!вот только не получается программно реализовать код подчиненного узла с переходом его на мастер,а мастер сделать подчиненным.
|
|
|
|
06.06.2009, 07:10
|
|
Прописка
Регистрация: 24.09.2008
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
В вашей задаче модуль TWI работает только в двух режимах: ведущий-передатчик и ведомый приемник. Откройте кинжку и прочитайте по пунктам особенности работы модуля в этих режимах (хотя за две недели можно было выучить наизусть ). Мастер, после передачи посылки, переходит в режим слейва и ждет своей адресации на шине (все выставляется битами TWCR). Ведомый, после получения посылки (отправки NOT ACK (Code Status = $88 ) или получении STOP (Code Status = $A0)), проверяет че там к нему "прилетело", чего-то там делает с данными (если надо), и формирует START - становясь мастером, и передает данные кому там положено по Вашему алгоритму...
__________________
Если мы вам не подходим, вы нам вовсе не нужны!
Услышал и забыл, увидел и запомнил, сделал и понял!
Нейрон - штука тонкая!
Чудес на свете не бывает!
|
|
|
|
06.06.2009, 21:22
|
|
Частый гость
Регистрация: 02.06.2009
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
я так и делал только почему то после стопа ведомый не генерирует старт!поэтому я и просил помощи,буду дома скину код,щас нет возможности.
|
|
|
|
07.06.2009, 18:57
|
|
Частый гость
Регистрация: 02.06.2009
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
не могу разобраться с прерываниями от TWI.после према данных подчиненным и получения стоп бита как выйти из прерывания и вызвать процедуру мастера?
|
|
|
|
10.07.2013, 01:22
|
|
Прохожий
Регистрация: 13.07.2005
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Mega 8 + TWI (I2C) Slave Помогите.
Всем привет и самые лучшие пожелания!!! У меня ворос по теме решил заделать прибор
ипользуя два мк мега8 для отображения иннфы на светодиодный дисплей 6 разрядов.И мега16 для частотомера вольтметра скважнрсти там периодаи т.д. Написал 2 модуля для 8 и 16.Так вот если задействую АЦП передача по шине i2c все работает аж бегом,
а как только пытаюсь передать даже статическую инфу из памяти неустойчивая работа. 2недели бьюсь может кто поможет разобраться.где глюк. Прошу сильно не пинать я только начинаю, опыта мало.В железе собрано, вольтметр работает а дальше
застрял. https://kazus.ru/forums/images/smili...n_confused.gif
|
|
|
|
10.07.2013, 01:40
|
|
Прохожий
Регистрация: 13.07.2005
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Mega 8 + TWI (I2C) Slave Помогите.
Дополню... обе меги работают от одного каврцевого генератора синхронно. Мне кажется, что такое разделение обязанностей позволяет более полно ипользовать
таймеры а габариты не смущают.Кнопки пока незадействовал - это все потом когда
разберуь с передачей данных. В протеусе картина почти аналогичная, что и железе
только все гораздо быстрей.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:23.
|
|