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

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

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

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

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

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

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

 
Опции темы

Запись EEPROM Megi88

Непрочитано 23.03.2009, 09:50  
FedorChek
Прописка
 
Регистрация: 24.07.2008
Сообщений: 151
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
FedorChek на пути к лучшему
По умолчанию Запись EEPROM Megi88

Добрый день. Пытаюсь осуществить запись в «еепром» все бы не чего только вот через какое-то время запись прекращается т.е. как бы срабатывает таймер. Вот код

void do_IR_write(unsigned char sel
{
unsigned char temp; //r16
init_inout();
#asm
.equ PINB_ =0x03 // mega8 $16
.equ eea_preparats =0x01
.def ee =r16
.def temp =r21
.def reg_00 =r1
.def sel =r17
ldi ee,eea_preparats
add ee,sel
clr temp
in temp,PINB_
asr temp
ori temp,0xFE
rcall ee_write
ee_write:
sbic eecr,eepe
rjmp ee_write
out eearl,ee
out eearh,reg_00
out eedr,temp
sbi eecr,eempe
sbi eecr,eepe
ret
#endasm
data[sel]=temp;

но меня настораживает следующий момент если закомментировать ret то запись прдолжается правда белиберда пишется. Как выйти из положения
запись начинается с 0x02 и т.д. все заканчивается на sel=42 т.е. 0x1B смещение начального адреса (eea_preparats) результатом не дало. Что делать ума не приложу.
data[sel] объявлена как массив

eeprom unsigned char data[112]={ // data[0] – не используется, =0xff.
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
Реклама:
FedorChek вне форума  
Непрочитано 23.03.2009, 14:39  
woroba
Гражданин KAZUS.RUN
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 862
Сказал спасибо: 98
Сказали Спасибо 216 раз(а) в 139 сообщении(ях)
woroba на пути к лучшему
По умолчанию Re: Запись EEPROM Megi88

Сообщение от FedorChek

rcall ee_write
ee_write:
sbic eecr,eepe
rjmp ee_write
out eearl,ee
out eearh,reg_00
out eedr,temp
sbi eecr,eempe
sbi eecr,eepe
ret
#endasm
data[sel]=temp;
Это что получается вы вызываете подпрограмму, RET возврашает на следующую строку, а там опять подпрограмма??? И куда в этот раз будет RET???
__________________
Не ошибается лишь тот, кто ни чего не делает!
woroba вне форума  
Непрочитано 23.03.2009, 18:18  
FedorChek
Прописка
 
Регистрация: 24.07.2008
Сообщений: 151
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
FedorChek на пути к лучшему
По умолчанию

Никуда на этом прцедура "do_IR_write" заканчивается Может есть альтернативный способ записи? Последний "штрих" остался и ни как
FedorChek вне форума  
Непрочитано 23.03.2009, 18:42  
woroba
Гражданин KAZUS.RUN
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 862
Сказал спасибо: 98
Сказали Спасибо 216 раз(а) в 139 сообщении(ях)
woroba на пути к лучшему
По умолчанию

Сообщение от FedorChek
Никуда на этом прцедура "do_IR_write" заканчивается Может есть альтернативный способ записи? Последний "штрих" остался и ни как
Видно не поняли. Вот так понятней!

rcall ee_write
rjamp mmm
ee_write:
sbic eecr,eepe
rjmp ee_write
out eearl,ee
out eearh,reg_00
out eedr,temp
sbi eecr,eempe
sbi eecr,eepe
ret
mmm:
Это в том случае если вы очень хотите использовать подрограмму, хотя она тут совсем ненужна!
__________________
Не ошибается лишь тот, кто ни чего не делает!
woroba вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в EEPROM pic16f628a J-t Микроконтроллеры, АЦП, память и т.д 6 22.01.2008 16:10
PIC,запись в EEPROM ? retas Микроконтроллеры, АЦП, память и т.д 6 30.11.2007 19:13
Запись в I2C EEPROM yel Микроконтроллеры, АЦП, память и т.д 8 07.03.2007 16:08
Запись в eeprom в ATtiny2313 Violett Микроконтроллеры, АЦП, память и т.д 4 23.04.2006 23:19
Запись чтение в EEPROM gnom Микроконтроллеры, АЦП, память и т.д 2 24.02.2006 23:10


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


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