I2C

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

I2C

Сообщение Иван_С » 09 мар 2006, 17:28

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

Сообщение avr123.nm.ru » 09 мар 2006, 19:08

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

примеры кода из ДШ пробовал? смотрел?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: I2C

Сообщение wolf » 09 мар 2006, 20:54

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


Порты SDA/SCL можно не конфигурировать, при включении TWI они сами встанут в положение "открытый коллектор". Внешние подтягивающие резисторы обязательны. Программная обработка делается прямо по даташиту; если нигде не ошибиться - всё заработает, с прерываниями или без.
wolf
 
Сообщения: 63
Зарегистрирован: 23 июл 2005, 00:39
Откуда: Казань

Сообщение Иван_С » 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 включались внешние приревания для которых нет обработчиков и всё висло, может и щас что то подобное.
Если кто-то радотал с этой библиотекой то подскажите плиз.
Иван_С
 
Сообщения: 6
Зарегистрирован: 07 мар 2006, 23:03
Откуда: Краснодар

Сообщение Иван_С » 12 мар 2006, 01:38

avr123.nm.ru в этом кратком курсе TWI модуль не разберается(я ненашёл, может слепой))))) а библиотека моя вроди из набора avrlib.
Иван_С
 
Сообщения: 6
Зарегистрирован: 07 мар 2006, 23:03
Откуда: Краснодар

Сообщение wolf » 12 мар 2006, 16:38

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


Попробуйте аналогичную библиотеку из дистрибутива CodeVision.
wolf
 
Сообщения: 63
Зарегистрирован: 23 июл 2005, 00:39
Откуда: Казань

Сообщение avr123.nm.ru » 13 мар 2006, 01:17

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


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

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

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

Открываешь help и ищешь слова twi и i2c  - там все разжевано !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение Иван_С » 14 мар 2006, 11:21

А кто такой CodeVision ??? Я WINAVR использую.
И вобщем то у меня лажа в обработчике приреваний, толи он не вызывается толи приревания. Я с приреваниями раньше не работал вот пытаюсь щас разобраться.
Иван_С
 
Сообщения: 6
Зарегистрирован: 07 мар 2006, 23:03
Откуда: Краснодар

Сообщение avr123.nm.ru » 14 мар 2006, 16:22

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


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

там на 4-й странице:
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение Иван_С » 31 мар 2006, 17:44

После команды СТАРТ в регистре TWSR формируется значение (248 "F8")Что это такое, в мануале вроде такова нет.
Иван_С
 
Сообщения: 6
Зарегистрирован: 07 мар 2006, 23:03
Откуда: Краснодар

Сообщение wolf » 31 мар 2006, 18:37

Есть. Даташит, страница 193.
wolf
 
Сообщения: 63
Зарегистрирован: 23 июл 2005, 00:39
Откуда: Казань

Сообщение avr123.nm.ru » 31 мар 2006, 20:41

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

так что не зря я курс прочитал ...
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение bodja » 01 апр 2006, 23:37

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

F8 это промежуточное значение регистра состояния TWSR пока
флаг TWINT=0 то есть пока не будет завершена команда.
bodja
 
Сообщения: 47
Зарегистрирован: 19 мар 2006, 01:30
Откуда: Украина,г.Бердичев

Re: I2C

Сообщение D'Ark Trouyan » 03 фев 2008, 18:47

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

Re: I2C

Сообщение =DeaD= » 10 фев 2008, 00:05

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

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

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

А зачем вам именно i2c нужен от ПК до МК?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 17