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

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

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

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

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

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

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

 
Опции темы
Непрочитано 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.RU
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
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.RU
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
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, время: 18:25.


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