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

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

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

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

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

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

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

 
Опции темы

Помогите с 24с16

Непрочитано 10.10.2013, 10:03  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Помогите с 24с16

begun, у вас отсутствует расчет адреса блока, будут писаться только первые 256 байт. Это относится к 16c, там номер блока выбирается адресом
0хА0
0хА1
...
0хА8

в моем примере он рассчитывается (честно спионерил в сети), код рабочий (с рабочего проекта), следите за типами переменных (размер/знаковость)
Реклама:
whoim вне форума  
Непрочитано 13.10.2013, 02:03  
ban banovich
Прописка
 
Аватар для ban banovich
 
Регистрация: 05.09.2012
Адрес: Зурбаган
Сообщений: 204
Сказал спасибо: 9
Сказали Спасибо 45 раз(а) в 25 сообщении(ях)
ban banovich на пути к лучшему
По умолчанию Re: Помогите с 24с16

похоже кого-то это зацепило.
но помощи всё равно не будет. ищите.
я сам не друг кнопочек. моя стихия воплощение с паяльником.
ban banovich вне форума  
Непрочитано 13.10.2013, 13:26  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: Помогите с 24с16

друзья,

предложенная AJScorp функция , которая приводится ниже, работает
четко . Запись происходит во всем адресном пространстве 24с16 без единой ошибки. Причем каждая ячейка записыает байты в шестнадцатеричной форме без ошибки т.е. числа от 0х00 до 0xFF.
только вот, при чтении, происходит нечто странное что Я не смог обяснит
Без ошибки читаются числа от 0х00 до 0х7F а выше уже читаются как
0хFF. т.е. как только на восьмом разряде появляется единица с ячейки читается 255.
Может у кого были такие моменты и поделиться опытом в чем тут может быть дело?
ну осталось чуть чуть давайте ну друзья- киты.




unsigned int eep_read(unsigned int address)
{
unsigned char data;
i2c_start(); i2c_write((EEPROM_BUS_ADDRESS | ((address››7) & 0x0E));
i2c_write(address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data=i2c_read(0);
i2c_stop();
return data;
}
//-------------------------------------------------------------
void eep_write(unsigned int address, unsigned char data)
{
i2c_start(); i2c_write((EEPROM_BUS_ADDRESS | ((address››7) & 0x0E));
i2c_write(address);
i2c_write(data);
i2c_stop();
}
begun вне форума  
Непрочитано 13.10.2013, 14:07  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Помогите с 24с16

Проверьте все типы переменных. Уродует при единице в знаковом разряде (воспринимается как отрицательное число со всеми последствиями). Не допускайте неявных преобразований, в критических (подозрительных) местах указывайте явно.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 13.10.2013, 17:49  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Помогите с 24с16

Сообщение от begun Посмотреть сообщение
в чем тут может быть дело?
Возможно, дело в нотах.
Цитата:
7 старших бит DEV SEL (1й и 3й байты) при рандомном чтении должны быть одинаковы.
Figure 11. Read Modes Sequence
Миниатюры:
Нажмите на изображение для увеличения
Название: SeqRead.png
Просмотров: 92
Размер:	25.1 Кб
ID:	53167  
AJScorp вне форума  
Непрочитано 13.10.2013, 19:01  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: Помогите с 24с16

уважаемый AJScorp,уважаемые друзья,

рандом - ведь , это чтение со случаного адреса, но вот привожу полный код, где адресс указан четко 0х00.
т.е. читается с ячейки 0х00 и записывается в ячейку 0х34 число 0х9D.
так вот, когда это число 0х7D, записывается четко ,но стоит только сделать его 0х80 как уже записывается 0хFF.
Вот так парадокс. А может ли ,что в этом виноват протеус , где идет симмуляция?
И еще, когда на место 24с16 вставлю 24с08 ,все становится на своем месе.


/************************************************** ***
Chip type : ATmega8
Program type : Application
Clock frequency : 4,000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
************************************************** ***/

#include ‹mega8.h›

#include ‹stdio.h›
#include ‹delay.h›

char a9;

// I2C Bus functions
#asm
.equ __i2c_port=0x18 ;PORTB
.equ __sda_bit=0
.equ __scl_bit=1
#endasm
#include ‹i2c.h›
#define EEPROM_BUS_ADDRESS 0xa0
//---------------------------------------------------------------------
unsigned int eep_read(unsigned int address)
{
unsigned char data;
i2c_start();
i2c_write((EEPROM_BUS_ADDRESS | ((address››7) & 0x0E)));
i2c_write(address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data=i2c_read(0);
i2c_stop();
return data;
}
//-------------------------------------------------------------
void eep_write(unsigned int address, unsigned char data)
{
i2c_start();
i2c_write((EEPROM_BUS_ADDRESS | ((address››7) & 0x0E)));
i2c_write(address);
i2c_write(data);
i2c_stop();
}
void main(void)
{

PORTB=0x3C;
DDRB=0x0C;

PORTC=0x7D;
DDRC=0x02;

PORTD=0x00;
DDRD=0xFF;
// Global enable interrupts
#asm("sei")
//-----------------------------------------------
eep_write(0,0x9D);
delay_ms(10);

//--------------------------------------------

while (1)
{

if(PINC.0==0)
{
delay_ms(10);

eep_write(0x34,eep_read(0x00));
}




};
}
begun вне форума  
Непрочитано 13.10.2013, 19:57  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Помогите с 24с16

Сообщение от begun Посмотреть сообщение
рандом - ведь , это чтение со случаного адреса
Random - это не только "случайный", но и "произвольный". Что из этих значений тут больше к месту? В каком значении есть смысл?
Сообщение от begun Посмотреть сообщение
А может ли ,что в этом виноват протеус , где идет симмуляция?
А "живой" чип - "жалкое подобие левой руки".
Извините, конечно, но протез - есть протез.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 13.10.2013, 21:06  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Помогите с 24с16

Сообщение от begun Посмотреть сообщение
рандом - ведь , это чтение со случаного адреса, но вот привожу полный код, где адресс указан четко 0х00.
Немного не так процесс понимаете. Там всего два варианта - либо чтение с текущего адреса, либо чтение с указанного адреса (Random Read). У Вас второй вариант.

Сообщение от begun Посмотреть сообщение
А может ли ,что в этом виноват протеус
Возможно и протеус, но косяк с нотой таки имеется, и, непонятно к чему может привести. Надо бы поправить.

З.Ы. Я то думал, у Вас железка живая не заводится.
AJScorp вне форума  
Непрочитано 13.10.2013, 22:10  
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: Помогите с 24с16

спасибо ,с рандомом разобрался ,но вот не понятно "нота" -это баит чтоли, или бит?
begun вне форума  
Непрочитано 13.10.2013, 22:23  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Помогите с 24с16

Сообщение от begun Посмотреть сообщение
"нота" -это баит чтоли, или бит?
"Note" - примечание. Пост #25.
AJScorp вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите русифицировать Anycall Samsung SEC SCHW770, SEC SCHW420, SEC SCHW2700, SEC SCHW570 Rusik_best Автоматика и аппаратура связи 0 27.12.2011 16:13
Помогите, пожалуйста, с PICом и дисплеем VaL_KX Proteus 4 15.11.2010 22:33
Помогите с ICD-2 clone Gladkih Микроконтроллеры, АЦП, память и т.д 27 31.01.2007 23:59
Помогите найти схему радио маяка или "Охоты на лис" IgorAVR Автоматика и аппаратура связи 1 16.01.2007 14:43
помогите подобрать транзистор _grey_ Информация по радиокомпонентам 6 16.12.2006 13:33


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


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