реклама на сайте
подробности

 
 
> Как в WinAVR разместить переменную в регистре?
IgorAVR2
сообщение Apr 24 2009, 06:28
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901



Или как из Си winavr писать данные в нужный регистр?

register unsigned char counter asm("r4"); - не помогает!!!

То есть если пишем код:
register unsigned char counter asm("r4");
counter=5;
temp=counter;

то в дизасме видно, что переменную в r4 он не создаёт и естественно не присваивает r4=5 , а просто в temp загружает 5.

Мне нужно из Си писать в регистр и постоянно держать там эти данные, что бы постоянно использовать в прерывании, которое на Асме.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
IgorAVR2
сообщение Apr 24 2009, 10:34
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 29-05-08
Пользователь №: 37 901



Попробуйте пожалуйста объяснить ещё, я не тупой должен понять... Тем более в книгах по Си я вряд ли это найду, уверен. Перерыл вчера весь инет и нечего подобного нету, никто кроме вас не знает.

И как же всё таки сделать, что бы такие переменные всегда там создавались, даже если не используються дальше в программе, а просто присваивается им значение?
Go to the top of the page
 
+Quote Post
singlskv
сообщение Apr 25 2009, 22:29
Сообщение #3


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(IgorAVR2 @ Apr 24 2009, 14:34) *
И как же всё таки сделать, что бы такие переменные всегда там создавались, даже если не используються дальше в программе, а просто присваивается им значение?
Скорее всего Вам придеться делать некоторые спец телодвижения,
Вам нужно сделать несколько противоречащих здравому смыслу вещей... smile.gif ,
- разместить определение Ваших регистровых переменных в xxx.h файле который будет подключаться везде...
- Все функции с обращениями к данным регистрам(в том числе и прерывания...),
разместить в отдельных файлах(типа раздельная компиляция)
- ну и все это проверить в листинге...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th August 2025 - 13:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016