Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Dmirtiy Vovk
4 / 4 / 0
Регистрация: 07.08.2014
Сообщений: 164
1

Сброс бита CBI (Atmel Studio 6.2)

28.11.2014, 19:02. Просмотров 1017. Ответов 3
Метки нет (Все метки)

Картинки внизу...

Использую Atmel Studio 6.2 для написания программы для Avr Mega.
Проэкт executable C.

Увидел возможность ассамблерных вставок в С код.

asm("nop"); , например.

Так вот часть когда где сброс и установка бита занимают (по-моему) очень много телодвижений и вобще
не используются команды SBI , CBI :

команду:
C
1
PORTD |= (1<<PD7)  // Установить бит
успешно заменил на вставку:
C
1
2
3
asm("SBI, 0x12, 7") // Установить бит 
//При этом студия ругалась что требуются именно числа, а не PORTD и PD7!
//Почему?
Теперь команда сброса бита:
asm("CBI, 0x12, 7")// Вызывает ошибку Unknow Opcode...

Оптимизация отключена. Почему студия не использует SBI , CBI и как мне быть =)
Если есть желание, обьясните что происходит в блоке ассамблера, где сброс/установка бита.
Вижу , что регистры участвуют, но зачем столько действий не понимаю.
А! Еще что такое Z в этом блоке?
0
Миниатюры
Сброс бита CBI (Atmel Studio 6.2)   Сброс бита CBI (Atmel Studio 6.2)   Сброс бита CBI (Atmel Studio 6.2)  

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2014, 19:02
Ответы с готовыми решениями:

Почему AVR Studio 4, а не Atmel Studio 6?
По какой причине большинство специалистов по AVR микроконтроллерам в основном используют AVR Studyo...

Atmel Studio
Подскажите где смотреть библиотеку Atmel Studio.

Atmel studio 6.1
Здравствуйте. столкнулся с проблемой запуска программы. вылетает сообщение:debugging tool is not...

Atmel studio 6
Вопрос таков, есть некая библиотека, в lcd_lib.h прототипы, в lcd_lib.c сами функции, оба файла...

Atmel Studio
помогите написать программу работы светофора на языке Assembler

3
pyzhman
796 / 488 / 68
Регистрация: 15.05.2012
Сообщений: 2,775
28.11.2014, 19:46 2
Цитата Сообщение от Dmirtiy Vovk Посмотреть сообщение
//При этом студия ругалась что требуются именно числа, а не PORTD и PD7!
//Почему?
Почемушта такие имена не предопределены.
Цитата Сообщение от Dmirtiy Vovk Посмотреть сообщение
Вызывает ошибку Unknow Opcode...
Попробуйте поменять кириллическую С на латинскую. Видите же, что в строке сообщений система пишет кракозябру.
Цитата Сообщение от Dmirtiy Vovk Посмотреть сообщение
что такое Z в этом блоке?
Это пара регистров R31:R30. Адресуется порт так.
1
Dmirtiy Vovk
4 / 4 / 0
Регистрация: 07.08.2014
Сообщений: 164
28.11.2014, 20:13  [ТС] 3
Цитата Сообщение от pyzhman Посмотреть сообщение
такие имена не предопределены.
-А разве файл "avr/io.h" не занимается этим определением?

Цитата Сообщение от pyzhman Посмотреть сообщение
поменять кириллическую С на латинскую
-Точно, вот я башка, русская буква стояла... Спасибо =)

Возвращаясь к сгенерированному студие коду, где сброс/установка бита,
не кажется ли вам лучше заменить на команды SBI, CBI ??
0
pyzhman
796 / 488 / 68
Регистрация: 15.05.2012
Сообщений: 2,775
28.11.2014, 20:33 4
Цитата Сообщение от Dmirtiy Vovk Посмотреть сообщение
файл "avr/io.h" не занимается
Нет, для ассемблера не занимается. Только для Си.
Цитата Сообщение от Dmirtiy Vovk Посмотреть сообщение
Спасибо
Пожалуйста.
Цитата Сообщение от Dmirtiy Vovk Посмотреть сообщение
не кажется ли
Кажется. И это делает CodeVision. Например,
C
1
PORTD.7= 1;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2014, 20:33

Atmel Studio 6.0
Здравствуйте! Подскажите пожалуйста , не пойму почему при запуске программы компилятор выдает : ...

Программирование в Atmel Studio 7
Доброго всем дня. Как-то по случаю от друга получил наследство в виде нескольких десятков...

Atmel Studio 7 Simulator
Всем привет! Решил начать изучение МК AVR с отладчика,симулятора и ассемблера. Споткнулся на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru