оголосити і визначити масив на певному пам'яті виправити

T

tom12sg

Guest
Привіт,

Як оголосити масив на певні фіксовані адреси програмного коду в Keil, які я можу задати?

Привіт,
Тома

 
Це від Keil C51 DOC, сподіваюся, що це корисно для вас

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Посмішка" border="0" />Абсолютна Змінна Розташування
Змінні можуть бути розташовані на абсолютних елементів пам'яті у вашій програмі C
Модуль джерела _at_ допомогою ключового слова.Використання для цієї функції:
memory_space variable_name тип _at_ постійна;
де:
memory_space є обсяг пам'яті для змінної.Якщо відсутній
Декларація, використовується за умовчанням простір пам'яті.Зверніться до
Моделі пам'яті на стор 89 для отримання додаткової інформації про
простір пам'яті за замовчуванням.
тип тип змінної.
variable_name це ім'я змінної.
Константа адреса, по якому, щоб знайти змінну.
Абсолютна адресою _at_ повинні відповідати фізичні кордону
пам'яті для змінної.Cx51 перевіряє неправильну адресу
специфікаціям.
Наступні обмеження не застосовуються до абсолютного мінлива Розташування:
1.Абсолютні змінні не можуть бути ініціалізований.
2.Функції та змінні типу розрядних не можуть бути розташовані на абсолютний адресу.

Наступний приклад демонструє, як можна знайти кілька різних змінних
типів з використанням _at_ ключове слово.
структура посиланням
(
структура посилання idata * Next;
Чар код * випробувань;
);
idata структуру список посилань _at_ 0x40 / * список на idata 0x40 * /
XData Char текст [256] _at_ 0xe000; / * масив на XData 0xe000 * /
XData Int I1 _at_ 0x8000 / * Int на XData 0x8000 * /
Основними Void (Порожнеча) (
link.next = (VOID *) 0;
I1 = 0x1234;
текст [0] ='';
)
Часто ви можете побажати, щоб оголосити змінні в одному модулі джерела і доступу
в іншому.Використовуйте наступні заяви зовнішнього доступу до _at_
змінних, визначених вище, в іншому вихідному файлі.
структура посиланням
(
структура посилання idata * Next;
Чар код * випробувань;
);
Зовнішній idata структуру список посилань / * список на idata 0x40 * /
Зовнішній XData тексту Char [256]; / * масив на XData 0xe000 * /
Зовнішній XData Int I1 / * Int на XData 0x8000 * /

 

Welcome to EDABoard.com

Sponsor

Back
Top