Espruino:Справочник по API/Класс E/memoryMap(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 7: | Строка 7: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
E.memoryMap(baseAddress, registers) | E.memoryMap(baseAddress, registers) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 24: | Строка 24: | ||
Создает объект, где каждое поле имеет доступ к собственному ''32-битному'' адресу в памяти микроконтроллера. Это идеальная техника для доступа к периферии, встроенной в чип. | Создает объект, где каждое поле имеет доступ к собственному ''32-битному'' адресу в памяти микроконтроллера. Это идеальная техника для доступа к периферии, встроенной в чип. | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
// для чипов на базе NRF52 | // для чипов на базе NRF52 | ||
var GPIO = E.memoryMap(0x50000000,{OUT:0x504, OUTSET:0x508, OUTCLR:0x50C, IN:0x510, DIR:0x514, DIRSET:0x518, DIRCLR:0x51C}); | var GPIO = E.memoryMap(0x50000000,{OUT:0x504, OUTSET:0x508, OUTCLR:0x50C, IN:0x510, DIR:0x514, DIRSET:0x518, DIRCLR:0x51C}); |
Версия от 18:28, 14 мая 2023
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция E.memoryMap()[1]
Синтаксис
E.memoryMap(baseAddress, registers)
Параметры
- baseAddress – базовый адрес (добавляется ко всем адресам в registers)
- registers – объект, содержащий {name:address}
Возвращаемое значение
Объект, где каждое поле отображено в регистр.
Описание
Создает объект, где каждое поле имеет доступ к собственному 32-битному адресу в памяти микроконтроллера. Это идеальная техника для доступа к периферии, встроенной в чип.
// для чипов на базе NRF52
var GPIO = E.memoryMap(0x50000000,{OUT:0x504, OUTSET:0x508, OUTCLR:0x50C, IN:0x510, DIR:0x514, DIRSET:0x518, DIRCLR:0x51C});
GPIO.DIRSET = 1; // задаем GPIO0 на вывод данных
GPIO.OUT ^= 1; // переключаем состояние GPIO0
Примечание: Эта функция не доступна для устройств с маленькой flash-памятью.
См.также
Внешние ссылки