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

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

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

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

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

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


 
Опции темы
Непрочитано 03.12.2018, 15:31  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: AT24CM02

Saleae Logic на алиэкспресс
Реклама:
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Сказали "Спасибо" CERGEI1982
stubiflex (03.12.2018)
Непрочитано 04.12.2018, 13:16  
stubiflex
Прописка
 
Регистрация: 17.07.2006
Сообщений: 129
Сказал спасибо: 23
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
stubiflex на пути к лучшему
По умолчанию Re: AT24CM02

Коллеги, не валяется у кого то код в МPLAB-е( XC8 ), для обращения с AT24CM02?
stubiflex вне форума  
Непрочитано 08.12.2018, 22:46  
stubiflex
Прописка
 
Регистрация: 17.07.2006
Сообщений: 129
Сказал спасибо: 23
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
stubiflex на пути к лучшему
По умолчанию Re: AT24CM02

Решено.

Проблема была в том, что адрес в программе не совпадал с физическим адресом устройства. (В комментах то, что было)

//uint16_t EEPROM_DEVICE_ADDRESS = (0xA8 ›› 1); // if logical 1 on PIN3 of EEPROM device
uint16_t EEPROM_DEVICE_ADDRESS = (0xA0 ›› 1);

static void setDeviceAddress(uint8_t MSBAddress)
{
switch(MSBAddress)
{
// case 0x0:
// EEPROM_DEVICE_ADDRESS = (0xA8 ›› 1); // if logical 1 on PIN3 of EEPROM device
// break;
// case 0x1:
// EEPROM_DEVICE_ADDRESS = (0xAA ›› 1); // if logical 1 on PIN3 of EEPROM device
// break;
// case 0x2:
// EEPROM_DEVICE_ADDRESS = (0xAC ›› 1); // if logical 1 on PIN3 of EEPROM device
// break;
// case 0x3:
// EEPROM_DEVICE_ADDRESS = (0xAE ›› 1); // if logical 1 on PIN3 of EEPROM device
// break;
// default:
// break;

case 0x0:
EEPROM_DEVICE_ADDRESS = (0xA0 ›› 1);
break;
case 0x1:
EEPROM_DEVICE_ADDRESS = (0xA2 ›› 1);
break;
case 0x2:
EEPROM_DEVICE_ADDRESS = (0xA4 ›› 1);
break;
case 0x3:
EEPROM_DEVICE_ADDRESS = (0xA6 ›› 1);
break;
default:
break;
}
}

static void resetDeviceAddress()
{
switch(EEPROM_DEVICE_ADDRESS)
{
// case 0x54: // if logical 1 on PIN3 of EEPROM device
// EEPROM_DEVICE_ADDRESS = (0xAA ›› 1); // if logical 1 on PIN3 of EEPROM device
// break;
// case 0x55: // if logical 1 on PIN3 of EEPROM device
// EEPROM_DEVICE_ADDRESS = (0xAC ›› 1); // if logical 1 on PIN3 of EEPROM device
// break;
// case 0x56: // if logical 1 on PIN3 of EEPROM device
// EEPROM_DEVICE_ADDRESS = (0xAE ›› 1); // if logical 1 on PIN3 of EEPROM device
// break;
// case 0x57: // if logical 1 on PIN3 of EEPROM device
// EEPROM_DEVICE_ADDRESS = (0xA8 ›› 1); // if logical 1 on PIN3 of EEPROM device
// break;
// default:
// break;

case 0x50:
EEPROM_DEVICE_ADDRESS = (0xA2 ›› 1);
break;
case 0x51:
EEPROM_DEVICE_ADDRESS = (0xA4 ›› 1);
break;
case 0x52:
EEPROM_DEVICE_ADDRESS = (0xA6 ›› 1);
break;
case 0x53:
EEPROM_DEVICE_ADDRESS = (0xA0 ›› 1);
break;
default:
break;
}
}

Последний раз редактировалось stubiflex; 08.12.2018 в 22:53.
stubiflex вне форума  
Непрочитано 08.12.2018, 22:51  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,169
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: AT24CM02

stubiflex, таки константами сие надо в #define объявлять и потом не ползать по всему коду с правками при необходимости - только в заголовке. Заодно читабельность кода сильно улучшается.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
 

Закладки

Метки
at24cm02
Опции темы

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

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

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


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


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