Обсуждаем контроллеры компании Atmel.
Чт мар 21, 2024 13:29:26
Есть кто реально работает программе CodeVisionAVR?
У меня что-то не получается с еепроминой, хотя компилируется без ошибок, флешь в контроллер шьётся без проблем, а еепром при прошивки бросает ошибку. МК исправен, так как проверялось на нескольких новых и другие проги с еепром шьются без проблем. Вот кусок примерной программы. Подскажите пожалуйста, что не так делаю. Пробовал по хелпу этой программы, при компиляции ошибки бросает как и по даташиту на МК. Пробовал на разных версиях везде одинаково.
#include <tiny2313a.h>
eeprom char b_eep;
eeprom char c_eep; /
char b=1;
char c=1;
void main(void)
{
b_eep=b;
c_eep=c;
PORTD=0x3C;
DDRD=0x03;
b=b_eep;
c=c_eep;
PORTD.0=b;
PORTD.0=c;
delay_ms(10);
}
Чт мар 21, 2024 14:06:36
Alex_ka писал(а):компилируется без ошибок
Alex_ka писал(а):при компиляции ошибки бросает
Что вообще должна делать программа?
Чт мар 21, 2024 14:09:57
Нужно писать что ожидаешь, что получаешь и что и как наблюдаешь.
И код нужно правильно вставлять, хотя бы ради приличия.
Опередили.)
Чт мар 21, 2024 14:19:34
Alex_ka писал(а):Пробовал по хелпу этой программы
сомневаюсь
В объявлении переменных, хранимых в еепром, нужно указывать адрес ячейки, насколько я помню
- Код:
eeprom unsigned char e_var @0x00;
Чт мар 21, 2024 14:24:48
В объявлении переменных, хранимых в еепром, нужно указывать адрес ячейки, насколько я помню
- Код:
eeprom unsigned char e_var @0x00;
Извиняюсь, погорячился.(
Последний раз редактировалось
OKF Чт мар 21, 2024 14:29:16, всего редактировалось 1 раз.
Чт мар 21, 2024 14:34:07
Что вообще должна делать программа?
выше написанеое без ошибок но еепром не шьёт . Другое с ошибками.
Добавлено after 5 minutes 6 seconds:Нужно писать что ожидаешь, что получаешь и что и как наблюдаешь.
И код нужно правильно вставлять, хотя бы ради приличия.
Опередили.)
ну так там написано записать с и б в память по 1, потом считать и присвоить состояние портов
Чт мар 21, 2024 14:43:16
Оставьте одну переменную и всю её выводите в порт. Примерно так:
- Код:
#include <tiny2313a.h>
eeprom char a_eep;
char a;
void main(void)
{
DDRB=255;
a=a_eep;
a++;
a_eep=a;
PORTB=a;
while(1){};
}
Тогда при каждом новом включении значение будет увеличиваться, что явно будет видно по светодиодам.
Чт мар 21, 2024 14:45:50
Вопросы, начинающиеся как "есть кто..." можно оставлять без внимания. Потому что потом можно просто зависнуть на фразе "Пробовал по хелпу этой программы, при компиляции ошибки бросает как и по даташиту на МК." и уйти в запой, если повезёт. А если не повезёт, то на
PORTD.0=b;
PORTD.0=c;
точка сборки изменится
Чт мар 21, 2024 14:56:12
Оставьте одну переменную и всю её выводите в порт. Примерно так:
Тогда при каждом новом включении значение будет увеличиваться, что явно будет видно по светодиодам.
Спасибо, попробую. А если две переменных будет а и б, не затрет ли вторая первую?
Чт мар 21, 2024 14:57:06
Потом. Вторая переменная будет потом, когда начнёт читаться и писаться одна.
Чт мар 21, 2024 14:59:12
Ок. Спасибо.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.