Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Изучаем EEPROM


Изучаем EEPROM

Сообщений 1 страница 30 из 34

1

Пытаюсь разобраться с EEPROM.
Появилась необходимость держать константы в EEPROM,  числа два одно INTEGER другое SINGLE.
Записываться из программы в EEPROM ничего не будет только считывание. Нужно это для того чтоб периодически менять значение констант без перекомпиляции программы. Вопрос непонятен как записать в EEPROM большое число со знаком когда одна ячейка максимум FF? Как записать дробное число? И самое главное как всё это правильно считать из памяти чтобы программа приняла и обработала? Взял для примера число 2000, разбил его на ячейки FF FF FF FF FF FF FF B7 записал в микросхему, написал простой код для тестирования. На экране только значение АЦП, суммирование не происходит. Возможно я не правильно считываю из EEPROM.

Код:
$regfile = "m8def.dat"
$crystal = 8000000

Dim W As Integer
Dim B As Integer
Dim B_eep As Integer

Readeeprom B_eep , 0

B = B_eep
'в первой строке EEPROM записанно FF FF FF FF FF FF FF D6

'подключение двухстрочного дисплея

Config Lcdpin = Pin , Rs = Portd.5 , E = Portd.6 , Db4 = Portd.7 , Db5 = Portb.0 , Db6 = Portb.1 , Db7 = Portb.2
Config Lcd = 16 * 2
Cursor Off                                                  'без курсора
Cls                                                         'очистим дисплей


'считывание значения с АЦП по прерыванию от таймера

Config Timer1 = Timer , Prescale = 64
On Timer1 Acp                         

'конфигурация АЦП

Config Adc = Single , Prescaler = Auto , Reference = Avcc


Enable Interrupts
Enable Timer1

Do

Cls
Rem Меряем:
Lcd "IZMERENIE: "
Lowerline
Lcd W


Waitms 200

Loop


'работа с АЦП

Acp:

Start Adc                                                   'запуск АЦП
W = Getadc(0)
W = W + B                                                   'подгоняем замеры
Return

End

0

2

Dim W As Integer
Dim B As Integer
Dim S As Single

'записать
$eeprom
Begin_EEPROM:
Begin_EEPROM_I:
Data 2000%, 4000%
Begin_EEPROM_S:
DATA 12.3456!

'считать строго там
Restore Begin_EEPROM_I
Read B
Read W

Restore Begin_EEPROM_S
Read S

'а реально можно итак
Restore Begin_EEPROM
Read B
Read W
Read S

0

3

Процесс развивается но не совсем как хотелось. Удалось записать в EEPROM и считать из него.
Но считанные данные не устраивают. Дабы сделать процесс наглядным на макетке собрал простой вольтметр без преобразования данных, с выводом на индикатор значений АЦП. Выставил регулятором значение 200. Далее с помощью этого кода создал файл *.eep со значением 2000.

Код:
$regfile = "m8def.dat"
$crystal = 8000000

Dim W As Integer
Dim B As Integer
Dim S As Single

'записать
$eeprom
'Begin_eeprom:
Begin_eeprom_i:
Data 2000%
'Begin_eeprom_s:
'Data 4.5!

'считать строго там
'Restore Begin_eeprom_i
'Read B
'Read W

'Restore Begin_eeprom_s
'Read S

'а реально можно итак
'Restore Begin_eeprom
'Read B
'Read W
'Read S


Do
Loop

Далее написал в програмульке - считать из EEPROM записанное число и сложить с значением АЦП.

Код:
$regfile = "m8def.dat"
$crystal = 8000000

Dim W As Integer
Dim B As Integer
'Dim B_eep As Integer

'Readeeprom B_eep , 0
Dim S As Single

'записать
'$eeprom
'Begin_eeprom:
Begin_eeprom_i:
'Data 2000%
'Begin_eeprom_s:
'Data 4.5!

'считать строго там
Restore Begin_eeprom_i
Read B
'Read W

'Restore Begin_eeprom_s
'Read S

'а реально можно итак
'Restore Begin_eeprom
'Read B
'Read W
'Read S
'B = B_eep
'в первой строке EEPROM записанно FF FF FF FF FF FF FF D6

