| Микроконтролери и електроника 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 ] | |||||||||
| Заглавие: | ||||||||||
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/ |
|