roboforum.ru

Технический форум по робототехнике.
Текущее время: 03 май 2025, 18:16

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 05 июл 2012, 12:22 
Не в сети
Аватара пользователя

Зарегистрирован: 27 окт 2011, 22:32
Сообщения: 133
Откуда: Ростов-на-Дону
Skype: skyzi007
прог. языки: Python, Си (МК)
ФИО: Святослав Игоревич
Доброе время суток.
Проведя несколько суток (5-6), в поисках исходников I2c slave для CodeVision'a, для использования ATMega16 в качестве ведомого, решил все таки попросить помощи.

Имеется:
*ATmega16 - 6 штук, однотипный программный код (ведомые)
*ATMega32 - 1 штука (ведущий)

Цель:
1.Передать от ведущего к ведомым по очереди, массив (x,y,z)
2.следовательно, его принять ведомыми.

Прошу поделиться у кого есть исходником работы I2c в качестве ведомого и ведущего (если возможно "пакетную")

P.S. просьба в 311 и в 315 не отсылать, своими силами под CodeVision не смог завести.

_________________
Project "Hexxx" (in progress...)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 06 июл 2012, 15:35 
Не в сети
Аватара пользователя

Зарегистрирован: 27 окт 2011, 22:32
Сообщения: 133
Откуда: Ростов-на-Дону
Skype: skyzi007
прог. языки: Python, Си (МК)
ФИО: Святослав Игоревич
Хотя бы, просто исходник Ведомого.

_________________
Project "Hexxx" (in progress...)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 06 июл 2012, 15:45 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Не знаю чем, но, может, поможет:
http://www.microchip.su/showthread.php?t=11961

Добавлено спустя 5 минут 3 секунды:
Т.е. тебе надо расписать возможные варианты - события. Их, кажется, шесть:
STATE 1: MASTER WRITE, LAST BYTE WAS AN ADDRESS
STATE 2: MASTER WRITE, LAST BYTE WAS DATA
STATE 3: MASTER READ, LAST BYTE WAS AN ADDRESS
STATE 4: MASTER READ, LAST BYTE WAS DATA
STATE 5: MASTER NACK
STATE 6: если сюда попали, то ошибка, тушим свет, сливаем воду.

Надо четко определить комбинации флагов, которые определяют то или иное состояние. Потом надо правильно обработать буфер (снятие флагов чтением из буфера, например) и отпустить клок-линию, если мы ее держали.

Потом берешь и прогоняешь с сигнализатором (светодиодом, например), все события. И дальше тупо дописываешь обработчики. Всего-то дней на пять гемороя.

Кстати, странно - слейв реально намного сложнее в i2c, но никто его не расписывает, аппнотов нет, примеров нет.

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 07 июл 2012, 08:47 
Не в сети
Аватара пользователя