'подключение двухстрочного дисплея

Config Lcdpin = Pin , Rs = Portd.5 , E = Portd.6 , Db4 = Portd.7 , Db5 = Portb.0 , Db6 = Portb.1 , Db7 = Portb.2
Config Lcd = 16 * 2
Cursor Off                                                  'без курсора
Cls                                                         'очистим дисплей


'считывание значения с АЦП по прерыванию от таймера

Config Timer1 = Timer , Prescale = 64
On Timer1 Acp

'конфигурация АЦП

Config Adc = Single , Prescaler = Auto , Reference = Avcc


Enable Interrupts
Enable Timer1

Do

Cls
Rem Меряем:
Lcd "IZMERENIE: "
Lowerline
Lcd W


Waitms 200

Loop


'работа с АЦП

Acp:

Start Adc                                                   'запуск АЦП
W = Getadc(0)
W = W + B                                                   'подгоняем замеры
Return

Зашил всё в Мегу и проверил на макетке, показания индикатора изменились, но вместо ожидаемых " 2200 " получилось " -6230 " . Почему получилось отрицательное число в толк не возьму. Думал ошибка при программировании микросхемы была, но несколько раз перепрограммировал, считывал, сверял с исходником всё верно ошибок нет. Значить что-то не учтено, а что не пойму.

0

4

Если я правильно Вас понял.
Думаю проще так разобраться:

Код:
$regfile = "m8def.dat"
$crystal = 8000000

Dim T_eram As Eram Integer
Dim T As Integer
 T_eram = 2000
 End

и дальше в симуляторе баскома посмотреть как выглядит число.
Ну и поиграться с разными переменными.
FFFFFFFFFFFF=-1
2000=h&7D0

Взял для примера число 2000, разбил его на ячейки FF FF FF FF FF FF FF B7

как у Вас так вышло? Инженерный калькулятор виндовса другое показывает!

Отредактировано kip (2013-01-12 17:11:45)

0

5

kip написал(а):

Взял для примера число 2000, разбил его на ячейки FF FF FF FF FF FF FF B7

как у Вас так вышло? Инженерный калькулятор виндовса другое показывает!

Тут у меня конечно перегиб получился  FF = 255 ; 255 x 7 = 1785 ; 2000 - 1785 = 215; 215 = B7.

Цель процесса обучения : научиться писать любой тип данных в выбранную область памяти EEPROM,  а потом прочитать исполняемой программой из указанной области. А также самостоятельно изменять с помощью НЕХ редактора данные в памяти EEPROM без обращения к программе .

0

6

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

0

7

Правильно всё написал kip, данные писать/читать из еепром стандартными средствами бейсика - нет проблем. Единственно что может всплывать, это если в коде нарушать последовательность хранимых данных. Если хотим привязать жестко значения переменных в еепром, то можно к примеру пользоваться функцией бейсика "оверлей", извлекать значения из переменных самой программы (срам) и жестко потом писать их в еепром.
Далее не забыть отключить опцию в программаторе, которая может перед каждой прошивкой МК стирать еепром...

0

8

RDW написал(а):

Далее не забыть отключить опцию в программаторе, которая может перед каждой прошивкой МК стирать еепром

В это как раз всё и уперлось. Поленился матчасть изучить и захотелось невозможного. Желание было, не стирая программу записанную во флеше, периодически менять константы в EEPROM, стирая старые и записывая новые. Прочитав по слогам раздел посвященный программированию AVRок осознал что раздельное стирание EEPROM невозможно, только вместе с флешем.  Но желание научиться самостоятельно , без помощи Баскома, записать число в нужное место EEPROM и чтоб программа исполняемая в AVRке его приняла без ошибок, осталось. Будем искать.

0

9

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

0

10

Mrshilov написал(а):

Это почему? Какой-то хитрый программатор? EEPROM прекрасно стирается и шьется не трогая флеш. Для этого она и создана.

Видимо не везёт мне с программаторами, у Тритона которым пользуюсь для Меги8 кнопка стирания EEPROM не активна. Можно стереть кристалл только целиком. Запустил ПониПрог там такая-же байда, не отстаёт от них и штатный программатор в КодеВижен.  Почитал книжку Ефстифеева по Мегам, в частности раздел "Стирание кристалла" там указанно что стирать можно только совместно Флеш и ЕЕПРОМ.

