Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.86/65: Рейтинг темы: голосов - 65, средняя оценка - 4.86
koriprokrommyst
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,818
1

+1 unsigned int, которое было равно 65535 (и прерывание)

01.07.2015, 01:28. Просмотров 11761. Ответов 30
Метки нет (Все метки)

как узнать, как в этом случае будет вести себя мк (код компилируется с помощью avr-gcc)?

на самом деле вопрос скорее про прерывания. пытаюсь посчитать, как будет быстрее:
использовать конструкцию if (сравниваем char) и внутри него по условию делаем инкремент integer переменной.
или просто делаем этот инкремент без if.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2015, 01:28
Ответы с готовыми решениями:

Размерность int или как из signed int сделать unsigned int?
Добрый день. Есть старая база уже с некоторыми данными. При развёртывании её на одном из тестовых...

Как исправить ошибку невозможно преобразовать аргумент 1 из "unsigned int" в "unsigned int []"?
Ребят, срочно прошу вас помочь.. Есть ошибка (невозможно преобразовать аргумент 1 из "unsigned...

Поместить двоичный код, в веденной строке, в переменную типа int и unsigned int.
Пользователь вводит двоичную строку (32 символа). Поместить двоичный код, в веденной строке, в...

Почему макс short int равен 65535?
Делаю sizeof() получаю 4 байта 1байт=8бит те 4байта=32 бита но бит это 0 или 1 таки образом...

Как перевести сишный unsigned int в явский int?
Кто-нибудь занимался подобным переводом кода? Поначалу я думал, что разницы вообще нет, просто ...

30
DOOMSDOY
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
02.07.2015, 01:29 21
В си, я думаю, никак. Всегда RETI. А зачем вообще выходить из обработчика RET-ом???
0
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
02.07.2015, 02:03 22
Цитата Сообщение от DOOMSDOY
В си, я думаю, никак. Всегда RETI. А зачем вообще выходить из обработчика RET-ом???
На асме я как-то делал так. Ret. Не помню подробностей. Как на си перешел, потребности такой не было. Вспомню, отпишусь.
0
Ot-x
0 / 0 / 0
Регистрация: 30.12.2013
Сообщений: 192
02.07.2015, 20:21 23
Цитата Сообщение от dymyurk1978
Цитата Сообщение от DOOMSDOY
В си, я думаю, никак. Всегда RETI. А зачем вообще выходить из обработчика RET-ом???
На асме я как-то делал так. Ret. Не помню подробностей. Как на си перешел, потребности такой не было. Вспомню, отпишусь.
Отличие во флаге глобального прерывания.
0
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
02.07.2015, 20:39 24
Цитата Сообщение от Ot-x
Отличие во флаге глобального прерывания.
Я прекрасно это знаю. Речь идет о том, чтобы выходить из прерывания именно по команде ret, когда прерывания НЕ НУЖНЫ. Как на си такое реализовать, я не знаю, по простой причине - пока не требовалось. А вот когда на асме сидел, частенько такое практиковал.
0
koriprokrommyst
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,818
02.07.2015, 21:01 25
пытаюсь представить ситуацию, когда это требуется (у меня с воображением не особо)
но интересовался - просто про запас
0
DOOMSDOY
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
02.07.2015, 22:17 26
Цитата Сообщение от Ot-x
Цитата Сообщение от dymyurk1978
Цитата Сообщение от DOOMSDOY
В си, я думаю, никак. Всегда RETI. А зачем вообще выходить из обработчика RET-ом???
На асме я как-то делал так. Ret. Не помню подробностей. Как на си перешел, потребности такой не было. Вспомню, отпишусь.
Отличие во флаге глобального прерывания.
Спасибо, К.О.
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
02.07.2015, 22:59 27
Цитата Сообщение от dymyurk1978
Цитата Сообщение от Ot-x
Отличие во флаге глобального прерывания.
Я прекрасно это знаю. Речь идет о том, чтобы выходить из прерывания именно по команде ret, когда прерывания НЕ НУЖНЫ. Как на си такое реализовать, я не знаю, по простой причине - пока не требовалось. А вот когда на асме сидел, частенько такое практиковал.
А вот тогда , когда из прерывания нужно уйти не туда откуда пришёл. Вспоминай игры со стэком.
0
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
02.07.2015, 23:50 28
Цитата Сообщение от YTYOUT
А вот тогда , когда из прерывания нужно уйти не туда откуда пришёл. Вспоминай игры со стэком.
Не только. Лень сейчас искать старые проекты. Но я вспомнил, откуда почерпнул эту практику. Из примеров в книжках по микроконтроллерам AVR.

Джон Мортон Микроконтроллеры AVR. Вводный курс
Вольфганг Трамперт. AVR-RISC микроконтроллеры фирмы ATMEL.
Есть еще две книжки, где-то далеко закопаны.
В какой-то из этих книжек есть примеры с выходом из прерываний по команде ret.
0
DOOMSDOY
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
03.07.2015, 02:22 29
Ну блин, уже второй день с нетерпением жду хоть один реальный практический пример, где может быть необходимо или хотя бы просто реально полезно таким извращенским способом возвращаться из прерывания... Ваши "игры со стеком" это, ИМХО, самое настоящее садомазо для тех кому скучно жить или нечем полезным заняться... Пока так...
0
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
03.07.2015, 08:39 30
Цитата Сообщение от DOOMSDOY
Ваши "игры со стеком" это, ИМХО, самое настоящее садомазо для тех кому скучно жить или нечем полезным заняться... Пока так...
Игры со стеком- образное выражение. Диспетчеры, RTOS. Подмена адреса возврата.
По поводу примеров. Мне и Илье достаточно упоминания, в каких случаях можно применять описываемые способы.
Я уже больше 2 лет не пишу на асме. Старые проекты далеко и лень искать.
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
03.07.2015, 16:13 31
Ну вот тут и подмена стека , и обращение к регистрам как к памяти и переход к подпрограммам с подменной точки возврата. Кстати и DI описывал в какой-то статье (Сообщество) такие приемы , но с "налёта" не нашёл.
Вечерком , сниму один из датчиков , подключу к дебагу и смогу ответить на вопросы . Сейчас "влёт" уже не вспомню зачем и почему. Давно это было.
Датчик семейства MaxSonar®-EZ1. Правда в DS они не написали , что он в ASCII , при вкл. питания, в начале выдает свое полное название и по-моему разновидность. А уж затем начинает измерять дистанцию.

[4.88 Кб]
0
03.07.2015, 16:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2015, 16:13

Ошибка конвертирования from 'quint32 (*)() {aka unsigned int (*)()}' to 'quint32 {aka unsigned int}'
Программа создаёт TCP сервер и использует внутренний ip адрес, вот код: quint32 LocalIp() {...

Определение типов. Приведение int к unsigned int
При таком определении 5 рассматривается как int. Как при определении указать что 5 будет именно...

Разница int, short, unsigned int, unsigned short
Есть например цикл который проходит по массиву в котором 100 элементов. В чем практическая выгода...


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

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

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