Sun Jul 11 2004 18:33, Dima Orlov wrote to Yuriy K:
Vladislav Baliasov ÏËÁÚÁÌÓÑ ÐÒÁ×, Á ÖÁÌØ. :( Bye-bye.
WBR, àÒÉÊ.
A
Alexander Golov
Привет!
Sat Jul 10 2004 18:29, Oleksandr Redchuk wrote to George Shepelev:
...
OR> Как-то странно у тебя защита пиков выходит. OR> "а у пиков доступна вся память!"... Если у пиков и есть преимущества, OR> то не там ты их показываешь. *Как* доступна? Поячеечно OR> или мелкими кусками. OR> А я в 90s8515 запросто сделал 259-байтный непрерывный буфер OR> (тип+длина+до 255 данных+crc16) для принимаемых пакетов. OR> Сделай это в пике16. И при каждом инкременте FSR проверяй его на 0 OR> и добавляй к нему 0x20 или сколько там, а то и IRP-битом щёлкни. OR> А потом мы сравним подпрограммы сравнения строк для pic16 (один OR> указатель) и avr.
На Саш, всё таки Microchip на данный момент довольно чётко разграничивает применимость соответствующих PIC'ов. PIC16 -- для жёсткой экономии. Хочешь сэкономить -- помучайся с кодом. В них особенно и не поворочаешь буферами в
260 байтов и строки не посравниваешь -- памяти кот наплакал. Нужна большая память -- бери PIC18, для них указанных проблем просто нет. Хочешь быстро считать -- появились dsPIC30 -- они намного быстрее самого быстрого AVR'а.
OR> А потом - суммирования массивов в третий массив для pic18 (два OR> указателя) и AVR.
Здесь что-то я не понял, почему для PIC18 только 2 указателя? На PIC18:
Если PIC18 оставить только 2 указателя, то цикл увеличится на время обмена содержимого двух пар (8 циклов) и составит 14 циклов:
movf fsr0l,w ; 1 movff buf+0,fsr0l ; 2 movwf buf+0 ; 1 (и тоже для второго байта)
Насколько я понимаю для AVR это займёт 3 цикла (команды MOVW) и составит 13 циклов, выигрыш весьма небольшой.
OR> А потом найдём задачку, где надо 4 указателя и обольём OR> грязью и AVR, и PIC и скажем, что без MSP430 нет житья. И на всю жизнь OR> найдём себе развлечение - искать задачу, которую *наш* любимец OR> сделает, а чужой -- нет. А те задачи, где наоборот - обзовём нетипичными. OR> Эти все вещи - фигня, пока влазят и успевает. А если на пределе, OR> то для каждой архитектуры можно подобрать пример, когда она сможет, а OR> остальные - фиг.
Прошу прощения за вмешательство, но если в AVR есть свободный таймер с функцией сравнения, то почему бы для получения максимальной частоты "махания ногой" с чистым меандром не загрузить в регистр сравнения этого таймера 1 и вообще не отрывать процессор на тупую смену сигнала на одной ноге? Частота "махания" должна быть выше, чем программным методом.
GS> Таймеры заняты _другой_ полезной работой. И может потребоваться выдавать GS> несколько частот (для микроАТС, к примеру, типичны 25 и 425 Гц, в моей GS> последней разработке для телефонии ещё 4 кГц выдавалось, плюс ШИМ GS> от аппаратного таймера - скажи, у тебя есть 3 свободных таймера,
Уж не DTMF ли ШИМом генерил? У меня на 2х ножках и 2х таймерах получилось.
Я что-то подобное твоей задаче вначале сделал на 877м. Потом перешел на
18е - и вздохнул с облегчением. Попробуй - понравится ;-)
-- Rifkat < Team /Grave\ >
R
Rifkat Abdulin
GS>>> Будем спорить о семантических тонкостях, отличиях "банков" от GS>>> "страниц"? RA>> Тебе надо, ты и спорь. АП в 18х не пейджируется - именно это - RA>> страницы не относятся к RAM (Data memory).
GS> Затеваешь очередной семантический спор на тему "что есть адресное GS> пространство"? GS> До сих пор обсуждалось адресное пространство _памяти данных_. Ну и указал бы точно именно так. А то просто АП ;-) Просто в свете последней мерки кое чего это актуально ;-)
RA>> К Data memory относятся как раз банки.
GS> "Что и следовало доказать" (c)
;-)
H
Harry Zhurov
Sun, 11 Jul 2004 21:12:44 +0000 (UTC) Alexander Golov wrote to Oleksandr Redchuk:
[...]
OR>> á ÐÏÔÏÍ - ÓÕÍÍÉÒÏ×ÁÎÉÑ ÍÁÓÓÉ×Ï× × ÔÒÅÔÉÊ ÍÁÓÓÉ× ÄÌÑ pic18 (Ä×Á OR>> ÕËÁÚÁÔÅÌÑ) É AVR.