roboforum.ru

Технический форум по робототехнике.

AVR + I2C

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: AVR + I2C

Сообщение dmq » 01 июн 2009, 11:33

galex1981 писал(а):Значит что то не правильно, если содержимое не меняется. Попробуй все таки еще и в AVR - дебаггером проверить, я понимаю что долго но он 100% верные результаты выдает (не доверяю я Протеусу)

Попробую, но если не слишком сложно, все же гляньте вечером тоже пожалуйста.
dmq
 
Сообщения: 81
Зарегистрирован: 29 апр 2009, 14:02
Откуда: Екатеринбург
ФИО: Михаил

Re: AVR + I2C

Сообщение DI HALT » 01 июн 2009, 16:15

Digit писал(а):ну да, посетил :)
а ты думаешь остался незамеченным наплыв посетителей с робофорума, когда шел разбор ошибок сайта DiHalt'a? :D

Честно говоря, остался незамеченым. +/-200 человек на фоне общей посещаемости даже не выделяются.
Нашел случайно - периодически шерстю яндексом по слову easyelectronics.ru, ищу ссылки на себя. Нашел в подвале сайта, а потом уже по форуму решил пробежаться. Тут отметился, гляжу тема про пайку. Думал может какую интересную фичу кто посоветует, а там такая прелесть :)
DI HALT
 
Сообщения: 18
Зарегистрирован: 31 май 2009, 14:09
Откуда: Челябинск

Re: AVR + I2C

Сообщение dmq » 01 июн 2009, 16:15

Долго колупал код, сломал голову. В итоге наткнулся в даташите на атмегу на прямой пример работы с тви... Стало стыдно (и ясно почему в начале темы надо мной посмеялись) :ROFL:
В итоге решено с нуля все переписать, исключив возможные ошибки переноса с С на асм и другие недочеты (и почему во второй раз обыно получается лучше?) :)
dmq
 
Сообщения: 81
Зарегистрирован: 29 апр 2009, 14:02
Откуда: Екатеринбург
ФИО: Михаил

Re: AVR + I2C

Сообщение DI HALT » 01 июн 2009, 16:35

Код там элементарный, если не пытаться все сделать аппаратно (а кто нибудь вообще пытался?) на прерываниях. Послал байт - ждешь флаг, послал второй байт, ждешь флаг и так далее. Не забывай проверять коды которые тебе Twi возвращает, чтобы знать что все идет как положено.
DI HALT
 
Сообщения: 18
Зарегистрирован: 31 май 2009, 14:09
Откуда: Челябинск

Re: AVR + I2C

Сообщение blindman » 01 июн 2009, 18:30

DI HALT писал(а):Код там элементарный, если не пытаться все сделать аппаратно (а кто нибудь вообще пытался?) на прерываниях

Пытались, и вполне успешно.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: AVR + I2C

Сообщение DI HALT » 01 июн 2009, 19:46

Во, только готовый образец кода такого типа ни разу не встречался. Пришлось самому писать Тоже почти дописал аппаратный отсыл по ииц. Передаешь кому, откуда и сколько байт. Запускаешь и отдаешь управление диспетчеру задач, а отсылка данных пройдет фоном. Надо только отладить чуток.
DI HALT
 
Сообщения: 18
Зарегистрирован: 31 май 2009, 14:09
Откуда: Челябинск

Re: AVR + I2C

Сообщение contr » 01 июн 2009, 20:01

Послал байт - ждешь флаг, послал второй байт, ждешь флаг и так далее.

У меня станок с ЧПУ так с компом общается, только флаг выставляет не сразу, а после исполнения.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: AVR + I2C

Сообщение blindman » 01 июн 2009, 20:14

Если не встречался, значит плохо искал. Есть даже апноут AVR315. Да и на робофорум надо бы почаще заходить ;) здесь выкладывались как минимум 2 реализации работы с I2C, моя по прерываниям работает, другая - уже не помню, и кто ее выкладывал

Добавлено спустя 1 минуту 23 секунды:
contr писал(а):У меня станок с ЧПУ так с компом общается, только флаг выставляет не сразу, а после исполнения.

Хоть на название темы посмотрел бы, прежде чем писать
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: AVR + I2C

Сообщение galex1981 » 01 июн 2009, 22:07

