Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

AT24CM02

Непрочитано 03.12.2018, 15:31  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 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
Адрес: Москва СЗАО/МО
Сообщений: 12,293
Сказал спасибо: 11,862
Сказали Спасибо 4,160 раз(а) в 3,178 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: AT24CM02

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

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

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

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

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


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.