реклама на сайте
подробности

 
 
> Mega48-20 не пишет в EEPROM, Что я забыл?
smk
сообщение Dec 16 2014, 07:47
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Давно уже с АВРками дела не имел может что-то не так. Есть устройство с Mega48-20. Тактовая 4 МГц. Фуз еепрома стоит правильно, запись разрешена. Функции чтения-записи из даташита. Не пишет в еепром, в т.ч. и на симуляторе тоже. Что это может быть, что я забыл? Прерывания запрещаю. Пишется из главного цикла. Читать получается (0хFF).

Код
void EEPROM_write(unsigned int Address, unsigned char Data)
{
  while(EECR & (1<<EEPE)); /* Wait for completion of previous write */
  EEAR = Address; /* Set up address and Data Registers */
  EEDR = Data;
  EECR |= (1<<EEMPE); /* Write logical one to EEMPE */
  EECR |= (1<<EEPE); /* Start eeprom write by setting EEPE */
}

unsigned char EEPROM_read(unsigned int Address)
{
  while(EECR & (1<<EEPE)); /* Wait for completion of previous write */
  EEAR = Address; /* Set up address register */
  EECR |= (1<<EERE); /* Start eeprom read by writing EERE */
  return EEDR; /* Return data from Data Register */
}

    while(1)
    {
    if(mode)
    {
      PORTC = 0b00010000;
      delay(30000);
      PORTC = 0b00000000;
      delay(30000);
    }

    if(mem)
    {
      asm("cli");      
      EEPROM_write(0x0A, mode);
      EEPROM_write(0x0B, output);
      mem = 0;
      asm("sei");
    }
    //проверить питание
    }//while


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
smk
сообщение Dec 16 2014, 21:47
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



в смысле цикл тот
Код
void delay (unsigned long t)
{
  while(t--);
}


и еще, delay_ms... сразу дало большой довесок коду. включил оптимизацию, но это привело программу в нерабочий вид. хотя код ужало. в чем смысл?


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 16 2014, 23:03
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(smk @ Dec 16 2014, 23:47) *
в чем смысл?
В чтении документации. В ней все написано. И про большой код и про оптимизацию. И смею вас заверить - delay_ms работает именно так, как описано в документации. Что вы понимаете под нерабочим видом программы телепатировать не получается.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- smk   Mega48-20 не пишет в EEPROM   Dec 16 2014, 07:47
- - Сергей Борщ   Код EECR |= (1<<EEMPE); /* Write l...   Dec 16 2014, 08:00
|- - smk   Цитата(Сергей Борщ @ Dec 16 2014, 10:00) ...   Dec 16 2014, 08:56
|- - Xenia   Цитата(smk @ Dec 16 2014, 11:56) Компилят...   Dec 16 2014, 09:01
||- - smk   Цитата(Xenia @ Dec 16 2014, 11:01) У вас ...   Dec 16 2014, 09:04
|- - Сергей Борщ   Цитата(smk @ Dec 16 2014, 10:56) Компилят...   Dec 16 2014, 09:08
|- - smk   Цитата(Сергей Борщ @ Dec 16 2014, 11:08) ...   Dec 16 2014, 09:11
|- - Сергей Борщ   Цитата(smk @ Dec 16 2014, 11:11) Только я...   Dec 16 2014, 09:54
|- - IgorKossak   Цитата(smk @ Dec 16 2014, 11:11) Спасибо....   Dec 16 2014, 12:17
|- - smk   Цитата(IgorKossak @ Dec 16 2014, 14:17) Э...   Dec 16 2014, 12:40
|- - IgorKossak   Цитата(smk @ Dec 16 2014, 14:40) Ну а как...   Dec 16 2014, 13:43
|- - smk   Цитата(IgorKossak @ Dec 16 2014, 15:43) О...   Dec 16 2014, 14:31
||- - IgorKossak   Цитата(smk @ Dec 16 2014, 16:31) Да, комп...   Dec 16 2014, 19:16
|- - Bear_ku   Цитата(IgorKossak @ Dec 16 2014, 18:43) Н...   Dec 17 2014, 03:54
|- - demiurg1978   Я делал один проект. Сначала взял ATMEGA8535. Прое...   Dec 17 2014, 07:17
|- - Сергей Борщ   Цитата(demiurg1978 @ Dec 17 2014, 09:17) ...   Dec 17 2014, 08:00
|- - demiurg1978   Цитата(Сергей Борщ @ Dec 17 2014, 14:00) ...   Dec 17 2014, 08:18
|- - Xenia   Цитата(Сергей Борщ @ Dec 17 2014, 11:00) ...   Dec 17 2014, 08:22
- - Bear_ku   Нашел старую программу для ATmega128, все было сде...   Dec 16 2014, 12:45
- - Сергей Борщ   Откровенно говоря - не стоит полагаться на компиля...   Dec 16 2014, 14:55
- - smk   Код../trsm_m48.c:21: warning: ...   Dec 16 2014, 19:14
- - smk   Ну вот... О1 и уже не работает. прикладываю проект...   Dec 16 2014, 20:04
|- - Сергей Борщ   Цитата(smk @ Dec 16 2014, 21:14) Вот тако...   Dec 16 2014, 20:09
- - smk   так предлагаете unsigned char *0x0A или как? Читае...   Dec 16 2014, 20:19
- - Xenia   Хочу напомнить, что у IAR EWAVR в хидере intrinsic...   Dec 17 2014, 08:01
- - Сергей Борщ   Цитата(demiurg1978 @ Dec 17 2014, 10:18) ...   Dec 17 2014, 08:39
- - demiurg1978   Цитата(Сергей Борщ @ Dec 17 2014, 14:39) ...   Dec 17 2014, 09:34


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 20:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01401 секунд с 7
ELECTRONIX ©2004-2016