|
Подскажите где искать проблему(tiny26 i2c) |
|
|
|
Jan 11 2011, 12:50
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(AlexTech @ Jan 11 2011, 18:38)  logic contention(s) detected on net SCL, а SDA уходит в 0(синей точкой горит), на этом все и останавливается Похоже на обычное срабатывание механизма защиты от потери данных. Микросхема, которая не способна больше принимать данные, опускает SCL в ноль, тем самым препятствуя дальнейшей передаче данных мастером шины. Обработав пришедшие данные, эта микросхема отпускает SCL, и обмен возобновляется. У вас, похоже, МК принимает байт данных, место у него в приемном буфере (регистре) заканчивается, вот он и опускает SCL. И не отпускает никогда, поскольку ваша программа (обработчик прерывания) не вычитывает буфер или просто не вызывается ...
|
|
|
|
|
Jan 11 2011, 14:59
|
Местный
  
Группа: Свой
Сообщений: 283
Регистрация: 13-06-07
Из: Челябинск
Пользователь №: 28 391

|
Цитата(AlexTech @ Jan 11 2011, 19:38)  Нарисовал в протеусе, протестил... В том же в Proteus'е есть i2c-тестер, разберитесь с его работой, подключите к линиям и посмотрите какие данные идут и в каком месте "затык" происходит. Ну и если не сложно, приложите архив с исходником и проектом Proteus'а, чтобы разговор более детальный был.
|
|
|
|
|
Jan 11 2011, 18:05
|
Частый гость
 
Группа: Участник
Сообщений: 83
Регистрация: 2-12-05
Пользователь №: 11 688

|
Вот файлы, протеус 7.7 slave скомпилирован для тинки26, но в протеусе ее нет, пробовал компилировать и для 261 и для 2313 результат тот же в master используются либы из avrlib, их я естественно не приаттачил
Сообщение отредактировал AlexTech - Jan 11 2011, 18:07
Прикрепленные файлы
i2c.rar ( 105.28 килобайт )
Кол-во скачиваний: 20
|
|
|
|
|
Jan 14 2011, 04:00
|
Местный
  
Группа: Свой
Сообщений: 283
Регистрация: 13-06-07
Из: Челябинск
Пользователь №: 28 391

|
Цитата(AlexTech @ Jan 13 2011, 11:04)  В общем нашел какой то кусок кода который заработал в протеусе при частоте тинки только 8мгц, при этом программных задержек нет, крутить нечего теперь беда в том, что в железе тинка не заводится от внутреннего генератора на 8мгц, даже на 2 дурит, работает только на 1 это с камнем у меня косяк или можно как то побороть? Чисто случайно про FUSE-биты не забыли при программировании чипа? Проблем с внутренним генератором быть не должно. PS. Вечером гляну Ваш архив, пока времени нет.
|
|
|
|
|
Jan 14 2011, 16:34
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(AlexTech @ Jan 14 2011, 23:20)  как проверять не пойму ((( Unilogic соберите, еще раз. Там работы на пару часов. Зато получится цифровой мини-осциллограф, подключаемый к LPT - порту. А еще можно не использовать шут знает чьи и шут знает как работающие библиотеки там, где без них можно обойтись, а взять аппноты от Атмела, даташит, самому разобраться и все сделать за пару дней. Вы хоть будете понимать, что вообще делаете ... P.S. Лично я стараюсь никогда не использовать в своих проектах библиотек и прочих фрагментов, если не понимаю, как они работают ...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|