Я тоже пример выкладывал работы с Eeprom на C
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4362
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: AVR + I2C

Сообщение contr » 01 июн 2009, 23:03

Хоть на название темы посмотрел бы, прежде чем писать

Если речь о классической реализации I2C, то там ведомый по ASK откликается, на 9 бите CLK. Флага можно не ждать.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: AVR + I2C

Сообщение DI HALT » 02 июн 2009, 00:41

blindman писал(а):Есть даже апноут AVR315. Да и на робофорум надо бы почаще заходить ;) здесь выкладывались как минимум 2 реализации работы с I2C, моя по прерываниям работает, другая - уже не помню, и кто ее выкладывал

Спасибо за наводку, как погляжу, то же самое только на асме, а посему почти в два раза короче, ну и в диспетчер задач проще интегрировать, чтобы прерывание не задерживать надолго.

Добавлено спустя 1 минуту 14 секунд:
contr писал(а):
Хоть на название темы посмотрел бы, прежде чем писать

Если речь о классической реализации I2C, то там ведомый по ASK откликается, на 9 бите CLK. Флага можно не ждать.


О классической это какой? Софтверной чтоль? Тут то речь идет о флаге готовности тви, уже после него можно читать статус и смотреть был там аск или нет.
DI HALT
 
Сообщения: 18
Зарегистрирован: 31 май 2009, 14:09
Откуда: Челябинск

Re: AVR + I2C

Сообщение slavaslx » 02 июн 2009, 02:22

Писали:"Долго колупал код, сломал голову...."
Если библиотеку брали с ветки "исходники"? и переделывали под асемб. то там написано что она работает только с 24с01(02), те до 256 байт адресация происходит.
Для больших объемов (04 08 16) адресащия к памяти другая (но я например с ней использую еепром 24с16 всего 256байт). (и адреса устройств) и используется дополнительные 3 бита с адреса устройсва. Где А0-А2 адресные лапы, Р0-Р2 дополнительные биты для адресаций к памяти(в зависимости от объема.).
А с адресом устройсва все в порядке (на запись и чтение)?
Вложения
at24c02.JPG
at24c02.JPG (13.71 КиБ) Просмотров: 2286
slavaslx
 

Re: AVR + I2C

Сообщение dmq » 02 июн 2009, 09:38

slavaslx,

На данный момент нашел краткое описание принципов работы конкретно с нужным мне чипом, где белым по русскому написано что А0-А2 вообще не важны (для симуляции в протеусе не пройдет) и чип читает-пишет при всех возможных значениях, то что пишут в даташитах, особенно Microchip, можно даже не читать и т.п. радости.
В итоге стараюсь свести в кучу всю информацию, опираясь на даташит от атмела.

А вообще это планируетя банальный автономный перепрограмматор чипов от картриджей лазерного МФУ Samsung SCX-4200. Предвидя следующий "хихик", да я знаю что все давно сделано до нас и есть в свободном доступе. Работаю за интерес :)

Вобщем когда "рожу", если не забуду - поделюсь с общественностью и своей поделкой.
dmq
 
Сообщения: 81
Зарегистрирован: 29 апр 2009, 14:02
Откуда: Екатеринбург
ФИО: Михаил

Re: AVR + I2C

Сообщение slavaslx » 02 июн 2009, 11:01

dmq писал(а):На данный момент нашел краткое описание принципов работы конкретно с нужным мне чипом, где белым по русскому написано что А0-А2 вообще не важны.

Неважны для 24с(ХХ) 16к (у нее всегда адрес на запись 0хА0) а для всех остальных они важны и опредиляют адрес устройства. Т,е у 8к может быть два адреса, у 4к 4адреса у 1и 2к по 8адресов.
Понятно что они при любых значениях адресных лап будут работать, но адреса утройств на шине то будут другие.
Незнаю как у вас протеус 24с.. моделирует, но у меня 7.4сп3 пишет в нее что угодно, кроме того что надо :o .
slavaslx
 

Re: AVR + I2C

Сообщение contr » 02 июн 2009, 14:34

Тут то речь идет о флаге готовности тви

Действительно cпутал. Не сообразил сразу, что речь о внутреннем флаге одного из модулей МК. :sorry:
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Пред.След.

Вернуться в Микроконтроллеры

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

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

cron