Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Нужен совет. Можно ли пользовать вложенные подпрограммы, на что обращать внимания..
Отправлено
Aleksey75
23 декабря 2006 г. 11:16
Составить ответ
|
Вернуться на конференцию
Ответы
а рекурсию?
—
yes
(23.12.2006 14:35:40
91.76.36.6
,
пустое
)
Парень пишет внятные управляющие (а не вычислительные) программы на AVR ASM, зачем его стращать зазря :)
—
=AVR=
(23.12.2006 14:54:35
80.92.96.19
,
пустое
)
А еще не забывать, что каждый вызов ПП занимает несколько тактов. А в некоторых процессорах, о ужас, очищает конвейер, а то и буфер предвыборки.
—
SM
(23.12.2006 12:53:50
85.21.237.237
,
пустое
)
вроде аврки этим не страдают.. а про такты знамо..
—
Aleksey75
(23.12.2006 12:56:24
87.238.112.167
,
пустое
)
Как раз страдают - от очистки конвейера и появляется по 1-2 лишних такта в (r)call/(r)jmp/br и аж по 3 в ret(i)
—
=AVR=
(23.12.2006 13:05:11
80.92.96.19
,
пустое
)
Вопрос... какие неудобства можно(нужно) ждать, окромя лишних тактов?
—
Aleksey75
(23.12.2006 13:07:38
87.238.112.167
,
пустое
)
Можно ожидать неудобства в отладке. Но это, если рекурсия замороченная.
—
quark
(23.12.2006 13:19:9
89.113.84.151
,
пустое
)
Да тоже не проблема, считай только циклы, или отладочный счетчик циклов добавь(+)
—
=AVR=
(23.12.2006 13:34:51
80.92.96.19
, 2327 байт)
:)) Я же сказал "замороченная". Напр. рекурсивный метод вычисления DCT в 64-х точках.
—
quark
(23.12.2006 13:41:57
89.113.84.151
,
пустое
)
Ну да. Вот подскажи мне лучше - применяется ли практически "однобитовое" БПФ - т.е. когда входной массив представлен однобитовыми величинами, а не искуственно приведеными к значениям +1 и -1?
—
=AVR=
(23.12.2006 13:47:48
80.92.96.19
,
пустое
)
Насколько мне известно, нет.
—
quark
(23.12.2006 13:51:47
89.113.84.151
,
пустое
)
А поясните тупому - почему? ИМХО, ничто не запрещает так сделать
—
-=Shura=-
(23.12.2006 16:41:18
69.143.120.132
,
пустое
)
Честно говоря, не понял вопроса, поэтому ответил уклончиво.(+)
—
quark
(24.12.2006 09:27:58
89.113.84.151
, 3128 байт)
Смысла большого нет. Еще что-то можно сэкономить на первой ступени преобразования, ну на второй, И то на второй уже 2 бита будет. Да и от процессора зависит. Иным процессорам по барабану - складывать, или умножать. А на следующих ступенях синусы-косинусы появляются. А они плохо поддаются однобитовому квантованию.
—
-=ВН=-
(23.12.2006 17:36:1
217.25.80.210
,
пустое
)
Это точно
—
=AVR=
(23.12.2006 20:30:2
80.92.96.19
,
пустое
)
Ну тогда добрый совет - не парьтесь с одним битом.
—
-=ВН=-
(23.12.2006 21:13:41
89.109.5.103
,
пустое
)
Вычеркнул уже. К тому же dsPIC весьма неплохо заточен под нормальное БПФ - и тебе bit-reverse addressing, и аппаратные кольцевые буфера, и МАС с предвыборками, и barrel shift за 1 такт - гуляй не хочу
—
=AVR=
(23.12.2006 21:18:30
80.92.96.19
,
пустое
)
Стандартный набор. Забавно, но за свою долгую Дэ-эС-Пэшную практику и многочисленные Фурье-писания практически не использовал битреверсную адресацию (для данных). И не использовал ее именно в Дэ-эС-Процессорах, где она есть:-) В железных и полужелезных
—
-=ВН=-
(23.12.2006 22:48:23
213.177.101.254
, 49 байт)
Дык кому стандартная, а кому и кобыла - невеста :)
—
=AVR=
(24.12.2006 00:40:44
80.92.96.19
,
пустое
)
Так он и не сказал, что запрещается - видимо, никто просто не хотел париться, решали стандартно. Я попробую обязательно в обоих вариантах
—
=AVR=
(23.12.2006 16:52:50
80.92.96.19
,
пустое
)
Понятно, спасибо. Уж больно соблазн велик сделать так для одного конкретного случая под dsPIC
—
=AVR=
(23.12.2006 14:00:30
80.92.96.19
,
пустое
)
Т.е. две РАЗНЫХ функции вызывают друг-друга внутри тела функций.
—
quark
(23.12.2006 13:44:11
89.113.84.151
,
пустое
)
Понимаю, согласен, конечно
—
=AVR=
(23.12.2006 13:48:58
80.92.96.19
,
пустое
)
Да нет никаких неудобств. Стеку, сами сказали, навлом. С регистрами - пряьте их в стек, если есть сомнения, такты считать вредно, не царское это дело. Правдп иногда приходится. В общем вперед и с песней.
—
-=ВН=-
(23.12.2006 13:13:19
217.25.80.210
,
пустое
)
не, такты я лучше посчитаю, нужны как воздух...
—
Aleksey75
(23.12.2006 13:19:5
87.238.112.167
,
пустое
)
Такты считать полезно, притом в уме, притом до того, как их растратишь, а то и вместо того :)
—
=AVR=
(23.12.2006 13:17:37
80.92.96.19
,
пустое
)
Такты считать вредно. Это что-то на пределе, когда такты нужно считать. Оценка производительности нужна, кто спорит, но это не счет тактов. Есть ситуациии, не спорю, когда это необходимо, типа реализации строгой временной диаграммы программным способом. Но это редкость.
—
-=ВН=-
(23.12.2006 13:25:26
217.25.80.210
,
пустое
)
Тем не менее, я до сих пор никак не могу отучить себя поглядывать на правую колонку ресторанных меню, хотя уже давно могу себе позволить этого никогда не делать :)
—
=AVR=
(23.12.2006 13:41:48
80.92.96.19
,
пустое
)
У каждого свои слабости:-)
—
-=ВН=-
(23.12.2006 13:51:52
217.25.80.210
,
пустое
)
Абсолютно никаких, к тому же все лишние такты посчитаны, документированы и постоянны
—
=AVR=
(23.12.2006 13:11:44
80.92.96.19
,
пустое
)
понял спасибо..
—
Aleksey75
(23.12.2006 13:18:25
87.238.112.167
,
пустое
)
Во-во, так и норовит. И такты жрет зверски :(
—
=AVR=
(23.12.2006 12:55:38
80.92.96.19
,
пустое
)
Каждая вложенная подпрограмма (+)
—
CD_Eater
(23.12.2006 11:58:7
89.179.240.72
, 129 байт)
Глобольные переменные порождают антиглобалистское движение. Неизбежны стычки с правоохранительными органами. Избегайте глобализма. В то же время вложенность подпрограмм похожа на гермафродитизм. Тоже ничего хорошего.Любимый пример для иллюстрации вложенности - вычисл. чисел Фибоначчи:-)
—
-=ВН=-
(23.12.2006 12:10:30
217.25.80.210
,
пустое
)
"Глоболь" это эффективное средство от тараканов :) :) И когда они "глобольные", то явно перестают быть переменными, а становятся абсолютно постоянными.
—
SM
(23.12.2006 12:50:5
85.21.237.237
,
пустое
)
У меня на клавиатуре буква 'o' переместилась к букве 'a'. И потом, слово "антиглобалистские" я написал правильно, а в нем намного больше букв, намного
—
-=ВН=-
(23.12.2006 13:06:40
217.25.80.210
,
пустое
)
Ну, вложенность ПП и авторекурсия - несколько разные глобалистические субстанции. К тому же ЧФ изящнее и быстрее вычисляются и итерациями :)
—
=AVR=
(23.12.2006 12:26:14
80.92.96.19
,
пустое
)
Да. . Почему то решил, что речь об особом виде вложенности, именуемом в просторечии авторекурсией. И только о нем. Виноват. Тяжелое наследие. Прошу простить. Исправлюсь. А с ЧФ - итерация и рекурсия имеют общий корень слова.:-)
—
-=ВН=-
(23.12.2006 12:41:48
217.25.80.210
,
пустое
)
Я тоже люблю самоедские, тьфу, авторекурсивные мЭтоды, но предпочитаю котлеты отдельно. И без мух :)
—
=AVR=
(23.12.2006 12:48:32
80.92.96.19
,
пустое
)
Дын я тоже котлеты без мух люблю, я только осветил вопро о примерах, часто идлюстрирующих авторекурсию. И об общем корне этих слов. :-)
—
-=ВН=-
(23.12.2006 13:03:8
217.25.80.210
,
пустое
)
Что и правильно. "Все мы вышли из народа" :)
—
=AVR=
(23.12.2006 13:07:58
80.92.96.19
,
пустое
)
"Вышли мы все из народа, дети семьи тудовой. Братский союз и свобода - вот наш девиз боевой!"
—
-=ВН=-
(23.12.2006 13:09:46
217.25.80.210
,
пустое
)
у меня получается наоборот, в основной подпрограмме обрабатывается адрес, а во вложенной непосредственная передача данных...
—
Aleksey75
(23.12.2006 12:08:13
87.238.112.167
,
пустое
)
Не надо слушать пустозвонство. Обрабатывай так, как тебе удобно, а если надо, в ПП сохрани какие-то регистры - точно так же, как ты это делаешь в ПП прерываний (ISR)
—
=AVR=
(23.12.2006 12:19:23
80.92.96.19
,
пустое
)
так и делаю...
—
Aleksey75
(23.12.2006 12:25:33
87.238.112.167
,
пустое
)
К вам вопросик +
—
Aleksey75
(23.12.2006 12:28:58
87.238.112.167
, 126 байт)
А когда как. Следи за разделом по ссылке, а вообще-то скажи, о какой ИС речь -->
—
=AVR=
(23.12.2006 12:32:19
80.92.96.19
,
пустое
,
ссылка
)
А когда как. Следи за разделом по ссылке, а вообще-то скажи, о какой ИС речь -->
—
=AVR=
(23.12.2006 12:32:11
80.92.96.19
,
пустое
)
ata6286
—
Aleksey75
(23.12.2006 12:32:43
87.238.112.167
,
пустое
)
По этой можно долго прождать. Это разработка колорадских ребят, а они жуки те еще. Отслеживай тут -->
—
=AVR=
(23.12.2006 12:46:2
80.92.96.19
,
пустое
,
ссылка
)
чёт фигня какаято, тестовые выпускают, скорее всего есть ds, но для внутреннего пользования...баги разыскивают...
—
Aleksey75
(23.12.2006 12:50:38
87.238.112.167
,
пустое
)
Нет, придерживают, чтобы устоявшиеся крупные партнеры (GM) смогли спокойно и без конкуренции подготовить свое крупносерийное производство, куда пойдут эти ИС
—
=AVR=
(23.12.2006 12:53:57
80.92.96.19
,
пустое
)
вот падонки....тоесть на доступность на рынке можно не расчитывать...
—
Aleksey75
(23.12.2006 12:58:10
87.238.112.167
,
пустое
)
Да нет, продавать будут, только вот на склады вряд ли торговцы будут завозить - неходовой товар, специфический
—
=AVR=
(23.12.2006 13:07:15
80.92.96.19
,
пустое
)
Да жопа полная у нас н ними - наши торгаши афуели совсем - не хотят шевелиться. Знай себе публикуют в новостях... Так и не нашел пока никого, согласившегося заняться образцами. А по даташиту - действительно пока нет...
—
Гудвин
(23.12.2006 12:39:1
212.44.92.22
,
пустое
)
+
—
Aleksey75
(23.12.2006 12:40:36
87.238.112.167
, 107 байт)
Через кого заказывали?
—
Гудвин
(23.12.2006 12:41:56
212.44.92.22
,
пустое
)
в эфо зарегил проэкт
—
Aleksey75
(23.12.2006 12:42:58
87.238.112.167
,
пустое
)
Гы. А наших эти кОзлы прокинули... (+)
—
Гудвин
(23.12.2006 12:55:4
212.44.92.22
, 517 байт)
+
—
Aleksey75
(23.12.2006 13:05:47
87.238.112.167
, 582 байт)
А информацию для "попробовать" можно изъять из даташитов на ATA5283 и ATA5757 - в чип скорее всего интегрированы именно они. Ну и мега88...
—
Гудвин
(23.12.2006 13:15:56
212.44.92.22
,
пустое
)
ок, спасибо....в общем бум ждать :)
—
Aleksey75
(23.12.2006 13:17:45
87.238.112.167
,
пустое
)
Да нет, непохоже на М88, два 16 разрядных таймера, хотя х.з. а датчики давления и перемещения всёже внешние (ёмкостные)
—
Aleksey75
(23.12.2006 13:15:48
87.238.112.167
,
пустое
)
причём в тотже день когда вы эту новось на конфе опубликовали..
—
Aleksey75
(23.12.2006 12:52:45
87.238.112.167
,
пустое
)
А какие есть сомнения?
—
Bill_
(23.12.2006 11:42:19
193.233.83.66
,
пустое
)
да впринципе особых нет, просто интересуюсь чтоб не наступать на грабли...
—
Aleksey75
(23.12.2006 12:06:36
87.238.112.167
,
пустое
)
На глуботу стека.
—
-mse-
(23.12.2006 11:20:26
83.239.86.98
,
пустое
)
А...ну ещё чтобы ПП не гнобила переменные в вызываюсчей ПП. Это понятно.
—
-mse-
(23.12.2006 11:21:54
83.239.86.98
,
пустое
)
Как это?
—
Vladimir Ljaschko
(23.12.2006 11:54:14
86.57.170.62
,
пустое
)
А вот так это - сохранил что-либо в регистрах, вызвал подпрограмму, а она эти регистры на свои нужды попортила
—
=AVR=
(23.12.2006 12:07:13
80.92.96.19
,
пустое
)
ну эт само сабой за переменными нужно следить..
—
Aleksey75
(23.12.2006 11:37:56
87.238.112.167
,
пустое
)
ну его хватает...
—
Aleksey75
(23.12.2006 11:20:54
87.238.112.167
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 63:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru