Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

ATMega8-указател към масив в еепрома дефиниран като параметъ
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=4864
Страница 1 от 1

Автор:  Комбинатор [ Чет Сеп 27, 2007 12:13 am ]
Заглавие:  ATMega8-указател към масив в еепрома дефиниран като параметъ

Здравейте , тъй като нямам дебъгер за АТМЕЛ а и платка не съм наредил , не съм сигурен дали ще ми тръгне кода
Притиснат съм много от към FLASH и трябва да я пестя много, и искам с една функция да испращам различни по големина масиви разположени в EEPROMA , и за да не чакам четенето от еепрома буферирам в рама и тогава пращам. Да ама не съм сигурен че кода ще тръгне(много ме съмнява).
Остави друго но и CVAVR не ми писка за грешка.
Та въпроса ми е Дали мога /// eeprom char *day_ptr=Mond;(инициализирането на day_ptr, указател към масив) ////
веднъж да задам променлива като указател ////eeprom char *day_ptr/////
като параметър при дефинирането на функцията send_day(eeprom char *day_ptr);
и след това при извикването и , в mine() да задам кой масив сочи пойнтера указателя // send_day(Mond); //
Това не съм правил никога и не знам дали ще закачи, имам някакви спомени за такава възможност но не ми се е налагало скоро.

char is_ok;
eeprom char Mond[7]="Monday" ; /масиви в вътрешния eeprom
eeprom char Tues[8]="Tuesday" ;
........................................
///////////eeprom char *day_ptr=Mond;
///////////char send_day( day_ptr)........
char send_day( eeprom char *day_ptr){
for(i=0;day_ptr[i];i++) { /завършва при null терминиран
buffer_char[i]=day_ptr[i];
putchar(buffer_char[i]);
};

return is_ok=1; }
void mine(void){

send_day(Mond); /Извикване на function с параметър eeprom масива Mond за испращане UDR
send_day(Tues); /Извикване на function с параметър eeprom масива Tues за испращане UDR



}

Автор:  VSU [ Чет Сеп 27, 2007 3:44 am ]
Заглавие: 

По добър дебъгер от AVR Studio здраве му кажи що не го ползваш незнам , още повече че си има дори и иконка в CODE VISION

Автор:  Комбинатор [ Чет Сеп 27, 2007 8:38 am ]
Заглавие: 

Опитах но не знам как да заредя ЕЕПРОМА в AVRStudioto, а нямах време да вкарвам от клавата

Автор:  ДедоБоре [ Чет Сеп 27, 2007 9:02 am ]
Заглавие: 

няма начин да го направиш. ЕЕPROM-а не е линейна памет, която можеш да достъпваш с указател

Автор:  Cvetanov [ Чет Сеп 27, 2007 9:35 am ]
Заглавие: 

Комбинатор написа:
Опитах но не знам как да заредя ЕЕПРОМА в AVRStudioto, а нямах време да вкарвам от клавата


Debug -> Up/Download Memory

Автор:  lucifer [ Нед Окт 07, 2007 12:21 am ]
Заглавие: 

Комбинатор, за подобни симулации и дебъгинг аз ползвам Proteus. Кофтито е, че не можеш да заредиш .ееp файл на контролера. Ако съхраняваш масивите във флеша със сигурност се получава това, което искаш и можеш да го видиш в Proteus. За еепрома не са по-различни нещата. Има начин дори да се излъже и да се види резултата и при буфериране от еепром. Кодът ти е ок и би трябвало да нямаш проблеми ;)
Успех!

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/