4 / 4 / 1
Регистрация: 20.04.2011
Сообщений: 141
|
|||||||||||
1 | |||||||||||
Как еще можно пользоваться регистрами микроконтроллеров?24.11.2014, 15:27. Показов 3507. Ответов 51
Метки нет (Все метки)
Обычно обращение к регистрам МК проходит так:
Нужно составить обращение к регистрам разных модулей в компактной форме, то есть в функции по номеру канала уметь найти адрес нужного регистра и запрограммировать его. Вопрос: возможно ли это сделать с помощью такой схемы: зная глобальное смещение адресов регистров каждого модуля в отдельности прямо в выражении рассчитывать адрес конкретного регистра?
0
|
24.11.2014, 15:27 | |
Ответы с готовыми решениями:
51
Без понятия как регистрами пользоваться Как можно пользоваться Mathcad 15 на Windows 10 как можно пользоваться методами одного класса в другом? как пользоваться программатором для Whirlpool, раздобыл программатор, а как им пользоваться я не знаю Как объявить массив чтобы им можно было пользоваться в любом методе? |
4 / 4 / 1
Регистрация: 20.04.2011
Сообщений: 141
|
|
24.11.2014, 17:29 [ТС] | 21 |
Хм.
Возможно. Дело в том, что при переходе на другой камень нет гарантии что там регистры будут в таком же порядке располагаться => нужно будет править структуру. А тут править смещения регистров. По сути работа одна и та же.
0
|
4 / 4 / 1
Регистрация: 20.04.2011
Сообщений: 141
|
|
24.11.2014, 17:32 [ТС] | 23 |
Случайно спасибо нажал.
Что симулировать? Keil при создании проекта файл с регистрами автоматом создает, добавляет хидер.
0
|
4 / 4 / 1
Регистрация: 20.04.2011
Сообщений: 141
|
|
24.11.2014, 17:36 [ТС] | 25 |
0
|
Модератор
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
|
|
24.11.2014, 17:41 | 26 |
еще один "подводный камень" в адресной арифметике
если твой базовый адрес приведется к int* то смещение будет не 0x0000AB а 0x0000AB*sizeof(int) следовательно сначала нужно приводить к char* а потом полученный адрес к int*(или что там) оно тебе надо? Добавлено через 3 минуты в моем почему то нет можешь сюда скинуть?
0
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
24.11.2014, 17:45 | 27 |
Я уже делал такие структуры для загрузки заголовков bmp-файлов. Так вот, в программировании вообще нет ничего проще.
0
|
4 / 4 / 1
Регистрация: 20.04.2011
Сообщений: 141
|
|
24.11.2014, 17:48 [ТС] | 28 |
Сам хидер только?
0
|
Модератор
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
|
|
24.11.2014, 22:52 | 29 |
мдя
мало информации в инете какой то засекреченый камень единственное что нашел стоящего это на сайте производителя что то типа сдк http://www.infineon.com/cms/en... c3e1195238 файл XC2000-Easy-Kit-DVD-3.0.zip весит 2.7 гектара, по понятным причинам выложить сюда не могу посмотри папку Examples там в заголовочных файлах куча макросов, может поможет
1
|
Витальич
|
24.11.2014, 23:01
#30
|
0
|
4 / 4 / 1
Регистрация: 20.04.2011
Сообщений: 141
|
|
25.11.2014, 10:26 [ТС] | 31 |
Черт, я столько не скачаю.
У меня есть папка Examples для этого проца в Keil-е, но там нет заголовочных и макросов.
0
|
Модератор
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
|
|
25.11.2014, 10:33 | 32 |
если ты один раз будешь програмить, то можно пойти твоим путем, но следи за адресной арифметикой
а если серьезные разработки, то советую все таки посмотреть в сторону структур потом окупится, особенно если будешь портировать Добавлено через 3 минуты сейчас попытаюсь скинуть несколько штук но я в них не разбирался
1
|
4 / 4 / 1
Регистрация: 20.04.2011
Сообщений: 141
|
|
25.11.2014, 10:53 [ТС] | 34 |
Наверное, действительно, лучше так.
Попробую структуру все-таки сделать пограмотнее. Скинь пару штук, если не сложно, гляну мож что интересное есть. Добавлено через 8 минут Спасибо. Там регистры точно так же как у меня в виде списка алиасов и их адресов. Почему если путь структуры "общепринятый" и самый удобный, Infineon в упор этого не делает. Из-за лени? Или может оно только так работает? Кстати при переходе на другой проц имхо нужно просто заменить файл адресов регистров. А в случае с моей структурой нудо будет исправлять в ней порядок и размер полей. Мне кажется это более ацко.
0
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
25.11.2014, 11:23 | 38 |
У меня в "нормальном" виде только для XMC1XXX и XMC4XXX в IAR 7.30 присутствует.
0
|
4 / 4 / 1
Регистрация: 20.04.2011
Сообщений: 141
|
||||||||||||||||
25.11.2014, 14:33 [ТС] | 39 | |||||||||||||||
А кстати куда здесь потом volatile писать? В объявлении переменной структуры, например так?
Объявляю структуру так:
А если так (без far в правой части):
0
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
25.11.2014, 14:44 | 40 |
С МК Infineon не работал, поэтому вопрос, а зачем модификатор far Вы используете?
far - дальний указатель (указатель на ячейку памяти в другом сегменте)
0
|
25.11.2014, 14:44 | |
25.11.2014, 14:44 | |
Помогаю со студенческими работами здесь
40
Какими ещё способами можно ещё сделать? Можно ли при работающем макросе как то пользоваться другими excel? Открывать, изменять, закрывать? Как еще можно достучаться до БД? Можно ли пользоваться блоком питания ноутбука, после того как сработал автомат в электро щитке? как создать передаточную функцию звена, чтобы ей можно дальше пользоваться?(заменить элемент p, умножить. и т д)? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |