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

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

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

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

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

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

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

 
Опции темы
Непрочитано 10.06.2008, 11:02  
vitaly_v_ch
Прописка
 
Регистрация: 19.03.2008
Сообщений: 100
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
vitaly_v_ch на пути к лучшему
По умолчанию [AtMega48]Не удается работать с 24lc512 при помощи AVRlib

после записи i2c eeprom 24lc512 на скорости 400 кбит я читаю не тоже самое что писал. вернее ф-я i2ceepromReadByte возвращает всегда старший байт адреса.
Пример читающего кода:

Код:
int main(void)
{      
// Crystal Oscillator division factor: 1

#ifndef __GNUC__
#pragma optsize-
#endif
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
InitChip();
SPI_SlaveInit();
i2cInit();
i2ceepromInit();

asm __volatile__("wdr");

static unsigned short i;
  
for(i=0;; i++)
{
    unsigned char byte;
    byte = i2ceepromReadByte(0, i);

    OutData(_BV(0), digit_value_mask[i      &0x000f]&0x7f);
    OutData(_BV(1), digit_value_mask[(i››4) &0x000f]&0x7f);
    OutData(_BV(4), digit_value_mask[(i››8) &0x000f]&0x7f);
    OutData(_BV(5), digit_value_mask[(i››12)&0x000f]&0x7f);

    OutData(_BV(2), digit_value_mask[byte      &0x0f]&0x7f);
    OutData(_BV(3), digit_value_mask[(byte››4) &0x0f]&0x7f);

    delay_ms(500);
}
400 кБит выставляется в i2cInit()
все прерывания всегда запрещены так как я понял что для работы i2ceepromReadByte() они не нужны

-- Прилагается рисунок: --

Реклама:
vitaly_v_ch вне форума  
Непрочитано 10.06.2008, 14:18  
vitaly_v_ch
Прописка
 
Регистрация: 19.03.2008
Сообщений: 100
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
vitaly_v_ch на пути к лучшему
По умолчанию

Поехало после замены
Код:
    byte = i2ceepromReadByte(0, i);
на
Код:
    byte = i2ceepromReadByte(0xA0, i);
эта функция требует сформированый управляющий байт а не адрес.
vitaly_v_ch вне форума  
Непрочитано 10.06.2008, 18:25  
Kuzmi4
Частый гость
 
Регистрация: 12.05.2007
Сообщений: 38
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Kuzmi4 на пути к лучшему
По умолчанию

2 vitaly_v_ch - читайте даташит - это как раз адрес вашего устроства , т.к у вас А0 и А1 на земле - отого и адрес 0хА0.
ДШ на 24С512 - стр7. первый абзац.
Kuzmi4 вне форума  
Непрочитано 10.06.2008, 19:00  
vitaly_v_ch
Прописка
 
Регистрация: 19.03.2008
Сообщений: 100
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
vitaly_v_ch на пути к лучшему
По умолчанию

Сообщение от Kuzmi4
2 vitaly_v_ch - читайте даташит - это как раз адрес вашего устроства , т.к у вас А0 и А1 на земле - отого и адрес 0хА0.
ДШ на 24С512 - стр7. первый абзац.
скорее всего я неудачно выразился.
vitaly_v_ch вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сдвиг фаз при помощи ЦОС lexa1000 Цифровые сигнальные процессоры 11 05.04.2013 15:12
Как прошивать при помощи Byte Blaster? Andbiz Микроконтроллеры, АЦП, память и т.д 12 24.06.2008 23:03
[AtMega48] меандр на всех ножках порта D при записи 0 в порт vitaly_v_ch Микроконтроллеры, АЦП, память и т.д 4 02.06.2008 11:22
Прошу помощи при выборе краски axund Делимся опытом 1 06.04.2008 06:52
Терморегулирование при помощи АТmega16 и терморезистора. pes3220 Микроконтроллеры, АЦП, память и т.д 5 28.04.2007 23:41


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


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