в массиве BYTE[6] уже содержатся данные
Код: Выделить всё
for (j=0;j<6;j++)
{
*eepr=BYTE[j];
*eepr++;
} Код: Выделить всё
144D05F11910|144D05F11910 Код: Выделить всё
for (j=0;j<6;j++)
{
*eepr=BYTE[j];
*eepr++;
} Код: Выделить всё
144D05F11910|144D05F11910 Если речь идет о еепром, которая на борту АВР, то Вам надо документацию прочитать, Вы не найдете там упоминания о 16 битной еепром, потому что она 8-ми битная.Alexeus писал(а):при записи в еепром, так как она 16 битная, у меня цифры дублируются, как сделать что бы не дублировались?
как определены указатель eepr и массив BYTE? код в студиюAlexeus писал(а):при записи в еепром, так как она 16 битная, у меня цифры дублируются, как сделать что бы не дублировались?
в массиве BYTE[6] уже содержатся данные
вот этот цикл пишет одну и туже строчку последовательно два раза, получаетсяКод: Выделить всё
for (j=0;j<6;j++) { *eepr=BYTE[j]; *eepr++; }Код: Выделить всё
144D05F11910|144D05F11910
Код: Выделить всё
volatile unsigned char BYTE[6];
eeprom char *eepr;
interrupt [EXT_INT0] void ext_int0_isr(void)
{
for (j=0;j<6;j++)
{
*eepr=BYTE[j];
*eepr++;
}
}
Я скачал всего 4.6 Мб - все расписано с нуля и по CVAVR и по VMLAB. То что нужно начинающиему по микроконтроллерам AVR и PIC и главное понятно - http://www.onlinedisk.ru/file/101436/SAU писал(а):Учебник по сабжу кому надо.
вести 62 мега
обучалку почитайте http://radiokot.ru/start/mcu_fpga/avr/ExtaZy писал(а):Подскажите пожалуйста как в CVAVR открыть файл с прошивкой .hex и загрузить его в МК? Какой меню надо открывать и т.д.?
Код: Выделить всё
if (BYTE[0] & 0b0000111) {} Код: Выделить всё
if (BYTE[0] & (1<<0) & (1<<1) & (1<<2)) {} Вам надо открыть программатор CVAVR - в меню это микросхемка справа от красного жучка.ExtaZy писал(а):Подскажите пожалуйста как в CVAVR открыть файл с прошивкой .hex и загрузить его в МК? Какой меню надо открывать и т.д.?
Вот этому 0b0000111 соответствует ((1<<0)|(1<<1)|(1<<2))Alexeus писал(а):-Код: Выделить всё
if (BYTE[0] & 0b0000111) {}; if (BYTE[0] & (1<<0) & (1<<1) & (1<<2)) {};
Код: Выделить всё
if (BYTE[0] & (1<<0) && BYTE[0] & (1<<1) && BYTE[0] & (1<<2)) во-первых, данное условие будет истинным всегда, если BYTE[0] не равно нулю - без разницы, какие биты в нем будут установлены. Нормальный компилятор вообще превратит при оптимизации это выражение в абсолютно ему аналогичноеsmac писал(а):Вопрос что нужно было Alexeus, если проверить на 0 BYTE[0], то Вы правы, а если узнать есть ли хотя бы в 1 из трех младших битов 1 , то Вы ошибаетесь.ikarab писал(а): А тут надо "логическое И" применить:
if (BYTE[0] && 0b0000111) {};
Код: Выделить всё
if(BYTE[0]){};