Eeprom
ARV, здравствуйте! Читал пробывпал и вот возник вопрос, если я в коде пишу i=eeprom_read (0×01) то программа даже не запускается как я понял но если я i=0 то все прекрасно работает, до функции записи. Дело пока не дошло, но почему я даже не могу прочесть
- Реклама
программа может не запускаться только в том случае, если у вас после чтения из EEPROM переменная i используется каким-то особо извращенным образом, типа является условием продолжения цикла... более никакого влияния на работу программы эта строчка кода иметь не может. ну или у вас полностью убитый микроконтроллер, т.е. с полностью неработающим механизмом доступа к EEPROM, что маловероятно, разумеется.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Здравствуйте, уткнулся я в память , и не как решить не могу, вот к примеру есть программа, где просто запись нескольких констант, так записывается лишь первая , я читал что пока запись есть запрещающий флаг и что это медленно, а ещё где то читал что нужно записать какое то значение в 0-ю ячейку eeprom и все станет хорошо, но что записать.
- Вложения
-
- eeprom.txt
- (550 байт) 178 скачиваний
это как выяснили?Yarikkasl писал(а):так записывается лишь первая
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
даже и не знаю, что сказать - вы первый, у кого библиотечные функции для работы с EEPROM не работают.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
ARV, вот и я в замешательстве, заменили микроконтроллер, не помогло, сейчас попробуем atmel studio 4, мало ли.
Точные данные о том, что происходит с МК в сложной ситуации можно получить только при тест-программе, написанной под "чистым ассемблером", основенной на конкретном даташите изготовителя под данный МК (включая ерраты).
Или специалисту свободно владеющему Си (включая ассемблерные вставки).
Если только начинающий - проще для начала подключить кристалл внешней ЕЕПРОМки, чем внутреннюю использовать.

Или специалисту свободно владеющему Си (включая ассемблерные вставки).
Если только начинающий - проще для начала подключить кристалл внешней ЕЕПРОМки, чем внутреннюю использовать.
BOB51, не говорите ерунды!
99,999% всех проблем начинающих кроется в неверной "постановке эксперимента" с последующими неверными выводами о "кривом компиляторе", "палёном кристалле" и "баге студии".
99,999% всех проблем начинающих кроется в неверной "постановке эксперимента" с последующими неверными выводами о "кривом компиляторе", "палёном кристалле" и "баге студии".
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
ARV, нужно ведь во что то верить, и да и Кристал и поменял и студию тоже, но ведь там код из 6 строк, при том одинаковых. И сейчас причина локализована именно в этих строках, я пытался так же делать запись по адресам но тоже не получил успех
верить нужно. так же надо искать слабое звено, которому НЕ верить. и в моем списке того, чему я не верю, кристалл, компилятор и студия на последнем месте. а на первом - я.
Добавлено after 1 minute 11 seconds:
тут где-то пролетало сообщение, про то, как автор чуть ли не в Микрочип писать собрался, что их кристаллы бракованные, а потом нашлась сопля на плате...
Добавлено after 1 minute 11 seconds:
тут где-то пролетало сообщение, про то, как автор чуть ли не в Микрочип писать собрался, что их кристаллы бракованные, а потом нашлась сопля на плате...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 1407
- Зарегистрирован: Вт июн 07, 2011 08:03:18
[uquote="Yarikkasl",url="/forum/viewtopic.php?p=3659837#p3659837"]Здравствуйте, уткнулся я в память , и не как решить не могу, вот к примеру есть программа, где просто запись нескольких констант, так записывается лишь первая...[/uquote]
А что за дублирующая #include "avr/eeprom.h"? Показывайте что в папке находится.
Да и схему не мешало бы. Ресет как подключен? Фьюзы?
Что бы докопаться нужно ВСЁ выложить, и ВСЁ лишнее убрать, а не тяп-ляп и сразу не работает, памагите.
А что за дублирующая #include "avr/eeprom.h"? Показывайте что в папке находится.
Да и схему не мешало бы. Ресет как подключен? Фьюзы?
Что бы докопаться нужно ВСЁ выложить, и ВСЁ лишнее убрать, а не тяп-ляп и сразу не работает, памагите.
[uquote="Yarikkasl",url="/forum/viewtopic.php?p=3659893#p3659893"]сейчас причина локализована именно в этих строках, я пытался так же делать запись по адресам но тоже не получил успех[/uquote]Может выложите .hex и укажете тип камня.
OKF, akl, вот чем "eeprom.h" отличается от <eeprom.h> я незнаю поэтому и сделал 2
Добавлено after 35 seconds:
akl, atmega 128
Добавлено after 50 seconds:
OKF, убранной все что можно я даже незнаю куда ещё убирать
Добавлено after 35 seconds:
akl, atmega 128
Добавлено after 50 seconds:
OKF, убранной все что можно я даже незнаю куда ещё убирать
- Вложения
-
- Screenshot_1.jpg
- Фьюзы
- (91.71 КБ) 340 скачиваний
-
- GccApplication1.rar
- Проект
- (22.18 КБ) 200 скачиваний
Yarikkasl писал(а):я незнаю поэтому и сделал 2
Совместимость с мегой103 включена осознанно или потому что по умолчанию?
Компилятор может какие варнинги выдает?
- Сообщения: 1407
- Зарегистрирован: Вт июн 07, 2011 08:03:18
JTAG тоже отключить желательно.
Ну а схема где?
Подключите светодиод через резистор на землю к любому разряду PORTD или другому.
Скомпилируйте и запишите. Посмотрите мигает или нет. И как часто.
Ну а схема где?
Подключите светодиод через резистор на землю к любому разряду PORTD или другому.
Скомпилируйте и запишите. Посмотрите мигает или нет. И как часто.
Код: Выделить всё
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <avr/eeprom.h>
uint8_t EEMEM memory1;
uint8_t EEMEM memory2;
uint8_t EEMEM memory3;
uint8_t EEMEM memory4;
uint8_t EEMEM memory5;
uint8_t EEMEM memory6;
int main(void)
{
eeprom_write_byte(&memory1,66);
eeprom_write_byte(&memory2,55);
eeprom_write_byte(&memory3,86);
eeprom_write_byte(&memory4,43);
eeprom_write_byte(&memory5,28);
DDRD = 0xff;
while (1)
{
PORTD = 0xff;
_delay_ms(1000);
PORD = 0;
_delay_ms(1000);
}
}OKF, Z_h_e, заработало!!! Я в фьюзы изначально не лез, а после ваших замечаний убрал 2 галки, и сейчас все нормально, а что касается схемы то её пока нет, атмега лежит в отладочной плате, и питается от программатора
- Сообщения: 1407
- Зарегистрирован: Вт июн 07, 2011 08:03:18
А по моему эти галки не могут влиять на запись eeprom... А вот то что ресет у вас не пойми куда подключен, то как раз в этом и может быть всё дело.
OKF, reset висит в воздухе но, в изделии он будет через 10 кОм к питанию подтянут, и все заработало после изменения фьюзов, все работает это точно, я счётчик собрал и он работает стабильно.
- Сообщения: 1407
- Зарегистрирован: Вт июн 07, 2011 08:03:18
Но запись в еепром то вы пробовали не в изделии! Вот из за этого и был такой результат. Ресет всегда должен быть подтянут. Пусть даже внутренней подтяжкой, если есть такая возможность. У 128 только внешней.



