Про I2C и AVR

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Встал на лапы
Сообщения: 116
Зарегистрирован: Чт сен 17, 2009 17:37:56

Сообщение Snuk »

программа на CodevisionAVR 2.04 (практически полностью сперта из справки к компилятору)

Код: Выделить всё

#include <mega48.h>
#asm
   .equ __i2c_port=0x0B ;PORTD
   .equ __sda_bit=0
   .equ __scl_bit=1
#endasm
#include <i2c.h>

#define EEPROM_BUS_ADDRESS 0xa0

unsigned char eeprom_read(unsigned char address) 
{
unsigned char data;
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write(address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data=i2c_read(0);
i2c_stop();
return data;
}


void main(void) 
{
i2c_init();
unsigned char i;
i=eeprom_read(0xaa);
PORTB=i;
}
i = 0xFF независимо от содержимого памяти :cry:
Что тут не так?
симулировал в протеусе, подтягивающие резисторы пробовал 10к, 4,7к.
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 169
Зарегистрирован: Пн мар 02, 2009 12:23:37

Сообщение krolaka »

в CVAVR либа кривая как по мне для работы с i2c.. а протеус вобще не умеет правильно симулировать... рекомендую испытать на железе :) когдато сам долго мучился перешол на компилятор WinAVR и там нашол для себя кучу прекрасных либ :) вот ету я юзал http://homepage.hispeed.ch/peterfleury/i2cmaster.zip :)
Изображение
Контактная информация:
Реклама
Встал на лапы
Сообщения: 116
Зарегистрирован: Чт сен 17, 2009 17:37:56

Сообщение Snuk »

попробую на железе.
но есть к меня только 24с01. нужно ли менять EEPROM_BUS_ADDRESS при такой замене памяти. и что это вообще за адрес такой?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

у 24С01 не предусмотрен адрес, есть 24С01B (вроде именно B) вот у них задается адрес внешними выводами.
при использовании 24с01 не нужно посылать адрес устройства, а сразу писать адрес в памяти а далее данные.
вот из даташита 24с01:
Изображение
а вот из даташита на 24с256:
Изображение
Вложения
24c256.JPG
(25.33 КБ) 1046 скачиваний
24c01.JPG
(11.49 КБ) 1078 скачиваний
Ставим плюсы: )
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 116
Зарегистрирован: Чт сен 17, 2009 17:37:56

Сообщение Snuk »

Да плохо думается, когда уже 2 дня это пытаюсь сделать, а оно нихрена не работает.
сегодня с глюками, но заработало. буду думать дальше.....
как оказалось зря я доверял протеусу - там не работает, на железе работает!
Реклама
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

Темы спецом по CVAVR'у и нескольких тем по И2С показалось недостаточно? Закрыто.
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»