Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

I2C, WinAVR и at90s2313

Непрочитано 27.08.2007, 17:23  
Hoksmur
Частый гость
 
Регистрация: 16.05.2005
Сообщений: 20
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Hoksmur на пути к лучшему
По умолчанию I2C, WinAVR и at90s2313

подкинули проектик, надо указанному контроллеру общаться с 24cXX по i2c. Стянул Procyon AVRlib для WinAVR, но где то собака порылась. помогите найти, в чем дело.
Код:
#include ‹avr/io.h›
#include ‹avr/io2313.h›
#include ‹i2csw.h›
#include "i2c.c"

#define  F_CPU   4000000
#define  CYCLES_PER_US   ((F_CPU+500000)/1000000 

#define  SCLPORT   PORTD 
#define  SCLDDR   DDRD 
#define  SDAPORT   PORTD 
#define  SDADDR   DDRD 
#define  SDAPIN   PIND 
#define  SCL   PD2 
#define  SDA   PD3
Но как только пишу
Код:
i2cInit();
начинаются ошибки (могу всё сюда кинуть, но есть ли смысл?).
Все, приплыли. Признаюсь - в Си слаб, но пытаюсь...
Нехочется всё на асме писать и/или изобретать велосипед.
Реклама:
Hoksmur вне форума  
Непрочитано 27.08.2007, 18:12  
urry
Почётный гражданин KAZUS.RUN
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

По этому куску ничего не скажешь. Существует ли i2c.h ?
Скопировали ли Вы i2c.c в папку проекта ? Весь проект, тогда будет виднее.
urry вне форума  
Непрочитано 27.08.2007, 18:57  
Hoksmur
Частый гость
 
Регистрация: 16.05.2005
Сообщений: 20
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Hoksmur на пути к лучшему
По умолчанию

Да. всё это. лежит i2c.c , а надо i2csw.c. по недосмотру - понять то понял, что софтверный. В любом случае спасибо!
PS: 0x580 памяти сьело только подключение! Ужас.
(может в аську? 123745551 в обратном порядке)
Hoksmur вне форума  
Непрочитано 28.08.2007, 04:42  
Hoksmur
Частый гость
 
Регистрация: 16.05.2005
Сообщений: 20
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Hoksmur на пути к лучшему
По умолчанию

Упс.. Еще разъясните, пожалуйста - схема подключения какая должна быть? напрямую SCL, SDA напрямую к контроллеру? меня смущает то, что должен быть открытый коллектор, вроде как. На шинах ничего не планируется больше.
Hoksmur вне форума  
Непрочитано 28.08.2007, 10:35  
lsa
Почётный гражданин KAZUS.RUN
 
Аватар для lsa
 
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,479
Сказал спасибо: 3,193
Сказали Спасибо 2,982 раз(а) в 682 сообщении(ях)
lsa на пути к лучшему
По умолчанию

Сообщение от Hoksmur
Еще разъясните, пожалуйста - схема подключения какая должна быть? напрямую SCL, SDA напрямую к контроллеру? меня смущает то, что должен быть открытый коллектор, вроде как. На шинах ничего не планируется больше.
Напрямую SCL, SDA и резисторы 4,7КОм (можно 1,5КОм-10КОм) на питание от обеих линий.
Имитация открытого коллектора в коде уже настроена этими строчками
Код:
#define  SCLPORT   PORTD 
#define  SCLDDR   DDRD 
#define  SDAPORT   PORTD 
#define  SDADDR   DDRD 
#define  SDAPIN   PIND 
#define  SCL   PD2 
#define  SDA   PD3
lsa вне форума  
Непрочитано 28.08.2007, 11:48  
urry
Почётный гражданин KAZUS.RUN
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Нет, полтора килоома - это круто. Побольше нужно. И, если еще есть устройства на шине, то обычно ставят ом 100 кажется, последовательно к каждому устройству.
urry вне форума  
Непрочитано 28.08.2007, 22:58  
dessa
Прохожий
 
Регистрация: 09.08.2006
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
dessa на пути к лучшему
По умолчанию I2C, WinAVR и at90s2313

Чтобы использовать библиотеки Procyon AVRlib, Вы должны скопировать global.h в директорию вашего проекта и модифицировать global.h, в соответствовии с используемыми аппаратными средствами. Каждый проект должен иметь собственный global.h. Почитайте внимательно файл avrlibconf
eadme-conf.txt
dessa вне форума  
Непрочитано 29.08.2007, 05:59  
Hoksmur
Частый гость
 
Регистрация: 16.05.2005
Сообщений: 20
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Hoksmur на пути к лучшему
По умолчанию

Спасибо всем! Просто, насколько понимаю - напрямую не совсем корректно подключаться - при конфигурировании пина на выход там далеко не ОК. Ну да ладно, раз люди пользуются - значит работает А если подключать внешние транзисторы - биты инвертируются, входа брать с коллекторов, ...
Вроде в описаловах рускоязычных - 4к7. В спецификацию незаглядывал. Про 100 ом - имеет смысл, чтобы не сжечь ничего.
global.h включил и перетащил в проект - потом переопределил переменные (или как это называется?)
Hoksmur вне форума  
Непрочитано 29.08.2007, 11:59  
Piterxxx
Частый гость
 
Аватар для Piterxxx
 
Регистрация: 13.08.2006
Сообщений: 22
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
Piterxxx на пути к лучшему
По умолчанию

В продолжение темы I2C.
Пробую использовать енту шину для подключения термометров типа DS и часов реального времени.
Использую в контроллере управления парником.
Функции простые: полить в нужное время, открыть фрамугу или включить тепловентилятор.
Скажу честно - разочаровался. Часы периодически останавливают время. Особенно это неприятно когда включена вода на полив. Раза 4 заливал весь участок.Второй недостаток заключается в том, что при срабатывании сторожевого таймера происходит перезагрузка и если нет ответа от одного из термометров по шине контроллер будет бесконечно ждать. Писал программу на СИ в коде визион, функции управления шиной там формируются мастером программ. Может конечно не в шине дело а кривые руки. Интересно ваше мнение.
Piterxxx вне форума  
Непрочитано 29.08.2007, 12:08  
Piterxxx
Частый гость
 
Аватар для Piterxxx
 
Регистрация: 13.08.2006
Сообщений: 22
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
Piterxxx на пути к лучшему
По умолчанию

Кстати о резисторах. Диапазон указан верно, но номинал необходимо подобрать исходя из длинны проводов шины. Допускается до 10 метров. Кстати при подборе есть всего два состояния шины: работает или не работает. Так что ели у вас при выбранном значении номинала работает - больше нечего мудрить.
Piterxxx вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Информация по AT90S2313 mikal Информация по радиокомпонентам 2 29.01.2011 02:56
AT90S2313 vs Attiny2313-20 Edward_tlt Микроконтроллеры, АЦП, память и т.д 68 20.03.2008 23:11
Сенсорный выключатель на AT90S2313 AYAXX Микроконтроллеры, АЦП, память и т.д 0 01.11.2006 10:17
Proteus и AT90S2313 Ozzy Proteus 3 03.08.2005 15:18
AT90S2313 stec impuls-v Микроконтроллеры, АЦП, память и т.д 6 21.06.2005 23:47


Часовой пояс GMT +4, время: 20:13.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.