Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Есть ли у кого библиотека i2c_twi-slave.lbx???


Есть ли у кого библиотека i2c_twi-slave.lbx???

Сообщений 1 страница 30 из 37

1

Есть ли у кого библиотека i2c_twi-slave.lbx на поделиться??? Очень нужно.
заранее спасибо!!!

0

2

+1 =)

0

3

+1

0

4

-2
:)
была где то, отстой полный

0

5

Мужики, я понимаю, что может моя просьба и нескромная, но честно говоря, меня интересует возможность получить библиотеку а не комментарии.  А вернее сказать, хотя-бы пояснение как использовать аппаратный I2C в подчиненном режиме с прерыванием.

0

6

Объясню в чем прикол. Чутка возился с этой библиотекой - даже при моих знаниях так и не понял как это работает. Хотел сделать порт 8 бит по адресу и2ц. Мало того что такового мне библа не позволила, так еще и проверка осциллом выявила полную неработоспособность оной.
Я могу выложить, но смысла не вижу. Честно скажу НЕ РАБОТАЕТ.

0

7

так она ж вроде платная, как она может не работать?

0

8

Спасибо!

0

9

Ведущийспециалист написал(а):

так она ж вроде платная, как она может не работать?

Согласен, отдают за деньги. Но работает через жопу, либо под определенную функцию.

0

10

Купил вчера себе эту штуку и что я могу сказть (пробежавшись вчера по доке, примерам и после переписки с их поддержкой):

- работает эта штука только на тех МК где есть полностью аппаратный TWI/I2C (должно быть наличие регистра TWDR, аппартный, полноценный порт последовательный);
- ничего общего нет с USIDR, т.е. большинство семейства Attiny - идут лесом!
- не поддерживается (говорят пока) XMega семейство, но вроде как в течении месяца подтянут (если чот там не случиться с интересом потребителя).

В доке и примерах читал о какой-то технологии INT+Timer/counter чтобы софтварно реализовывать I2C, но чот не понял к чему это всё, если библиотека эмуляцию не поддерживает...

0

11

Внезапно налетел на обновление библиотеки, теперь поддерживаются XMega и USI (всё семейство ATTINY). Единственное, всё это хозяйство работает только с новым компилятором и обновлением ряда библиотек.
Пробовал пока только собирать примеры штатные (собираются), попытаюсь накидать свою программку для проверки в протеусе, а потом в железе, если всё заработает - это сколько же на тиньках полезного можно понаделать.  ^^

0

12

Что такое "новый компилятор"?

0

13

Есть новая версия 2.0.7.7, но мне Марк сказал скачать ещё более новую/изменённую версию Баскома, для которой была выпущена новая библиотека I2C (т.к. на той, что есть в открытом доступе, эта библиотека не работает).

Отредактировано RDW (2014-01-27 18:48:03)

0

14

Какую???

0

15

2.0.7.7.003 (compiller), весит 31МБ, видать какая-то дебагверсия

0

16

Я на форуме поинтересовался на счет обновления i2c библиотеки (благо кто-то до меня поднял тему).
Залез в обновления, скачал. Там старый контент. Отписал об этом.
Мне сказали установить 2.0.7.7 версию, установил. Ничего в ней нового по i2cне обнаружил.
Отписал об этом на форуме, Марк сказал написать на суппорт (почту). Там он мне сказал, что и где брать + прислал обновленную библиотеку (i2c).

Вот такая история.

0

17

RDW написал(а):

это сколько же на тиньках полезного можно понаделать.

Уж лучше 1-Wire slave.

0

18

Пробовал тут в выходные поиграться с либой, в протеусе ничего не работает. Написал Марку, он сразу сказал, что протеус USI не поддерживает.

0

19

Пётр написал(а):

Уж лучше 1-Wire slave.

Да, это мечта :)

0

20

Если "это мечта", то давно бы уже с нуля разобрались и сделали. Мне вот лень было морочиться с i2c, по этому либу решил потискать, но пока как оказалось, не так всё просто. А вот в своё время с UARTом разобрался (он конечно проще значительно, меньше нюансов).