Зарегистрирован: 27 окт 2011, 22:32
Сообщения: 133
Откуда: Ростов-на-Дону
Skype: skyzi007
прог. языки: Python, Си (МК)
ФИО: Святослав Игоревич
Вот как раз мне ведомый(Slave) и нужен:(

_________________
Project "Hexxx" (in progress...)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 08 июл 2012, 22:54 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2010, 13:56
Сообщения: 996
Откуда: Нижний Новгород
прог. языки: С, С++, РНР
http://easyelectronics.ru/avr-uchebnyj- ... c-i2c.html
Одна из лучших реализаций I2C. Переделывается под свои нужды без проблем. Реализован мастер и слейв одновременно, со всеми вариантами ситуаций.
В свое время переделал себе (без использования ОС и т.д.), с тех пор пользую во всех своих проектах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 09 июл 2012, 12:19 
Не в сети
Аватара пользователя

Зарегистрирован: 27 окт 2011, 22:32
Сообщения: 133
Откуда: Ростов-на-Дону
Skype: skyzi007
прог. языки: Python, Си (МК)
ФИО: Святослав Игоревич
Туда я раз если не 100 но 50 точно смотрел, не работает у меня то что я оттуда позаимствовал, еще и свой код испохабил, хорошо сохранил перед этим.
Говорю же, поиском пользоваться умею.
+ меня слайв интересует, а не кучу лишних функций! (получил байты и дальше основным кодом занялся)
и еще эти прихибеточные издевки в место приличного описания, нереально бесят.

P.S. Если жалко то лучше так и сказать, чтобы я зря не терял тут время.
P.S.S. если бы я знал как переделать, поверь я бы не спрашивал.
Интересует именно лаконичный код работы в Slave режиме, и только slave без "ботвы" и "ОС"

_________________
Project "Hexxx" (in progress...)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 09 июл 2012, 14:06 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2009, 13:37
Сообщения: 750
Откуда: Porto Franco "Odessa"
это называется "сделайте за меня , то что нужно мне"... такими весчами занимаются студенты , когда им делать нечего .... есть много кода , но как правило он рассчитан на все случаи жизни...если не желаете разбираться, зачем беретесь ? если есть желание разобраться , тогда копайте код которых есть ....

_________________
die Wahrheit ist irgendwo da draußen


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 09 июл 2012, 17:24 
Не в сети
Аватара пользователя

Зарегистрирован: 27 окт 2011, 22:32
Сообщения: 133
Откуда: Ростов-на-Дону
Skype: skyzi007
прог. языки: Python, Си (МК)
ФИО: Святослав Игоревич
Копать код который простите не работает в CodeVision нереально, если учесть с AVR начал общаться совсем недавно, и проблем не было не решаемых.
Но столкнувшись с i2c с лету перебрал Мастер код. И уже 2-3 недели не могу не чего со Slave сделать.

Чтобы разобраться в нем, его надо иметь хотя бы какой то, способный принять от мастера байты, уж лишнее убрать смогу.
Но когда код не работает в компиляторе, описание приводит в ужас(туча грамматических ошибок и лексикон как у подзаборного пьяницы) и в коде месиво с ОС уже слишком.

Да и зачем изобретать велосипед? если у кого то есть отлаженный код под режим slave и компилятор CVAVR.

Добавлено спустя 54 минуты 25 секунд:
Romikgy писал(а):
это называется "сделайте за меня , то что нужно мне"...

Похоже вы не утруждали себя прочтением 1 поста. Я не прошу сделать за меня, интересует пример работы Slava'а работающий и компилируемый в CVAVR.

_________________
Project "Hexxx" (in progress...)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 10 июл 2012, 03:56 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2693
Откуда: Где-то в Латинской Америке
Вот программный slave делал. Может пригодится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 10 июл 2012, 18:33 
Не в сети
Аватара пользователя

Зарегистрирован: 27 окт 2011, 22:32
Сообщения: 133
Откуда: Ростов-на-Дону
Skype: skyzi007
прог. языки: Python, Си (МК)
ФИО: Святослав Игоревич
Спасибо конечно, я пробовал так. Но к сожалению оказалось что Атюни не справляется с основной задачей=//

_________________
Project "Hexxx" (in progress...)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 11 июл 2012, 23:24 
Не в сети
Аватара пользователя

Зарегистрирован: 27 окт 2011, 22:32
Сообщения: 133
Откуда: Ростов-на-Дону
Skype: skyzi007
прог. языки: Python, Си (МК)
ФИО: Святослав Игоревич
В общем я так понимаю, что зря потерял свое время. У кого есть тот зажили или не смотрит, один человек подкинул подсказку но к сожалению она не подходит именно под этот проект, остальные только умничают...

_________________
Project "Hexxx" (in progress...)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 25 авг 2012, 13:12 
Не в сети
Аватара пользователя

Зарегистрирован: 27 окт 2011, 22:32
Сообщения: 133
Откуда: Ростов-на-Дону
Skype: skyzi007
прог. языки: Python, Си (МК)
ФИО: Святослав Игоревич
В общем то справился...
Но интересует вопрос, битрейт на слейве не должен же указываться?
ЗЫ и еще вопрос, реально ли чтобы Мастер работал на 16мГц, а слейвы на 8мГц и битрейт был 400кГц, или будет не успевать слейв?

_________________
Project "Hexxx" (in progress...)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 25 авг 2012, 18:43 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2009, 13:37
Сообщения: 750
Откуда: Porto Franco "Odessa"
для слейва любой битрейт ставь , ему побоку , ибо тактируется от мастера !
PS а что так и не осилил слейв?

_________________
die Wahrheit ist irgendwo da draußen


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 25 авг 2012, 18:51 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Romikgy писал(а):
для слейва любой битрейт ставь , ему побоку , ибо тактируется от мастера !
PS а что так и не осилил слейв?

В PIC-ах адрес битрейта по-моему шарится с адресом. Т.е. в слей-режиме адрес пишется в этот регистр.

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: I2c Slave vs CodeVisionAVR
СообщениеДобавлено: 25 авг 2012, 18:52 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2009, 13:37
Сообщения: 750
Откуда: Porto Franco "Odessa"
а разве речь о пиках?

_________________
die Wahrheit ist irgendwo da draußen


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO