Страница 3 из 5

Re: BMP085+Сервер под Linux

Добавлено: Чт июл 18, 2013 7:29 am
MaksMS82
Сравнил схемы и нашел отличие в том,что используются разные порты - С вместо В,поправил исходники и вечером буду пробовать прошить..

Re: BMP085+Сервер под Linux

Добавлено: Чт июл 18, 2013 9:13 am
Geban
не забудь подтяжку линий SDA и SCL к питанию через 4.5к сделать

Re: BMP085+Сервер под Linux

Добавлено: Пт июл 19, 2013 7:15 am
MaksMS82
Вообщем-то пока не удачно получается - устройство не опознается. Ориентируюсь на схему http://homes-smart.ru/upload/arduino/US ... matics.pdf и в main.c правлю такие параметры:

#define USBDDR DDRB
#define USB_CFG_IOPORT PORTB

#define I2C_PORT PORTB
#define I2C_PIN PINB
#define I2C_DDR DDRB
#define I2C_SDA _BV(4)
#define I2C_SCL _BV(5)

В файле usbconfig.h правки:
#define USB_CFG_IOPORTNAME B
#define USB_CFG_DMINUS_BIT 0
#define USB_CFG_DPLUS_BIT 1

Кстати эти же данные вписаны и в usbconfig.h прошивки исходников USBavr

Единственно что может помешать - это соединение одного из выводов USB на PD2 .Если в коде к нему обращения нет,то он должен быть неактивном состоянии ? т.е. не закорачивать вывод на + или -..Возможно в коде надо добавить установку порта D на ввод.

Re: BMP085+Сервер под Linux

Добавлено: Пт июл 19, 2013 7:44 am
Geban
В usbtiny.h сверху есть секция

Код: Выделить всё

// The D+ and D- USB signals should be connected to two pins of the same
// I/O port. The following macros define the port letter and the input
// bit numbers:
#if! defined (__AVR_ATtiny45__) // если не тини45
#define	USBTINY_PORT			C
#define	USBTINY_DPLUS			1
#define	USBTINY_DMINUS			0
#else // если тини45
#define	USBTINY_PORT			B
#define	USBTINY_DPLUS			2
#define	USBTINY_DMINUS			0
#endif
Тут описываются пины и порт для USB

Далее в main.c строка 168 есть блок

Код: Выделить всё

#if! defined (__AVR_ATtiny45__) // если НЕ тини45
#define I2C_PORT   PORTC
#define I2C_PIN    PINC
#define I2C_DDR    DDRC
#define I2C_SDA    _BV(4)
#define I2C_SCL    _BV(5)
#else // если тини 45
#define I2C_PORT   PORTB
#define I2C_PIN    PINB
#define I2C_DDR    DDRB
#define I2C_SDA    _BV(1)
#define I2C_SCL    _BV(5)
#endif
здесь назначаются пины контроллера на которых будут SDA и SCL вашего I2C

я собирал по вот этой http://prottoss.com/images/shematic.png схеме. Если к одной из линий USB подключено ещё что-то.. попробуй обрезать аккуратно дорожку. Z-состояние может и и не быть там, а может и наоборот мешать

Re: BMP085+Сервер под Linux

Добавлено: Пт июл 19, 2013 7:47 am
MaksMS82
я пытаюсь использовать вариант usbavr ,так что там usbtiny.h не нужен,хотя и в нем уже все поправил..

Re: BMP085+Сервер под Linux

Добавлено: Пт июл 19, 2013 8:36 am
MaksMS82
Похоже проблема с компилированием...
Geban , чем компилируйте ? я компилирую в linux suse , установив пакет avr ..но сейчас вообще ошибки лезут и не компилируется..возможно надо подбирать версию avr-gcc ,у меня 4.3.3

Попробовал в winavr -успешно,попробую вечером прошить

Re: BMP085+Сервер под Linux

Добавлено: Пт июл 19, 2013 8:55 am
Geban
я в winavr делал.. но там по сути тот же avr-gcc что и под линуксом. может есть отлчия в мейкфайле .. пути например или имена файлов компилятора

Re: BMP085+Сервер под Linux

Добавлено: Пт июл 19, 2013 9:01 am
MaksMS82
Geban писал(а):я в winavr делал.. но там по сути тот же avr-gcc что и под линуксом. может есть отлчия в мейкфайле .. пути например или имена файлов компилятора
Ну пути само собой правил ,там были некоторые не стыковки...
типа такого:

Код: Выделить всё

usbdrv/usbdrv.o: In function `usbPoll':
usbdrv.c:(.text+0xe4): undefined reference to `odDebug'
make: *** [firmware.bin] Error 1

Re: BMP085+Сервер под Linux

Добавлено: Пт июл 19, 2013 7:07 pm
MaksMS82
Получилось ,скомпилированной через winAVR сразу опознался в винде и в линуксе
Подключил часы ds1307 и их нашло.Попробую подключить BMP085 и считать данные

Re: BMP085+Сервер под Linux

Добавлено: Пт июл 19, 2013 8:56 pm
Geban
Поздравляю. А ты чассы просто смотрел по адрсу или написл прослойку для полноценной работы?