0

21

Разобраться и либа вещи немного разные. По 1-Wire slave есть работающий проект http://bascom.at.ua/publ/1-1-0-1 но это далеко не либа.

0

22

Добрый день всем!
Появилось время снова заняться атмегами и возникла необходимость несложного обмена данными между ними, поизучал вопрос, пришёл к выводу что по i2c более эстетично выглядит схема и попроще протокол обмена, но вот незадача, нужна библиотека i2c twi-slave, чтобы назначить атмегу слейвом, как без этой сделать библиотеки обмен по i2c не понял. Пожалуйста, поделитесь данной библиотекой и несложным примером пересылки данных между МК. Моя задача сейчас переслать два байта от одного микроконтроллера к другому.

0

23

maxab написал(а):

но вот незадача, нужна библиотека i2c twi-slave, чтобы назначить атмегу слейвом, как без этой сделать библиотеки обмен по i2c не понял. Пожалуйста, поделитесь данной библиотекой и несложным примером пересылки данных между МК.

Библиотека платная и вряд ли кто-то поделится... ;)

Тоже нравится этот интерфейс, но руки не доходят поковырять поглубже... ;)

Посмотрите здесь http://roboforum.ru/forum2/topic6978.html
Возможно, наведет на размышления...

0

24

Возникла идея сделать полностью аппаратный TWI. Ниже приведён пример команд и их сокращённый вариант:
st - nI2cstart                                   
wr - I2cwbyte X               
rs -  I2crepstart                                             
ra - I2crbyte Y , Ack                     
rn - I2crbyte Z , Nack                     
sp - I2cstop

Сокращения мы переведём в один байт и заполним буфер вот в таком виде: команда-данные _ команда-данные
Допустим, нам нужно передать ДВА байта X и Y, оформим буфер в соответствии с нашим соглашением:
st  _  wr-adress  _  wr-X  _  wr-Y  _  sp  и отправим на передачу процедуре. Вроде всё просто... Но... Как быть в случае, если нужно не только передавать байты а ещё и принимать их.
Вот на этом я пока завис  :D
Есть у кого идеи???

0

25

Чот я не понял накой изобретать велосипед?

0

26

Идея такова и она работает очень прекрасно. Заменяем i2c.twi на свою, где всё реализовано на аппаратном уровне на одном прерывании. Ждать ничего не нужно (но думаю предусмотреть) , есть собственный буфер в ОЗУ, в него и складываем данные.
    Например, банальный дисплей 4Х20  ---  делаем под него буфер, заполняем его и даём команду на отправку и всё без задержек и ожиданий на аппаратном уровне спокойненько уходит и никому другому не мешает.
    Другое дело, если нужно передать и ПОЛУЧИТЬ данные в одну транзакцию, вот тут я не знаю как это реализовать логически.
Есть вариант отдельных буферов приёма и передачи, либо один буфер - но с префиксными командами. Вот и спрашиваю ваши мнения.  Может что нового подкинете...

0

27

-NMi- написал(а):

делаем под него буфер, заполняем его и даём команду на отправку и всё без задержек и ожиданий на аппаратном уровне спокойненько уходит и никому другому не мешает.

Похоже попытка сделать программный DMA. :D Аппаратный DMA делает тоже самое, но без прерываний. :)

0

28

Ага  :rofl:   Хорошо тебе сидеть на STM , ноги свесил и кайфуешь  :D   А это Atmel , тут непокайфуешь  :flag:

0

29

У XMega есть DMA. Баском их поддерживает.

0

30

Ладно, мож кто что из идей подкинет...
В принципе можно и без буфера каждую команду баскома эмулировать через либу и в конечный автомат пускать... но если запись и чтение "столкнутся" - будет потеря данных! Баском то ждёт, пока TWI флаг готовности выставит а прерывания по мере готовности подпихивают новые данные и ничего не ждут программно.

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Есть ли у кого библиотека i2c_twi-slave.lbx???