Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 15.04.2007, 21:32  
mdn_tec
Частый гость
 
Регистрация: 31.01.2007
Сообщений: 15
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
mdn_tec на пути к лучшему
По умолчанию Помогите с I2C

Начиная программировать на микроконтроллерах я столкнулся с проблемой по шине I2C. Теоретические основы я уже понял,
а вот конкретного примера применения не найду.
Скажем, считать с 24с02 байт или что нибудь подобное.
Может у кого-нибудь есть пример такой схемы с прошивкой?
Реклама:
mdn_tec вне форума  
Непрочитано 15.04.2007, 22:12  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

А на чем пишешь? На каком контроллере? На асме или си компилляторе?
dimonbest вне форума  
Непрочитано 15.04.2007, 23:28  
mdn_tec
Частый гость
 
Регистрация: 31.01.2007
Сообщений: 15
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
mdn_tec на пути к лучшему
По умолчанию

Микроконтроллер желательно pic и язык asm.
если такого примера нет,
то буду рад любому,
тем более, что мне достаточно самого алгоритма,
т. е. положение SDA и SCL во времени, но не диаграммы,
а желательно полнаой строки состоянй,
скажем , считывания (записи) адреса с памяти,
от старта и до конца.
mdn_tec вне форума  
Непрочитано 15.04.2007, 23:36  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Я пишу на AVR, так что с PIC не помогу...
Прикрепил описание на русском, может поможет....

Прикрепленный файл: 9630143.rar
dimonbest вне форума  
Непрочитано 15.04.2007, 23:50  
mdn_tec
Частый гость
 
Регистрация: 31.01.2007
Сообщений: 15
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
mdn_tec на пути к лучшему
По умолчанию

а на AVR вроде есть аналог TWI,
может по ниму что-нибудь найдётся?
mdn_tec вне форума  
Непрочитано 15.04.2007, 23:55  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

У ATMEG есть встроенный TWI... Я програмлю на CodeVisionAVR, там есть библиотека по i2c, только подставляю адрес и значение, а прога все делает сама... в принципе я раньше работал с i2c на простых кнопках мп5... а что именно не понятно в протоколе?
dimonbest вне форума  
Непрочитано 16.04.2007, 00:23  
mdn_tec
Частый гость
 
Регистрация: 31.01.2007
Сообщений: 15
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
mdn_tec на пути к лучшему
По умолчанию

Вся сложность в том,
что мне не понятен принцип,
по которому передаётся адрес для чтетия,
записи.
Было бы неплохо,
если бы вы мне написали нескольно команд для CodeVisionAVR по записичтениюадрессации.
mdn_tec вне форума  
Непрочитано 16.04.2007, 00:31  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Код:
#define EEPROM_BUS_ADDRESS 0xa0
unsigned char eeprom_read(unsigned int address) {
unsigned char data;
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write(address››8);
i2c_write(address & 0x00FF);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data=i2c_read(0);
i2c_stop();
return data;
}

void eeprom_write(unsigned int address, unsigned char data) {

i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write(address››8);
i2c_write(address & 0x00FF);
i2c_write(data);
i2c_stop();

/* 5 ms delay to complete the write operation */
delay_ms(5);
}
Команда старт.
В первом байте передается адрес устройства (в данном случае адресс памяти AT24..) а последний бит определяет будет это запись или чтение... дальше адресс, а потом данные....
Команда стоп...
Попробуйте перечитать описание протокола, может будут более конкретные вопросы....
dimonbest вне форума  
Непрочитано 16.04.2007, 00:51  
mdn_tec
Частый гость
 
Регистрация: 31.01.2007
Сообщений: 15
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
mdn_tec на пути к лучшему
По умолчанию

Спасибо,
думаю, что ассемблер надо забрасывать,
иначе не миновать рутины.
mdn_tec вне форума  
Непрочитано 16.04.2007, 00:54  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Очень правильное решение, сам когда то души не чаял в асме... Проблемой перейти на си еще была такая, что в универе изучал паскаль а не си... Все же перешел и не жалею...
Удачи
dimonbest вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Mega 8 + TWI (I2C) Slave Помогите. west1111 Микроконтроллеры, АЦП, память и т.д 46 10.07.2013 01:40
?-быстродействие I2C giran Микроконтроллеры, АЦП, память и т.д 1 15.05.2007 15:14
Помогите разобраться с внешней памятью по I2C graham Микроконтроллеры, АЦП, память и т.д 3 16.12.2005 17:01
I2C chipic128 Микроконтроллеры, АЦП, память и т.д 4 23.02.2005 02:19
I2C zevs Микроконтроллеры, АЦП, память и т.д 0 11.01.2005 16:11


Часовой пояс GMT +4, время: 01:44.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot