Например TDA7294

Форум РадиоКот • Просмотр темы - Не могу разобраться с директивой db
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт мар 28, 2024 11:52:00

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Не могу разобраться с директивой db
СообщениеДобавлено: Ср мар 22, 2017 19:59:31 
Родился

Зарегистрирован: Сб янв 25, 2014 18:09:09
Сообщений: 15
Рейтинг сообщения: 0
Я не могу понять, как воспользоваться значением, помещенным в память программы при помощи директивы db. Когда я пытаюсь подставить название, программа выдает мне адрес зарезервированного под переменную места, а до значения я никак не могу достучаться. Я знаю, что одиночная переменная объявляется при помощи variable, но мне нужно задать массив, который длиннее, чем можно запихнуть в регистры


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу разобраться с директивой db
СообщениеДобавлено: Чт мар 23, 2017 04:24:38 
Друг Кота
Аватар пользователя

Карма: 130
Рейтинг сообщений: 2707
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21621
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
1. db - это способ определения КОНСТАНТ, а не переменных.
2. Эти константы будут размещены в ПРОГРАММНОЙ ПАМЯТИ.
3. Чтение программной памяти в 8-разрядных PIC-ах осуществляется через команды ТАБЛИЧНОГО ЧТЕНИЯ.
Табличное чтение осуществляется через специальный регистр указатель TBLPTRx в который (в которые) нужно записать адрес (ту самую метку+смещение данных относительно нее с учетом адресной размерности (в 16-х через один, а в 18-х через два адреса).
Далее следует ассемблерная команда tblrd, которая производит транзакцию из текущего адреса флеша по указателю в регистр TABLAT, откуда далее можно забрать данные по назначению.
Более подробно Вы можете все это прочесть в даташите на контроллер в разделе табличное чтение программной памяти.
Кстати, табличное чтение непосредственно флеша есть не у всех 8-разрядных контроллеров Микрочипа... В тех, где его нет табличное чтение производится через команду retlw <const>.
Если перед обсуждаемой директивой стоит ORG с определением абсолютного адреса EEPROM данных (флеша данных, если он имеется в данном МК), то чтение осуществляется уже через адресный регистр указатель этого флеша и, соответственно, его регистра защелки данных.
В 16-разрядных контроллерах Микрочипа имеется также способ доступа к флешу через PSV-доступ, когда флеш отображен на адресное пространство ОЗУ, начиная с адреса 0x8000.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Не могу разобраться с директивой db
СообщениеДобавлено: Чт мар 23, 2017 06:41:44 
Родился

Зарегистрирован: Сб янв 25, 2014 18:09:09
Сообщений: 15
Рейтинг сообщения: 0
То есть, в PIC12F509 нужно писать все значения через RETWL?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
В сети
 Заголовок сообщения: Re: Не могу разобраться с директивой db
СообщениеДобавлено: Чт мар 23, 2017 08:19:41 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1349
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14018
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Для "среднемладших" (10-12-16) это основной способ обращения.
Особо для 8-16 выводных.
Только там не DB, а DT должно использоваться для генерации именно retlw 0xNN.
Есть кристаллы с чтением ПЗУ как ЕЕПРОМ - но то "весьма индивидуально" - у каждого надо в даташит вчитываться.
Отличия только для "энхансед" с четырехзначными суффиксами (PICnnFxxxx) - там уже гибрид с 18-й серией.
:dont_know:


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

Подробнее>>
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y