0

11

Adagumer написал(а):

Видимо не везёт мне с программаторами, у Тритона которым пользуюсь для Меги8 кнопка стирания EEPROM не активна. Можно стереть кристалл только целиком. Запустил ПониПрог там такая-же байда, не отстаёт от них и штатный программатор в КодеВижен.  Почитал книжку Ефстифеева по Мегам, в частности раздел "Стирание кристалла" там указанно что стирать можно только совместно Флеш и ЕЕПРОМ.

В EEPROM можно записать любое значение. Стирать его перед этим не нужно, запишется любое значение. Если хотите только EEPROM "обнулить" запишите туда файл с одними FF. Или 00 как больше нравится.
Для записи в память программ стирание обязательно, но оно может быть поблочным.

Отредактировано IgorL (2013-01-16 22:24:33)

0

12

IgorL написал(а):

Если хотите только EEPROM "обнулить" запишите туда файл с одними FF. Или 00 как больше нравится.

Спасибо попробую.

0

13

Доброго времени суток!
С записью/чтением EEPROM, вроде подружился - прекрасно читает и сохраняет данные, не боимся выключений и Reset-а. НО есть маленькая проблемка с чтением пустого EEPROM (в котором еще ничего не записывалось). Чтобы не повторяться, приведу вырезку из кода, в нем основной вопрос - пустой EEPROM выдает отрицательное выражение :(. Как с этим воевать?

Код:
Dim Vm As Single
Dim Am As Single
'***************** читаем сохраненные данные из EEPROM *****************
Readeeprom VmR , $00                'читаем из EEPROM сохраненное значение Vm
  Vm = VmR
  If Vm < 0.25 Then                     ' если значение Vm меньше 0,25, то...
    Vm = 0.25                           ' приравниваем к 0,25
  End If
Readeeprom AmR , $05                'читаем из EEPROM сохраненное значение Am
  Am = AmR
  If Am <= 0 Then                       ' если значение Am меньше 0,1, то...
    Am = 0.05                           ' приравниваем к 0,05
  End If
' Условие "If < ..." введено только из-за того, что EEPROM выдает значение "-0,0" (если там пусто).
' Дальнейшая работа с этим результатом невозможна, т.к. это не число (!), а, скорее, строка.
' Функция Val забирает приличное количество памяти!
' Функция Fusing(XXX , "#.##") почему-то возвращает число 0,000000654 (если в EEPROM пусто)
' И хуже всего - этот хвост (...00654) так и тянется в дальнейших вычислениях (в дробных результатах),
' Fusing(XXX , "#.##") его пропускает (не очищает) :(

0

14

Ясен пень, что в Single оно так будет. :D
Можно оверлеем проверять значения ячекк FF перед использованием их.

0

15

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

0

16

разделяй перед записью и склеивай обратно. Есть функции "High","Low" и обратные. Не знаю, может поможет сделать переменные сразу в ЕЕпроме (Dim a as ERam single at {Адрес} ), потом приравнивать к ней другую переменную, запись делается сама.

0

17

Дельный совет (коль шевелить мозгами влом):

Код:
Dim Test0 As Byte At Vm + 0 Overlay
Dim Test1 As Byte At Vm + 1 Overlay
Dim Test2 As Byte At Vm + 2 Overlay
Dim Test3 As Byte At Vm + 3 Overlay
...
If Test0 = 255 And Test1 = 255 And Test2 = 255 And Test3 = 255 Then
' ничего не делаем или по умолчанию назначаем ячейкам EEPROM 0 значением для Сингла (или какой значение нравится)
Else
' выполняем операцию
End If

Так же можно сделать через массив сравнивать в цикле.
При таком раскладе, надо понимать, что выпадает одно число из Сингла (-1).

зы: а вообще надо делать защиту памяти от глюков, я делал по два раза запись одного значения в память (EEPROM), чтобы при включении удостовериться, что значения истинные (после холодного включения)! Инициализация/подготовка памяти к работе (если чистая).

Отредактировано RDW (2013-10-11 19:05:56)

0

18

Skull написал(а):

...может поможет сделать переменные сразу в ЕЕпроме (Dim a as ERam single at {Адрес}...

В другом проекте пытался. Что-то не сработало... Бросил это и воспользовался Readeeprom и Writeeprom.

Skull написал(а):

разделяй перед записью...

RDW написал(а):

...Так же можно сделать через массив сравнивать в цикле...
надо делать защиту памяти от глюков...

Уважаемые! Вы читать умеете? Ясно сказал, что с ЗАПИСЬЮ и ЧТЕНИЕМ записаноого проблем нет! Проблема в чистом EEPROM, когда завершена прошивка, -> впервые (с этой прошивкой) запущено устройство и т.д. (остальное выше). Я сейчас воюю за каждый байт, занимаемого HEX-ом, поэтому даже безобидный IF Then попадает под косу.
А Вы, RDW, что за код раздули для проверки? У меня уже имеется вполне лаконичная и действующая проверка. Да еще и о массивах заикнулись...

RDW написал(а):

Дельный совет (коль шевелить мозгами влом)

Без нарциссизма никак нельзя?

Отредактировано Lavad (2013-10-11 23:07:19)

0

19

Lavad написал(а):

Без нарциссизма никак нельзя?

Вы как-то не адекватно воспринимаете за вас разжеванную информацию - ок, мумитесь сами.

0

20

Проблема в чистом ЕЕПРОМ ? Проверяй на недопустимые значения и перезаписывай, в чем проблема ? ))
И, кстати, ты уверен, что проблема не с записью или чтением ? Ты подумай, прежде, чем вешать ярлыки нарциссов ))

