roboforum.ru

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

I2C

I2C

Иван_С » 09 мар 2006, 17:28

Подскажите пожалуста кто работал с шиной I2C_HW для ATmega32. Использую стандартную библиотеку, но где-то кто- то вкрался. Не вызывается обработчик прерываний. TWSR, SREG и GIRC включены. И осталась непонятным как должны быть сконфигурированны порты I/O при передачи управления модулю TWI.

avr123.nm.ru » 09 мар 2006, 19:08

хоть намекни в чем пишешь.

примеры кода из ДШ пробовал? смотрел?

Re: I2C

wolf » 09 мар 2006, 20:54

Иван_С писал(а):Подскажите пожалуста кто работал с шиной I2C_HW для ATmega32. Использую стандартную библиотеку, но где-то кто- то вкрался. Не вызывается обработчик прерываний. TWSR, SREG и GIRC включены. И осталась непонятным как должны быть сконфигурированны порты I/O при передачи управления модулю TWI.


Порты SDA/SCL можно не конфигурировать, при включении TWI они сами встанут в положение "открытый коллектор". Внешние подтягивающие резисторы обязательны. Программная обработка делается прямо по даташиту; если нигде не ошибиться - всё заработает, с прерываниями или без.

Иван_С » 10 мар 2006, 13:15

Пишу на Си, пытаюсь всё сделать на библиотеке
File Name : 'i2c.c'
// Title : I2C interface using AVR Two-Wire Interface (TWI) hardware
// Author : Pascal Stang - Copyright (C) 2002-2003
// Created : 2002.06.25
// Revised : 2003.03.02
// Version : 0.9
// Target MCU : Atmel AVR series
Собственно с ней и заморочка.
В даташитах я не нашёл семплов по hw а вот sw есть.
Мне кажется что я просто недостаточно представляю себе архитектуру МК. Вполне возможно что кде-то, что-то в регистрах прописано и прерывания просто не вызываются. Уже была лажа после поднятия I флага SREG включались внешние приревания для которых нет обработчиков и всё висло, может и щас что то подобное.
Если кто-то радотал с этой библиотекой то подскажите плиз.

Иван_С » 12 мар 2006, 01:38

avr123.nm.ru в этом кратком курсе TWI модуль не разберается(я ненашёл, может слепой))))) а библиотека моя вроди из набора avrlib.

wolf » 12 мар 2006, 16:38

Иван_С писал(а):avr123.nm.ru в этом кратком курсе TWI модуль не разберается(я ненашёл, может слепой))))) а библиотека моя вроди из набора avrlib.


Попробуйте аналогичную библиотеку из дистрибутива CodeVision.

avr123.nm.ru » 13 мар 2006, 01:17

Иван_С писал(а):    
avr123.nm.ru - в этом кратком курсе TWI модуль не разберается (я ненашёл, может слепой)))))


Курс avr123.nm.ru - по тому и КРАТКИЙ что я не помещаю в него то что ПОДРОБНЕЙШИМ образом описанов Help CodeVisionAVR.

В курсе просто на каждой странице написано - читайте help,
смотрите другие источники.

т.е. в курс это удочка а не рыба.

Открываешь help и ищешь слова twi и i2c  - там все разжевано !

Иван_С » 14 мар 2006, 11:21

А кто такой CodeVision ??? Я WINAVR использую.
И вобщем то у меня лажа в обработчике приреваний, толи он не вызывается толи приревания. Я с приреваниями раньше не работал вот пытаюсь щас разобраться.

avr123.nm.ru » 14 мар 2006, 16:22

Иван_С писал(а):А кто такой CodeVision ???


Эта такая штука чтоб эмбедеру счастье дать чуток.

там на 4-й странице:

Иван_С » 31 мар 2006, 17:44

После команды СТАРТ в регистре TWSR формируется значение (248 "F8")Что это такое, в мануале вроде такова нет.

wolf » 31 мар 2006, 18:37

Есть. Даташит, страница 193.

avr123.nm.ru » 31 мар 2006, 20:41

на 1 странице курса я прочитал, что в ДШ в конце есть таблица всех регистров МК с указанием страниц где о нем рассказывается.

так что не зря я курс прочитал ...

bodja » 01 апр 2006, 23:37

Иван_С писал(а):После команды СТАРТ в регистре TWSR формируется значение (248 "F8")Что это такое, в мануале вроде такова нет.

F8 это промежуточное значение регистра состояния TWSR пока
флаг TWINT=0 то есть пока не будет завершена команда.

Re: I2C

D'Ark Trouyan » 03 фев 2008, 18:47

Чтобы получить сообщение от ПК использую интерфейс RS232 и идет он к МК к UART. Теперь надо реализовать ПК-МК с использованием i2c. Програмный код наверняка будет другой, но меня сейчас интерресует вот что: по мимо замены контактов идущих к МК на соответствующие кондакты SDA и SCL (вместо RxD и TxD) требуется ли еще какие-то замены, например в интерфейсе RS232 ??

Re: I2C

=DeaD= » 10 фев 2008, 00:05

D'Ark Trouyan писал(а):Чтобы получить сообщение от ПК использую интерфейс RS232 и идет он к МК к UART. Теперь надо реализовать ПК-МК с использованием i2c. Програмный код наверняка будет другой, но меня сейчас интерресует вот что: по мимо замены контактов идущих к МК на соответствующие кондакты SDA и SCL (вместо RxD и TxD) требуется ли еще какие-то замены, например в интерфейсе RS232 ??

Насколько я знаю i2c на RS-232 напрямую не сделать.

Вообще вроде i2c умудрялись сделать на LPT-порте, но в любом случае это не самый удачный вариант.

А зачем вам именно i2c нужен от ПК до МК?


Rambler\'s Top100 Mail.ru counter