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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

Ответ
Опции темы
Непрочитано 20.06.2024, 14:33   #1
skorost5
Прохожий
 
Регистрация: 20.06.2024
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
skorost5 на пути к лучшему
По умолчанию Как пользоваться EEPROM в MicroPascal ATMEGA32

Добрый день. Подскажите, как записать информацию в EEPROM ATMEGA32 или ее прочитать.

teemp:= EEAR1 // !!!!!!!!! Только так получается

В описании написано что для этого надо использовать EEPROM_Read,
EEPROM_Write но эти команды не работают. Видимо для этого контроллера.

В описании по микроконтроллеру написано, что у него в EEPROM используются EEAR0 - EEAR9

Но как прочитать или записать не понимаю????


Написал вот такую программу
Код:
{*
     MCU:             ATMEGA32
 *}

program LED_Blinking;
var eeAddr : word;
temp, teemp, zz : byte;


  begin
    eeAddr := 2;
    teemp:= EEAR1 // !!!!!!!!! Только так получается

    DDRA := 0xFF;             // Set direction to be output
    DDRB := 0xFF;             // Set direction to be output
    DDRC := 0xFF;             // Set direction to be output
    DDRD := 0xFF;             // Set direction to be output
    zz:=0;

    while TRUE do
      begin
       
        //PORTA := 0xFF;        // Turn ON diodes on PORTA
        Delay_ms(1000);       // 1 second delay

        //PORTA := 0x00;        // Turn OFF diodes on PORTA
        Delay_ms(1000);       // 1 second delay
      end;                    // Endless loop}
  end.
Реклама:

Последний раз редактировалось RECTO; 24.06.2024 в 09:54. Причина: Для размещения текстов программ используйте тег "CODE"!
skorost5 вне форума   Ответить с цитированием
Непрочитано 20.06.2024, 15:30   #2
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,907
Сказал спасибо: 2,974
Сказали Спасибо 3,156 раз(а) в 2,142 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Как пользоваться EEPROM в MicroPascal ATMEGA32

Сообщение от skorost5 Посмотреть сообщение
В описании написано что для этого надо использовать EEPROM_Read, EEPROM_Write но эти команды не работают.
Как применяли эти подпрограммы (макросы?) и как именно они не работали?


Сообщение от skorost5 Посмотреть сообщение
eeAddr := 2;
teemp:= EEAR1 // !!!!!!!!! Только так получается
Если eeAddr является именем, зарезервированным для обращения в регистрам ввода-вывода EEAR, то Вы просто пишете 2 в эти регистры. А потом - считываете бит EEAR1, который, внезапно, оказывается равен единице.
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума   Ответить с цитированием
Непрочитано 24.06.2024, 02:26   #3
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,442
Сказал спасибо: 97
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Как пользоваться EEPROM в MicroPascal ATMEGA32

Не знаю, как в паскале, вот код, приведённый в даташите:

PHP код:
 
void EEPROM_write
(unsigned int uiAddressunsigned char ucData)
{
/* Wait for completion of previous write */
while(EECR & (1‹‹EEWE));
/* Set up address and data registers */
EEAR uiAddress;
EEDR ucData;
/* Write logical one to EEMWE */
EECR |= (1‹‹EEMWE);
/* Start eeprom write by setting EEWE */
EECR |= (1‹‹EEWE);

Прерывания на время выполнения функции должны быть запрещены.
Godzilla82 вне форума   Ответить с цитированием
Непрочитано 25.06.2024, 14:50   #4
skorost5
Прохожий
 
Регистрация: 20.06.2024
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
skorost5 на пути к лучшему
По умолчанию Re: Как пользоваться EEPROM в MicroPascal ATMEGA32

В программе MicroPascal получилось вот так EEAR1_bit:=1; там надо смотреть в описании микроконтроллера там пря табличка на регистры которые можно использовать и как к ним обращаться.

А в описании просто написано, что обычно создается функция для записи и функция для чтения. Но пример довольно размытый указывают. По нему сложно что либо понять к сожелению.

Спасибо всем кто пытался помочь!!!
skorost5 вне форума   Ответить с цитированием
Непрочитано 25.06.2024, 21:21   #5
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,442
Сказал спасибо: 97
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Как пользоваться EEPROM в MicroPascal ATMEGA32

Немного жаль, когда люди совсем не понимают, и даже не пытаются понять...
Godzilla82 вне форума   Ответить с цитированием
Непрочитано 25.06.2024, 22:12   #6
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,907
Сказал спасибо: 2,974
Сказали Спасибо 3,156 раз(а) в 2,142 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Как пользоваться EEPROM в MicroPascal ATMEGA32

Поймёт, наверное. Когда придётся реальные настройки сохранять и считывать.
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума   Ответить с цитированием
Непрочитано 26.06.2024, 08:57   #7
DanilinSA
Почётный гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,690
Сказал спасибо: 130
Сказали Спасибо 1,089 раз(а) в 521 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: Как пользоваться EEPROM в MicroPascal ATMEGA32

https://forum.mikroe.com/viewtopic.p...MEGA32#p312732

https://forum.mikroe.com/viewtopic.p...MEGA32#p221883

Там правда на Си. Но переписать на Паскаль - минутное дело.
DanilinSA вне форума   Ответить с цитированием
Ответ

Закладки


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование программатором STERH 007 PIC микроконтроллеров ispitatel1 Песочница (вопросы новичков) 4 17.04.2017 17:18
CVAVR порча переменных Aselicon AVR 5 06.04.2017 22:18
Протеус и система зажигания после симуляции не сохраняет настройки cfif11 Proteus 23 04.02.2012 01:26
AT89S8253 проблема чтения из внутренней EEPROM thunder367 Микроконтроллеры, АЦП, память и т.д 5 09.08.2007 13:08
Проблема с EEPROM в atmega32 tosha81k Микроконтроллеры, АЦП, память и т.д 16 28.04.2007 07:04


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


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