Отредактировано Skull (2013-10-11 23:51:15)

0

21

Да, действительно, имеется проблема! И не одна!
Проблема в том, что мне пытаются помочь люди,...
- не умеющие читать :( [невнимательные];
- у которых проблема с этикой [мы уже на ТЫ перешли?];
- которым не важно что ответить, лишь бы написать [ради количества сообщений на форуме?] хоть какую-нибудь "разжеванную информацию" [вот это и есть поведение нарцисса], а потом возмущаться, что я ее отвергаю.
У меня нет ни малейшего желания с кем-то ругаться или спорить! Есть простое, золотое правило: "Или помоги, или не мешай!" Если есть желание помочь, то, будьте так добры, ВНИМАТЕЛЬНО прочтите вопрос (вместе с кодом).
Я дилетант в МК, но если уж вгрызаюсь, то до мелочей. В вопросе (вместе с кодом) постарался вписать все, что меня интересует или касается проблемы. Но если даже, типа, ПРОФИ, не могут (или не пытаются?) понять и помочь в самой сути, то значит зря сюда обратился :(.

0

22

Проблема совершенно в другом )
Она в том, что Вам пытаются помочь люди, которые с успехом делали это для других, а Вы :
- не пытаетесь понять, ПОЧЕМУ Вам так ответили
- Даже не в курсе, что в интернете нет должностей, возрастов, заслуг. И второе лицо единственного числа тут просто не принято. И не только здесь. Ибо не существует его в подавляющем большинстве языков Мира.

Поэтому Вам, наверное , действительно обратиться туда, где Вам окажут должное внимание.

Отредактировано Skull (2013-10-12 11:43:59)

0

23

Уважаемый Skull!
Ладно, пререкаться, как дети, мы можем бесконечно :). Попытаюсь последовательно расставить все по местам.
Я написал:
     "С записью/чтением EEPROM,... - прекрасно читает и сохраняет данные, не боимся выключений и Reset-а..."
Т.е. для меня вопрос о записи/чтении не стоит, он решен.
    "...НО есть маленькая проблемка с чтением пустого EEPROM (в котором еще ничего не записывалось)..."
Еще НИЧЕГО не записывалось пользователем или программой! Имеется внутри лишь значение то ли заводское, то ли еще с каких-то небес... Вот это как раз и пытаюсь понять!
    RDW отвечает:
    "... что в Single оно так будет. Можно оверлеем проверять значения ячекк..."
