1 (2009-07-22 20:35:52 отредактировано kostyapo)

Тема: Запись в EEPROM через USB

Здравствуйте!

Посоветуйте пожалуйста, как я могу менять значения в ячейках EEPROM внешней программой с компьютера? (не через внутреннюю программу в микроконтроллере)
При этом, что бы загруженная программа оставалась в микроконтроллере?
Это нужно, что бы менять настройки иногда.

Заранее благодарен.
Константин.

2

Re: Запись в EEPROM через USB

Это не делается напрямую. Вы должны написать программу для микроконтроллера, которая будет принимать команды от компьютера (через USB -> tx/rx) и выполнять их (т.е. изменять нужные ячейки eeprom).

Короче, программировать нужно. :)

3

Re: Запись в EEPROM через USB

kostyapo пишет:

Посоветуйте пожалуйста, как я могу менять значения в ячейках EEPROM внешней программой с компьютера? (не через внутреннюю программу в микроконтроллере)

Такая возможность есть - bootloader работает по протоколу stk500v1, и в новых своих версиях умеет прошивать в том числе и EEPROM. (Строго говоря, это все-таки "через внутреннюю программу в микроконтроллере", но она там и так есть - свою писать не надо)
Работать с ним можно например так (из командной строки):
1. Перейти в папку ПАПКА_С_СОФТОМ_ARDUINO\hardware\tools\avr\bin\
   (например C:\arduino-0016\hardware\tools\avr\bin)

2. Чтение выполнять такой командой (COM3 заменить на Ваш порт):

avrdude -q -C ..\etc\avrdude.conf -p m168 -c stk500v1 -P COM3 -b 19200 -U eeprom:r:0.bin:r

Содержимое EEPROM прочтется в файл 0.bin размером 512 байт

3. Запись выполнять так:

avrdude -q -C ..\etc\avrdude.conf -p m168 -c stk500v1 -P COM3 -b 19200 -U eeprom:w:0.bin

Из файла 0.bin данные будут записаны в EEPROM

Мы стали прошивать обновленную версию bootloader'а в высылаемые микроконтроллеры недавно, и у Вас может оказаться старая версия.
Если потребуется обновить bootloader, читайте у нас на сайте: http://freeduino.ru/isp.html
Также, при возникновении трудностей пишите нам на e-mail, будем стараться помочь,
в том числе можем выслать прошитую микросхему.