roboforum.ru

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

Не могу запустить TWI на AT91SAM7S128

Не могу запустить TWI на AT91SAM7S128

maska » 13 авг 2013, 00:32

Пытаюсь подключить сборку LSM303DLM (компасс и аккселерометер - http://www.pololu.com/catalog/product/1273) на аппаратный TWI AT91SAM7S128.
Использую стандартную библиотеку lib_twi.h от Atmel.
Осцилографом вижу, что SAM7 посылает какие-то импульсы, но их картина всегда одна и таже в независмости от того какие функции выполняются (см. прикрепленное изображение). Осцилограмма снята с AT91C_PA3_TWD. Подтяжку к "+" осуществляет сам LSM303DLM.
Эта осцилограмма не меняется при изменении адреса, да и вообще она всегда одинаковая, какие-бы функции не вызывались: AT91F_TWI_ProbeDevices, AT91F_TWI_WriteSingleIadr... Сдвижка адреса slave устройства на 16 влево результата тоже не дает. И так и не понял пока в каком виде надо отправлять в функции адрес (со сдвижкой или как есть)...
Библиотченые файлы и main.c во вложении в архиве.
У кого аппаратный TWI на AT91SAM7S работает? Или может быть кто-нибудь поделится рабочей софтовой реализаций TWI. Хотелось бы, конечно, запустить аппаратный...
Может бы что-то упуская на этапе инициализации... Фюз не какой к этому не относится?
Заранее благодарен всем за любую помощь!
Вложения
at91sam7s_twi.zip
(5.61 КиБ) Скачиваний: 0
2013-08-12 18.30.35.jpg
2013-08-12 18.30.35.jpg (45.89 КиБ) Просмотров: 3081

Re: Не могу запустить TWI на AT91SAM7S128 - РЕШЕНО

maska » 13 авг 2013, 21:10

После нескольких бессонных ночей нашел решение на прерываниях от Atmel в примере работы с EEPROM.
Во вложении пример, решающий проблемы. Его я не компилировал, но все значимое перенес в свой проект после чего аппаратный TWI заработал (пока только с датчиком STLM75, но это уже несущественные частности).
Всем спасибо за просмотры.
Вложения
basic-twi-eeprom-project-at91sam7s-ek.zip
(548.62 КиБ) Скачиваний: 0

Re: Не могу запустить TWI на AT91SAM7S128

Scorpio » 14 авг 2013, 11:26

Поздравляю с победой!


cron
Rambler\'s Top100 Mail.ru counter