Отговори на тема  [ 6 мнения ] 
ATMega8-указател към масив в еепрома дефиниран като параметъ 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Авг 30, 2007 2:14 pm
Мнения: 118
Мнение 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



}


Чет Сеп 27, 2007 12:13 am
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
По добър дебъгер от AVR Studio здраве му кажи що не го ползваш незнам , още повече че си има дори и иконка в CODE VISION


Чет Сеп 27, 2007 3:44 am
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Авг 30, 2007 2:14 pm
Мнения: 118
Мнение 
Опитах но не знам как да заредя ЕЕПРОМА в AVRStudioto, а нямах време да вкарвам от клавата


Чет Сеп 27, 2007 8:38 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
няма начин да го направиш. ЕЕPROM-а не е линейна памет, която можеш да достъпваш с указател


Чет Сеп 27, 2007 9:02 am
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пон Фев 21, 2005 2:14 pm
Мнения: 191
Местоположение: Varna
Мнение 
Комбинатор написа:
Опитах но не знам как да заредя ЕЕПРОМА в AVRStudioto, а нямах време да вкарвам от клавата


Debug -> Up/Download Memory

_________________
Шанс едно на милион, обикновено се случва девет от десет пъти.


Чет Сеп 27, 2007 9:35 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

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


Нед Окт 07, 2007 12:21 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 6 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни