|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:41 am
|
Страница 1 от 1
|
[ 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 |
|
 |
|
VSU
Ранг: Напреднал
Регистриран на: Нед Авг 14, 2005 1:08 pm Мнения: 433 Местоположение: Казанлък
|
По добър дебъгер от AVR Studio здраве му кажи що не го ползваш незнам , още повече че си има дори и иконка в CODE VISION
|
| Чет Сеп 27, 2007 3:44 am |
|
 |
|
Комбинатор
Ранг: Новодошъл
Регистриран на: Чет Авг 30, 2007 2:14 pm Мнения: 118
|
Опитах но не знам как да заредя ЕЕПРОМА в AVRStudioto, а нямах време да вкарвам от клавата
|
| Чет Сеп 27, 2007 8:38 am |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
няма начин да го направиш. ЕЕPROM-а не е линейна памет, която можеш да достъпваш с указател
|
| Чет Сеп 27, 2007 9:02 am |
|
 |
|
Cvetanov
Ранг: Новодошъл
Регистриран на: Пон Фев 21, 2005 2:14 pm Мнения: 191 Местоположение: Varna
|
Debug -> Up/Download Memory
_________________ Шанс едно на милион, обикновено се случва девет от десет пъти.
|
| Чет Сеп 27, 2007 9:35 am |
|
 |
|
lucifer
Ранг: Минаващ
Регистриран на: Вто Апр 04, 2006 5:13 pm Мнения: 41
|
Комбинатор, за подобни симулации и дебъгинг аз ползвам Proteus. Кофтито е, че не можеш да заредиш .ееp файл на контролера. Ако съхраняваш масивите във флеша със сигурност се получава това, което искаш и можеш да го видиш в Proteus. За еепрома не са по-различни нещата. Има начин дори да се излъже и да се види резултата и при буфериране от еепром. Кодът ти е ок и би трябвало да нямаш проблеми
Успех!
|
| Нед Окт 07, 2007 12:21 am |
|
|
|
Страница 1 от 1
|
[ 6 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|