То, что Single - знаковое, я знаю. Но зачем еще раз предлагать проверку ячеек, если в приведенном коде она уже имеется? И вполне рабочая (без наворотов и программистких выкрутасов), после которой МК продолжает полноценно работать и выполнять возложенную задачу.
    Вы, Skull, предлагаете:
    "разделяй перед записью и склеивай обратно..."
И что мне делать с этой "помощью", как ее понимать, если о записи еще не может быть и речи! Прошивка завершена, устройство/МК начало свои первые шаги в новой жизни, и очередной шаг (после стандартных конфигурирования портов, инициализации дисплея,...) - чтение содержимого EEPROM. И вот тут все и начинается. МК вытаскивает содержимое ячейки, которой я не могу оперировать (ни арифметикой, никак) без использования дополнительных функций [в коде описал пару возможностей]. Об использовании As ERam Single At {Адрес} уже ответил.
    RDW по прежнему не может удержаться от советов крутого профи. Предлагает "разжеванные" действия, по сути, заменяющие мои, но с тем же результатом и бОльшим объемом кода. Еще и массивы привлек... А эту помощь как понимать? По-моему, крутость программиста не в слепом знании функций и операторов языка, а в умении их лаконично использовать, с минимальными затратами. Но, видимо, для него несколько десятков добавленных байтов ничего не значит.
Если бы мои мозги имели его знания и умения, стал бы я обращаться за помощью?
    Вы, Skull, продолжаете:
    "Проблема в чистом ЕЕПРОМ ? Проверяй на недопустимые значения и перезаписывай..."
А с этим что делать? Такое ощущение, что прочли только вопрос, а код... Код? Там еще и код приводили? Не-е, не видел!
По-вашему, мое условие IF...Then и присвоение определенного значения переменной - это не то же самое, что прописали Вы? Лишь только поэтому программа может нормально продолжать и могу дальше записывать любые нужные значения в EEPROM и работать с ними.
    RDW в посткриптуме продолжает:
    "а вообще надо делать защиту памяти от глюков, я делал по два раза запись одного значения в память (EEPROM),
    чтобы при включении удостовериться, что значения истинные (после холодного включения)!
    Инициализация/подготовка памяти к работе (если чистая)."

Это ответ профи чайнику. Подробно и разжевано!

Мало того, что никто, "которые с успехом делали это для других", не предложил ничего действенного, так и дальнейшее в приведенном коде проигнорировали. Неужели крутым перцам-профи нечего сказать по поводу:
     "Функция Fusing(XXX , "#.##") почему-то возвращает число 0,000000654"
и далее? Или поджилки трясутся хоть как-то ответить в теме "Изучаем EEPROM" не по теме EEPROM?

Никто не рождается с готовыми знаниями. Мы все учимся. Методом проб и ошибок, но уже имею собственные наработки с МК. Моего ника Вы больше нигде не найдете на просторах любимого Вами "воспитанного Интернета". Впервые, здесь, обратился за помощью. Помогли!
Видимо, из всего предложенного, достойным советом остается назвать ответ RDW: "ок, мумитесь сами".

0

24

Skull, может быть сможете чем-то помочь в теме "Подключение IRLML2502" (http://bascomavr.3bb.ru/viewtopic.php?id=803)?

0

25

В воспитанном интернете за такое обычно посылают, но все же попытаюсь прояснить для Вас ситуацию.
Привожу Вам Ваш же вопрос " в нем основной вопрос - пустой EEPROM выдает отрицательное выражение :(. Как с этим воевать?"
Ответ КОНКРЕТНЫЙ,  звучит так : "проверять на минус".
Вам пояснили, что проще всего проверять конкретные байты на соответствие рабочему диапазону переменной(это я обобщаю ответы свой и RDW), если выходят за него- перезаписывать. ЧТО ТУТ МОЖНО НЕ ПОНЯТЬ ??  )))

Та вот, продолжая пояснять принцип, (если Вы все же правильно донесли до нас  свою проблему), и учитывая,что МК в принципе не может постичь великого замысла программиста, а за сим есть несколько стандартных способов борьбы с первым включением.
Кода не привожу, т.к. это достаточно много, и имеет массу различных реализаций. Дайте волю фантазии. Не получится- тогда дам свои кусочки кода, но их тоже придется переписывать очень значительно. 

