реклама на сайте
подробности

 
 
> SAM7 + Mega8 и I2C
beer_warrior
сообщение Mar 10 2007, 17:35
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Работаю со связкой - SAM7 + Mega8. SAM7 пишет управляющий байт и читает байт статуса.
И вот интересная картина получается. Поставил как возврат статуса константу 0x55.
1. После включения питания первое чтение 0x55, второе 0xFF, все последующие - 0x55.
2. После записи первое чтение 0xFF, все последующие - 0x55.

На код грешить боюсь - для связки мега-мега обкатан многократно. SAM7 без особых проблем работает с 24с02 на той же шине.

Мне кажется допускаю какую-то логическую неувязку в работе с шиной.(Не закрываю обмен или что-то подобное)


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
beer_warrior
сообщение Mar 11 2007, 11:18
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
"Модуль TWI прекрасно подходит для обмена информацией с EEPROM производства Atmel"примерно так

Это заметно И пожалуй больше не для чего. sad.gif Насколько хорош TWI у мег, настолько паскуден у АРМов. А казалось бы одна контора, могли использовать одинаковый IP-блок.

Цитата
>> if(hTimer_1ms) hTimer_1ms();>> if(hTimer_1s) hTimer_1s();Насколько бысторо выполняются эти 2 функции ?

в милисекундном стоит счетчик на 50 мс. В нем сдвиг бегущего бита и чтение порта. В секундном - мигание светодиодом.


Цитата
любая транзакция(прерывание) по i2c должна заканчиваться записью TWINT в TWCRиначе будем бесконечно ловить прерыванияпо этому в конце switch обязательно должно быть:

Вы об этом? Так я ж сказал - поскипано для ясности. Отрабатываются все возможные состояния - general call,arbitration lost итд, default тоже есть. Предусмотрена работа с раздельными буферами приема и передачи, софтовый байт статуса с флагами занятости и ошибки. А вот написано местами весьма неоптимально - весь файл представляет собой switch на 300 строк.

Цитата
скорее вот этот адрес -> вычитывание большого блока

Мне кажется это генетическое. В прошлом году делал проект, где из EEPROM вытягивалась программа в эдаком байт-коде и передавалась на исполнение. Я на вытягивание программы убил вдвое больше времени, чем на отладку интепретатора. Терялись биты в конце. Было два решения - либо ставить холостой байт в конце каждого блока либо брать меньшими порциями. Побил вычитку на блоки по 32 байта - все работает без вопросов и живет в серии.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- beer_warrior   SAM7 + Mega8 и I2C   Mar 10 2007, 17:35
- - singlskv   Цитата(beer_warrior @ Mar 10 2007, 17:35)...   Mar 10 2007, 18:07
- - beer_warrior   SAM работает поллингом, проще некуда: Кодbool Read...   Mar 10 2007, 19:09
- - beer_warrior   Еще интересный эффект всплыл. Попробовал в промежу...   Mar 10 2007, 19:40
|- - singlskv   Цитата(beer_warrior @ Mar 10 2007, 19:40)...   Mar 10 2007, 20:02
- - beer_warrior   Код//---------------------------------------------...   Mar 10 2007, 20:14
|- - singlskv   для начала попробуйте вот так: Цитата(beer_warrior...   Mar 10 2007, 20:28
- - beer_warrior   ЦитатаTWI_RHR; // !!!!!!...   Mar 10 2007, 20:35
|- - singlskv   Цитата(beer_warrior @ Mar 10 2007, 20:35)...   Mar 10 2007, 21:26
- - beer_warrior   ЦитатаТак что искать логику в TWI на SAM7 нет смыс...   Mar 10 2007, 21:47
|- - singlskv   Цитата(beer_warrior @ Mar 10 2007, 21:47)...   Mar 10 2007, 22:06
- - beer_warrior   Значит так, проблема решена следующим образом: Код...   Mar 10 2007, 22:13
|- - singlskv   Цитата(beer_warrior @ Mar 10 2007, 22:13)...   Mar 10 2007, 22:49
- - beer_warrior   ЦитатаЯ думаю что переносить пока рано С мегой там...   Mar 10 2007, 22:37
- - beer_warrior   ЦитатаЯ бы в Вашем коде тоже кое-что поменял. Согл...   Mar 10 2007, 23:34
|- - singlskv   Цитата(beer_warrior @ Mar 10 2007, 23:34)...   Mar 11 2007, 02:23
- - singlskv   ЦитатаЦитата основная проблема TWI на SAM7 это то,...   Mar 11 2007, 01:42
|- - singlskv   Цитата(beer_warrior @ Mar 11 2007, 11:18)...   Mar 15 2007, 03:08
- - _dem   Кстати, решение по остановке TWI у SAM есть - про...   Aug 3 2007, 15:12
- - SasaVitebsk   Забавно иногда смотреть. Разные программисты в раз...   Aug 3 2007, 19:04
|- - singlskv   Цитата(SasaVitebsk @ Aug 3 2007, 23:04) К...   Aug 3 2007, 22:14
- - SasaVitebsk   Мужчина!   Aug 4 2007, 18:52
|- - singlskv   Цитата(SasaVitebsk @ Aug 4 2007, 22:52) М...   Aug 4 2007, 19:26
- - Kirill Frolov   Цитата(beer_warrior @ Mar 10 2007, 21:35)...   Aug 6 2007, 23:33


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th August 2025 - 10:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016