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

 
 
> Вычисления на ATmega88
koluna
сообщение Dec 2 2008, 14:00
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Здравствуйте!

Использую WinAVR, ATmega88, сигнал синхронизации - внтутренняя RC-цепь (частота 8 МГц).
Необходимо как можно быстрее вычислить значение следующего выражения:

C = Y * C' / 255.
Причём:
C, Y, C' - unsigned char, т. е., действительные числа мне не нужны...

В данный момент вычисления производятся приблизительно за 92 мкс (в программе три выражения подряд).

Можно, конечно, кварц поставить на большую частоту, но хотелось бы пока без него smile.gif

Фрагмент программы:

Код
...
OCR0A = n_red * dmx[0] / 255;
OCR0B = n_green * dmx[0]  / 255;
OCR2B = n_blue * dmx[0] / 255;
...



Спасибо заранее!


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Арк К
сообщение Dec 2 2008, 14:16
Сообщение #2


Участник
*

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



А надо делить именно на 255? не на 256?
тогда было бы нужно просто выкинуть младший байт
Критичные ко времени места лучше делать на ассемблере.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- n_bogoyavlensky   Вычисления на ATmega88   Dec 2 2008, 14:00
- - Непомнящий Евгений   а если поделить на 256? Компилер должен превратить...   Dec 2 2008, 14:12
|- - Непомнящий Евгений   Цитата(Арк К @ Dec 2 2008, 17:16) Критичн...   Dec 2 2008, 14:24
|- - n_bogoyavlensky   Цитата(Арк К @ Dec 2 2008, 18:16) А надо ...   Dec 3 2008, 08:26
|- - _Pasha   Цитата(n_bogoyavlensky @ Dec 3 2008, 12:2...   Dec 3 2008, 08:55
|- - n_bogoyavlensky   ЦитатаВ догонку. Деление на 255 в данном случае мо...   Dec 3 2008, 09:46
- - _Pasha   Цитата(n_bogoyavlensky @ Dec 2 2008, 18:0...   Dec 2 2008, 14:24
|- - Непомнящий Евгений   Цитата(_Pasha @ Dec 2 2008, 17:24) Исполь...   Dec 2 2008, 15:14
|- - _Pasha   Цитата(Непомнящий Евгений @ Dec 2 2008, 19...   Dec 2 2008, 15:20
|- - =GM=   Цитата(Непомнящий Евгений @ Dec 2 2008, 15...   Dec 2 2008, 16:53
|- - Непомнящий Евгений   Цитата(=GM= @ Dec 2 2008, 19:53) Вот здес...   Dec 3 2008, 05:26
|- - =GM=   Цитата(Непомнящий Евгений @ Dec 3 2008, 05...   Dec 3 2008, 11:00
- - =GM=   Цитата(n_bogoyavlensky @ Dec 2 2008, 14:0...   Dec 2 2008, 14:52
|- - Непомнящий Евгений   Цитата(=GM= @ Dec 2 2008, 17:52) C=(Y*C1*...   Dec 2 2008, 15:00
|- - =GM=   Цитата(Непомнящий Евгений @ Dec 2 2008, 15...   Dec 2 2008, 15:05
- - LordVader   Вот что нагуглилось: http://www.sharpthinking.net/...   Dec 2 2008, 16:48
- - VDG   Человек скорее всего управляет RGB-светодиодом, а ...   Dec 2 2008, 22:02
- - n_bogoyavlensky   Вот ещё одна задача. Как аналогичным образом целоч...   Dec 12 2008, 20:39
|- - Александр Куличок   Цитата(n_bogoyavlensky @ Dec 12 2008, 22...   Dec 12 2008, 23:29
|- - n_bogoyavlensky   ЦитатаДля диапазона A=[0..255): (unsigned char)(...   Dec 13 2008, 11:33
|- - singlskv   Цитата(n_bogoyavlensky @ Dec 13 2008, 14...   Dec 13 2008, 12:06
|- - n_bogoyavlensky   Цитата(singlskv @ Dec 13 2008, 16:06) Име...   Dec 13 2008, 12:16
|- - xemul   Цитата(n_bogoyavlensky @ Dec 13 2008, 15...   Dec 13 2008, 12:56
||- - n_bogoyavlensky   Цитата(xemul @ Dec 13 2008, 16:56) x/10 ~...   Dec 13 2008, 18:34
||- - xemul   Цитата(n_bogoyavlensky @ Dec 13 2008, 21...   Dec 13 2008, 20:41
||- - singlskv   Цитата(xemul @ Dec 13 2008, 23:41) Спасиб...   Dec 13 2008, 21:33
||- - xemul   Цитата(singlskv @ Dec 14 2008, 00:33) на ...   Dec 13 2008, 22:41
||- - Александр Куличок   Цитата(singlskv @ Dec 13 2008, 23:33) -ит...   Dec 13 2008, 23:35
|- - SSerge   Цитата(n_bogoyavlensky @ Dec 13 2008, 18...   Dec 13 2008, 13:00
- - singlskv   Дык все точно так же, умножте на 26(~256/10) или н...   Dec 12 2008, 21:13
- - ae_   x/10 = x*(1/10) = x*(205/2048) = (x*205)>>11...   Dec 13 2008, 12:56
- - ae_   Так, что бы во всём диапазоне 0...255 / 10 выполня...   Dec 14 2008, 11:51
- - n_bogoyavlensky   Кстати, а что за метод в 11 посте? Там логика друг...   Dec 15 2008, 09:59
- - SSerge   Цитата(n_bogoyavlensky @ Dec 15 2008, 15...   Dec 15 2008, 11:33


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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 09:15
Рейтинг@Mail.ru


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