1. Вы проверяете нужные байты (readeeprom, ага) в нескольких критичных областях, и, если они (if-then) не соответствуют диапазону используемых значений, записываем туда стартовые.(самый распространенный и стандартный метод, не требует поползновений за приборами и компом, но жрет память). Есть разновидности этого же действа с подсчетом контрольной суммы всего записанного.

2. Перед первым включением записываем ЕЕпром файлом .EEP, для чего в некоторых конструкциях он прилагается. Дешево и сердито, но предполагает комп. Иногда дают карту файла, указывая что и где менять.

3. В меню устройства (пользовательском или инженерном, по паролю) делаем возможность записи нужных значений. Самый трудозатратный и негуманный к памяти способ, но самый гибкий, если пользователь знает с чем имеет дело.

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

Отредактировано Skull (2013-10-14 15:31:05)

+1

26

..."проверять на минус"...
Вы уточнили. Я же не стал заморачиваться, например, с SGN, и ввел простую проверку и присвоением.

    ...проверять конкретные байты на соответствие...
Для меня пустой звук (на теперешнем уровне познаний) :(.

    ...если Вы все же правильно донесли до нас  свою проблему...
Да уже и не знаю, куда проще и понятнее можно расписать :)

    1. Вы проверяете нужные байты (readeeprom,... самый распространенный и стандартный метод,..., но жрет память)...
Вот это меня и расстраивает. И приходится гоняться сейчас за каждым процентом/байтом HEX-а.

    Есть разновидности этого же действа с подсчетом контрольной суммы всего записанного.
Можно хоть какой-нибудь практический кусок кода (если это, конечно, хоть как-то уменьшит конечный HEX)?

    2. Перед первым включением записываем ЕЕпром файлом .EEP,...
Уже изгалялся чуточку по-другому. Пытался с директивой $eeeprom, полученный .EEP-файл также прошивал, потом очищал в МК только FLASH, директиву (и связанное с ней) удалял из кода, возвращал readeeprom/writeeprom, прошивал FLASH. Но этот метод тыка завел меня в какие-то дебри с нулевым результатом.

    3. В меню устройства.... Самый трудозатратный...
Этот мазохизм в голову не приходил, но согласен.

    ...Кода не привожу,... и имеет массу различных реализаций...
    Есть также промежуточные способы,...

Иметь бы хоть отдаленное представление - о чем речь... :(
Копался в справке Баскома, пытался найти хоть что-то по аналогии с RunOnce реестра, чтобы лишь однажды, при самом первом старте МК, записать в EEPROM нули и больше "не вспоминать о кошмарном сне" :)... Не нашел.

Отредактировано Lavad (2013-10-14 16:44:06)

0

27

Аж страшно писать, такие страсти, такое ощущение, что кому-то жёны не дают и у них начался спермотоксикоз!

Стесняюсь спросить, а EEPROM внешняя или в контроллере?

Отредактировано sasha_1973 (2013-10-14 18:22:52)

0

28

В контроллере.
И, коль знакомы с RunOnce, то предлагаю Вам не парить друг другу мозг, и поступить этим же методом :
Выделите последнюю ячейку ЕЕпрома под флаг. Выглядеть будет так :
readeeprom a,511
if a <> 1 then
writeeeprom b,0
--------
writeeeprom z,510
writeeeprom 1,511
end if
Это и будет установленный флаг записанного ЕЕпрома, выполнится один раз, до перезаписи.

Отредактировано Skull (2013-10-14 18:34:38)

0

29

Lavad написал(а):

Skull, может быть сможете чем-то помочь в теме "Подключение IRLML2502" (http://bascomavr.3bb.ru/viewtopic.php?id=803)?

Я, к сожалению, по фото не лечу )) Можно кусок схемы и предназначение (чтобы хоть знать какие токи гуляют, режимы) ? Потому что по теме я там уже отвечал )

0

30

sasha_1973 написал(а):

Аж страшно писать, такие страсти, такое ощущение, что кому-то жёны не дают и у них начался спермотоксикоз!

Стесняюсь спросить, а EEPROM внешняя или в контроллере?

Отредактировано sasha_1973 (Сегодня 17:22:52)

:idea:

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Изучаем EEPROM