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

 
 
> Обработка 19 разрядного числа.
Nosaer
сообщение Dec 2 2015, 04:52
Сообщение #1


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

Группа: Свой
Сообщений: 85
Регистрация: 6-02-15
Пользователь №: 84 967



Здравствуйте. Возможно глупый вопрос, но я окончательно запутался с арифметикой 16 и 8 битных значений.
16 разрядный таймер контроллера считает внешнии импульсы.
Периодически он переполняется, количество переполнений я считаю в отдельную переменную. (К сожалению все таймеры в контроллере задействованы, поэтому из двух 16 разрядных, сделать один 32 разрядный не получится.)
Итого, с учетом всех переполнений, у меня максимально может получится 19 разрядное число.
Которое мне нужно поделить на 8, то есть сдвинуть на 3 разряда вправо, чтобы оно стало 16 разрядным.
и затем вычесть из получившегося значения 0x07FF.

На ассемблере эту задумку я осуществить могу, с помощью команд LSR, SUBI, SBCI и оперируя тремя регистрами.
А на С не получается. Городить вставки ассемблера в код на С не хочу. Пользуюсь AVR Studio.

Надеюсь на вашу помощь, или хотя бы на ссылку на литературу где могу прочитать про это.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:39
Рейтинг@Mail.ru


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