AVR vs PIC
Jun 20, 2004
Last reply: 22 years ago
988 Replies
Alexey, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?
óÕÂÂÏÔÁ éÀÌØ 10 2004 12:25, Alexey Boyko wrote to George Shepelev:DO>>>> ÷ pic ×ÓÅ ÁÄÒÅÓÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï - ÎÅÓËÏÌØËÏ ÓÏÔ ÂÁÊÔ. ÷ AVR DO>>>> _ÔÁËÏÇÏ_ ÔÏÌØËÏ 32. AB>>> ôÏÇÄÁ 32+64 = 48 ÂÁÊÔ. GS>> ï, ÁÌØÔÅÒÎÁÔÉ×ÎÁÑ ÍÁÔÅÍÁÔÉËÁ! ;-) AB> HÕ 96.
HÕ ;-)
AB>>> ÐÒÏÓÔÒÁÎÓÔ×Ï SFR ÉÍÅÅÔ ÎÁÂÏÒ ËÏÍÁÎÄ Ó 6-ÂÉÔÎÙÍ ÁÄÒÅÓÏÍ. GS>> ðÒÏÓÔÒÁÎÓÔ×Ï SFR - ÜÔÏ ÔÙ ÐÒÏ PIC? ôÏÇÄÁ ÏÔËÕÄÁ ×ÚÑÌÉÓØ 6-ÂÉÔÎÙÅ GS>> ÁÄÒÅÓÁ? éÓÐÏÌØÚÕÀÔÓÑ ×ÓÅ 8 ÂÉÔ ÒÅÇÉÓÔÒÁ SFR, ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ GS>> ÄÏÓÔÕÐÎÙ 256 ÒÅÇÉÓÔÒÏ×. AB> HÅÔ. üÔÏ Ñ ÐÒÏ AVR.
ë ÓÏÖÁÌÅÎÉÀ Ñ ÎÅ ÎÁۣÌ × ÄÏËÕÍÅÎÔÁÃÉÉ ÐÏ AVR ÓÏËÒÁÝÅÎÉÑ SFR. åÓÌÉ ÐÏ×ÅÒÉÔØ ÔÅÂÅ ÎÁ ÓÌÏ×Ï, ÐÏÌÕÞÁÅÔÓÑ, ÞÔÏ ÁÄÒÅÓÁÃÉÑ × AVR "ËÁÓÔÒÉÒÏ×ÁÎÎÁÑ", Ä×Á ÂÉÔÉËÁ ÁÄÒÅÓÁ ÒÁÚÒÁÂÏÔÞÉËÉ "ÐÏÞÉËÁÌÉ" ;)AB> ÐÏÄÒÏÂÎÏÓÔÅÊ ËÁÒÔÙ ÐÁÍÑÔÉ ðéëÁ Ñ ÎÅ ÚÎÁÀ.
÷ӣ ÅÓÔØ × ÄÏËÕÍÅÎÔÁÃÉÉ.GS>> ðÏËÁ ÞÔÏ ÆÌÅÊÍÉÛØ ÔÙ. AB> üÔÏ ÖÅ Ô×ÏÉ ÓÌÏ×Á ÐÒÏ "ÏÒÇÁÎÉÚÁÃÉÀ ÐÁÍÑÔÉ" ÂÙÌÉ?
é ÐÒÏ "ÖÏÎÇÌÉÒÏ×ÁÎÉÅ ÄÁÎÎÙÍÉ"? íÏÉ. ëÏÇÄÁ ÒÅÞØ ÉģÔ Ï ÞÔÅÎÉÉ É ÚÁÐÉÓÉ ÄÁÎÎÙÈ, ÏÞÅÎØ ÌÏÇÉÞÎÏ ÐÒÅÄÐÏÌÏÖÉÔØ, ÞÔÏ ÉÍÅÅÔÓÑ × ×ÉÄÕ ÐÁÍÑÔØ ÄÁÎÎÙÈ, ÎÅ ÔÁË ÌÉ? ;-)GS>> äÌÑ ÎÁÞÁÌÁ ÐÏÐÙÔÁÊÓÑ ×ÍÅÓÔÏ Ó×ÏÉÈ _ÄÏÍÙÓÌÏ×_ GS>> ÐÒÏ ×ÏÚÍÏÖÎÏÓÔÉ PIC'Ï× ÉÚÕÞÉÔØ _ÒÅÁÌØÎÕÀ_ ÄÏËÕÍÅÎÔÁÃÉÀ. þÔÏ GS>> ÈÁÒÁËÔÅÒÎÏ, ÎÅÄÏÓÔÁÔËÉ PIC'Ï×, ËÏÔÏÒÙÅ ÐÙÔÁÌÉÓØ ÏÚ×ÕÞÉÔØ GS>> "AVR-ÍÁÎÙ", ÂÙÌÉ ÏÓÎÏ×ÁÎÙ ÎÁ ÎÅÚÎÁÎÉÉ ÄÏËÕÍÅÎÔÁÃÉÉ... AB> HÕ Á ÔÙ ÐÏÞÉÔÁÊ ÐÒÏ AVR.
äÁ×ÎÏ.AB> åÓÔØ ÄÁÔÁÛÉÔÙ?
á ÏÔËÕÄÁ Ñ ÐÏ-Ô×ÏÅÍÕ ÃÉÆÒÙ ÐÏÔÒÅÂÌÅÎÉÑ ÂÅÒÕ? ;)AB> ñ ÎÁ PIC18 ÍÁÎÕÁÌ ÓËÁÞÁÌ.
õÍÎÉÃÁ. éÚÕÞÁÊ.çÅÏÒÇÉÊ
Oleksandr, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?
óÕÂÂÏÔÁ éÀÌØ 10 2004 18:29, Oleksandr Redchuk wrote to George Shepelev:÷Ï-ÐÅÒ×ÙÈ, ÎÅ ÐÏÓÔÏÑÎÎÏ, ÓÅÊÞÁÓ ÄÏÓÔÁ×ÁÔØ ÓÔÁÌÏ ÇÏÒÁÚÄÏ ÐÒÏÝÅ. ÷Ï-×ÔÏÒÙÈ, ÐÒÏÂÌÅÍÙ ÓÏ ÓÎÁÂÖÅÎÃÅÍ × ÌÀÂÏÍ ÓÌÕÞÁÅ ÎÉËÁË ÎÅ ÏÔÎÏÓÑÔÓÑ Ë ÁÒÈÉÔÅËÔÕÒÅ, ÓÉÓÔÅÍÅ ËÏÍÁÎÄ, ÉÌÉ ÄÒÕÇÉÍ ÏÓÏÂÅÎÎÏÓÔÑÍ ÜÈÏÔÁÖÎÙÈ ÐÒÏÃÅÓÓÏÒÏ×.
GS>> ðÒÉ ÇÒÁÍÏÔÎÏÍ ÎÁÐÉÓÁÎÉÉ ÐÒÏÇÒÁÍÍ ÒÁÂÏÔÁ Ó ÄÁÎÎÙÍÉ (× ÔÏÍ ÞÉÓÌÅ GS>> ÂÉÔÏ×ÙÍÉ ÍÁÓÓÉ×ÁÍÉ) ÂÕÄÅÔ ÏÞÅÎØ ÂÙÓÔÒÏÊ. OR> òÁÂÏÔÁ Ó ÂÉÔÏ×ÙÍÉ *ÍÁÓÓÉ×ÁÍÉ* ÂÕÄÅÔ ÏÄÉÎÁËÏ×Ï ÍÅÄÌÅÎÎÏÊ ËÁË ÎÁ OR> PIC, ÔÁË É ÎÁ AVR.
HÅÔ, ËÏÎÅÞÎÏ.
OR> ôÁË ËÁË Õ ÎÉÈ ÎÅÔ ËÏÓ×ÅÎÎÏÊ ÁÄÒÅÓÁÃÉÉ ÂÉÔÁ.
åÓÔØ ÄÏÓÔÁÔÏÞÎÙÅ ÄÌÑ _ÒÅÁÌØÎÙÈ_ ÃÅÌÅÊ ×ÏÚÍÏÖÎÏÓÔÉ ÁÄÒÅÓÁÃÉÉ ÂÉÔ. ðÏ _×ÓÅÍÕ_ ÁÄÒÅÓÎÏÍÕ ÐÒÏÓÔÒÁÎÓÔ×Õ ÄÁÎÎÙÈ. âÒÅÄÏ×ÙÊ ÓÉÛÎÙÊ ËÏÄ ÐÏÓËÉÐÁÎ.OR> ðÏÖÁÌÕÊÓÔÁ, ÐÒÉ×ÅÄÉ "ÏÞÅÎØ ÂÙÓÔÒÙÊ" ËÏÄ ÄÌÑ ÒÁÂÏÔÙ Ó "× ÔÏÍ ÞÉÓÌÅ OR> ÂÉÔÏ×ÙÍ ÍÁÓÓÉ×ÏÍ". äÁÎÏ: ÅÓÔØ ÍÁÓÓÉ× OR> seg bits OR> state: .ds 24
ëÔÏ ÓËÁÚÁÌ "ÓÉÛÎÙÊ ÍÁÓÓÉ×"? ìÉÞÎÏ Ñ - ÎÅ ÇÏ×ÏÒÉÌ.OR> ïÔËÕÄÁ-ÔÏ ÐÒÉÈÏÄÉÔ ÎÏÍÅÒ ËÁÎÁÌÁ i=0..23, × ËÏÔÏÒÏÍ ÉÚÍÅÎÉÌÏÓØ OR> ÓÏÓÔÏÑÎÉÅ, É ÐÒÉÚÎÁË 0 ÉÌÉ 1 ÎÏ×ÏÇÏ ÓÏÓÔÏÑÎÉÑ.
éÍÅÎÎÏ. åÓÔØ ÎÅËÉÅ "ËÁÎÁÌÙ" ÉÌÉ "ËÏÎÔÒÏÌÌÅÒÙ" ÉÌÉ ÄÒÕÇÉÅ "ÏÂßÅËÔÙ", ÈÁÒÁËÔÉÒÅÚÕÀÝÉÅÓÑ ÂÉÔÁÍÉ ÓÏÓÔÏÑÎÉÊ. HÅÓËÏÌØËÉÍÉ ÂÉÔÁÍÉ. ë ËÏÔÏÒÙÍ ÍÏÖÎÏ ÁÄÒÅÓÏ×ÁÔØÓÑ "ÓÉÍ×ÏÌÉÞÅÓËÉ":BTFSC Channel_45,BUSY ; ÐÒÏÐÕÓË ËÏÍÁÎÄÙ, ÅÓÌÉ ÆÌÁÖÏË BUSY ËÁÎÁÌÁ ÓÂÒÏÛÅÎ BST Channel_45,G_Short ; ÕÓÔÁÎÏ×ÉÔØ ÆÌÁÖÏË ËÏÒÏÔËÉÈ ÇÕÄËÏ×
OR> ðÏÔÏÍ ÉÚ ÄÒÕÇÏÇÏ ÍÅÓÔÁ ÐÒÉÈÏÄÉÔ ×ÏÐÒÏÓ "Á ËÁË ÔÁÍ ÄÅÌÁ Õ ËÁÎÁÌÁ j?", OR> ÎÁÄÏ ÏÔ×ÅÔÉÔØ. OR> HÁÐÉÛÉ ËÏÄ ÄÌÑ PIC16 (ÞÔÏ ÅÇÏ ÎÅÌØÚÑ ÓÄÅÌÁÔØ "ÏÞÅÎØ ÂÙÓÔÒÙÍ" ÎÉ ÄÌÑ OR> MCS51, ÎÉ ÄÌÑ AVR, ÎÉ ÄÌÑ MSP430 Ñ ÐÒÉÚÎÁÀ ÓÒÁÚÕ!)
ADDLW ChannelFlags ; ÁÄÒÅÓ Ë ÎÕÖÎÏÇÏ ÂÁÊÔÁ MOVWF FSR BTFSC INDF,status_x ; ÐÒÏ×ÅÒËÁ ÎÕÖÎÏÇÏ ÂÉÔÁ
ëÁË ÒÁÚ ÄÌÑ 51-ÇÏ ÓÅÍÅÊÓÔ×Á ÜÔÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÂÙÓÔÒÅÅ, _ÅÓÌÉ_ ×ÅÓØ ÂÉÔÏ×ÙÊ ÍÁÓÓÉ× ×ÌÁÚÉÔ × "ÂÉÔÏ×ÏÅ" ÁÄÒÅÓÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï.OR> á ÅÓÌÉ ÔÙ ÉÍÅÌ ××ÉÄÕ "ÍÁÓÓÕ ÂÉÔÏ×", Á ÎÅ "ÂÉÔÏ×ÙÊ ÍÁÓÓÉ×",
ñ ÉÍÅÌ × ×ÉÄÕ ÔÏ, ÞÔÏ ÓËÁÚÁÌ. åÓÌÉ ÔÅÂÅ ÓÔÁÎÅÔ ÏÔ ÜÔÏÇÏ ÐÒÏÝÅ, ÓÞÉÔÁÊ ÅÇÏ "Ä×ÕÍÅÒÎÙÍ" (ÎÏÍÅÒ ÂÁÊÔÁ, ÎÏÍÅÒ ÂÉÔÁ). ÷Ï ÍÎÏÇÉÈ ÐÒÁËÔÉÞÅÓËÉÈ ÚÁÄÁÞÁÈ ÔÁËÉÅ ÓÔÒÕËÔÕÒÙ ÉÓÐÏÌØÚÕÀÔÓÑ. òÅÁÌØÎÏ ÉÓÐÏÌØÚÕÀÔÓÑ.OR> çÄÅ ޣÔËÏÓÔØ ×ÙÒÁÖÅÎÉÑ ÍÙÓÌÉ, ÐÒÉÓÕÝÁÑ ×ÙÓÏËÏËÌÁÓÓÎÏÍÕ ÐÒÏÇÒÁÍÍÉÓÔÕ?
ñ ÎÅ ÜÎÃÉËÌÏÐÅÄÉÀ ÐÉÛÕ, É ÎÅ ËÎÉÖËÕ. âÅÓÐÒÉÞÉÎÎÏÅ ÃÅÐÌÑÎÉÅ Ë ÓÌÏ×ÁÍ - ÐÒÉÚÎÁË ÆÌÅÊÍÅÒÓÔ×Á.GS>> ïÔÏ-Ö. á Õ PIC'Á ÄÏÓÔÕÐÎÙ ×ÓÅ ÒÅÇÉÓÔÒÙ, ÏÐÔÉÍÉÚÁÃÉÑ ÚÁËÌÀÞÁÅÔÓÑ × GS>> ÇÒÁÍÏÔÎÏÍ "ÒÁÓÐÉÈÉ×ÁÎÉÉ" ÄÁÎÎÙÈ ÐÏ ÒÅÇÉÓÔÒÏ×ÙÍ ÂÁÎËÁÍ. OR> õÇÕ. ëÏÇÄÁ-ÔÏ ÇÏ×ÏÒÉÌÉ "× óóóò ÓÁÍÙÅ ÌÕÞÛÉÅ ÓÐÅÃÉÁÌÉÓÔÙ ÐÏ OR> ÏÐÅÒÉÒÏ×ÁÎÉÀ ÂÏÌØÛÉÈ ÏÐÕÈÏÌÅÊ, ÔÁË ËÁË × ÏÓÔÁÌØÎÏÍ ÍÉÒÅ ÎÁÕÞÉÌÉÓØ OR> ÄÉÁÇÎÏÓÔÉÒÏ×ÁÔØ ÎÁ ÜÔÁÐÅ, ËÏÇÄÁ ÏÐÕÈÏÌØ Åݣ ÍÁÌÅÎØËÁÑ É ÐÒÁËÔÉËÉ ÐÏ OR> ÂÏÌØÛÉÍ ÏÐÕÈÏÌÑÍ Õ ÎÉÈ ÎÅÔ". úÎÁÞÉÔ "× ÍÉÒÅ PIC ÓÁÍÙÅ ÌÕÞÛÉÅ OR> ÓÐÅÃÉÁÌÉÓÔÙ ÐÏ ÒÕÞÎÏÍÕ ÒÁÓÐÉÈÉ×ÁÎÉÀ ÐÅÒÅÍÅÎÎÙÈ ÐÏ ÐÁÍÑÔÉ" ?
åÓÌÉ ÞÅÌÏ×ÅË ÎÅ ÓÐÏÓÏÂÅÎ ÇÒÁÍÏÔÎÏ ÒÁÓÐÒÅÄÅÌÉÔØ ÐÅÒÅÍÅÎÎÙÅ ÐÏ Ä×ÕÍ-ÞÅÔÙңÍ ÂÁÎËÁÍ - ÓËÏÒÅÅ ×ÓÅÇÏ ÅÍÕ ÎÅ ÓÔÏÉÔ ÚÁÎÉÍÁÔØÓÑ ÜÈÏÔÁÖÎÙÍ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅÍ ;)OR> äÁ, Ñ ÓÁÍ ËÏÇÄÁ-ÔÏ ÁÄÒÅÓÁ ÄÌÑ ÍÕÌØÔÉÐÌÅËÓÏÒÁ CD4051 ÚÁףÌ ÎÁ ÔÒÉ OR> ÓÔÁÒÛÉÈ ÂÉÔÁ ÐÏÒÔÁ pic-Á, ÞÔÏÂÙ mowlw $20 / addwf PORTD,f ÐÅÒÅÊÔÉ Ë OR> ÓÌÅÄÕÀÝÅÍÕ ÁÄÒÅÓÕ. HÕ É ÞÔÏ, ÜÔÏ ÁÒÇÕÍÅÎÔ ÚÁ "pic forever" ?
éÚ ËÁËÏÇÏ ÐÁÌØÃÁ ÔÙ ×ÙÓÏÓÁÌ ÔÅÚÉÓ "pic forever"? ìÉÞÎÏ Ñ ÎÁ ÓÁÍÙÈ ÒÁÚÎÙÈ ËÏÎÔÒÏÌÌÅÒÁÈ ÚÁÄÁÞÉ ÒÅÛÁÀ. HÁ ÐÒÁËÔÉËÅ. é ÅÓÌÉ ÂÏÌØÛÉÎÓÔ×Ï ÚÁÄÁÞ ÌÕÞÛÅ ×ÓÅÇÏ ÌÏÖÉÔÓÑ ÎÁ PIC - ÜÔÏ ÐÒÁËÔÉÞÅÓËÉÊ ÁÒÇÕÍÅÎÔ, ×Ï ×ÓÑËÏÍ ÓÌÕÞÁÅ ÄÌÑ ÍÅÎÑ...OR> ëÁË-ÔÏ ÓÔÒÁÎÎÏ Õ ÔÅÂÑ ÚÁÝÉÔÁ ÐÉËÏ× ×ÙÈÏÄÉÔ. OR> "Á Õ ÐÉËÏ× ÄÏÓÔÕÐÎÁ ×ÓÑ ÐÁÍÑÔØ!"...
äÅÊÓÔ×ÉÔÅÌØÎÏ ÄÏÓÔÕÐÎÁ. óÉÓÔÅÍÁ ËÏÍÁÎÄ ÏÂÅÓÐÅÞÉ×ÁÅÔ _ÒÁ×ÎÏÃÅÎÎÙÊ_ ÄÏÓÔÕÐ Ë ÌÀÂÏÊ ÑÞÅÊËÅ, ËÁË ÂÁÊÔÕ ÄÁÎÎÙÈ, ÔÁË É Ë ÐÏÒÔÕ.OR> åÓÌÉ Õ ÐÉËÏ× É ÅÓÔØ ÐÒÅÉÍÕÝÅÓÔ×Á, ÔÏ ÎÅ ÔÁÍ ÔÙ ÉÈ ÐÏËÁÚÙ×ÁÅÛØ.
óËÏÒÅÅ ÄÏ ÔÅÂÑ ÐÒÏÓÔÏ ÎÅ ÄÏÈÏÄÉÔ ;)OR> *ëÁË* ÄÏÓÔÕÐÎÁ? ðÏÑÞÅÅÞÎÏ ÉÌÉ ÍÅÌËÉÍÉ ËÕÓËÁÍÉ.
ðÏ _ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÙÍ_ ÁÄÒÅÓÁÍ. âÅÚ ÌÉÛÎÅÇÏ "ÖÏÎÇÌÉÒÏ×ÁÎÉÑ" ÄÁÎÎÙÍÉ. ë ÐÒÉÍÅÒÕ, ÍÏÖÎÏ ÏÒÇÁÎÉÚÏ×ÁÔØ ÉÎËÒÅÍÅÎÔ ÉÌÉ "ÂÅÇÕÝÉÊ ÂÉÔ" ÎÁ ÌÀÂÏÍ ÐÏÒÔÕ PICÁ. üÔÏ ÄÏÓÔÁÔÏÞÎÏ ÔÉÐÉÞÎÙÅ ÚÁÄÁÞÉ.OR> á Ñ × 90s8515 ÚÁÐÒÏÓÔÏ ÓÄÅÌÁÌ 259-ÂÁÊÔÎÙÊ ÎÅÐÒÅÒÙ×ÎÙÊ ÂÕÆÅÒ OR> (ÔÉÐ+ÄÌÉÎÁ+ÄÏ 255 ÄÁÎÎÙÈ+crc16) ÄÌÑ ÐÒÉÎÉÍÁÅÍÙÈ ÐÁËÅÔÏ×. OR> óÄÅÌÁÊ ÜÔÏ × ÐÉËÅ16.
ôÙ ×ӣ-ÔÁËÉ ÎÅ×ÎÉÍÁÔÅÌØÎÏ ÞÉÔÁÅÛØ ÜÈÕ! ñ ÕÖÅ _ÎÅÏÄÎÏËÒÁÔÎÏ_ ÐÉÓÁÌ, ÞÔÏ × ÄÒÕÇÉÈ ËÏÎÔÒÏÌÌÅÒÁÈ ÂÅÚ ÏÓÏÂÏÇÏ ÔÒÕÄÁ ÍÏÖÎÏ ÎÁÊÔÉ ÆÉÞÉ, ËÏÔÏÒÙÅ ÔÒÕÄÎÏ ÒÅÁÌÉÚÏ×ÁÔØ × PIC'ÁÈ. ë ÐÒÉÍÅÒÕ "ÄÌÉÎÎÙÊ ÂÕÆÅÒ" ÎÁ PIC ÄÅÌÁÅÔÓÑ ÎÅ ÓÌÉÛËÏÍ ÁËËÕÒÁÔÎÏ, ÎÏ ÜÔÏ ÎÅ ÓÍÅÒÔÅÌØÎÏ...çÅÏÒÇÉÊ
Sun Jul 11 2004 18:33, Dima Orlov wrote to Yuriy K:
Vladislav Baliasov ÏËÁÚÁÌÓÑ ÐÒÁ×, Á ÖÁÌØ. :( Bye-bye.
WBR, àÒÉÊ.
Привет!
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:
label movf postinc0,w ; 1 \ addwf postinc1,w ; 1 | movwf postinc2 ; 1 | 6 decf cnt+0,f ; 1 | bnz label ; 2/1 / decf cnt+1,f ; 1 \ bra label ; 2/1 / 3
На AVR (если я, конечно что-то не упускаю в смысле убыстрения):
label ld r10,x+ ; 2 \ ld r11,y+ ; 2 | add r10,r11 ; 1 | 10 st z+,r10 ; 2 | dec r12 ; 1 | brne label ; 2/1 / dec r13 ; 1 \ brne label ; 2/1 / 3
Если 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> остальные - фиг.
Вот с этим однозначно согласен.
Hello, Yuriy!
óÕ éÀÌ 10 2004, Yuriy K ÐÉÓÁÌ Ë Alex Mogilnikov ÐÏ ÐÏ×ÏÄÕ "AVR vs PIC." YK> loop1: YK> out port, r16 ;1 YK> rjmp loop2 ;2 YK> loop2: YK> out port, r17 ;1 YK> rjmp loop1 ;2 HÕ ÞÅÇÏ ÓÞÉÔÁÔÅÌÉ ÂÉÔÏ×, ÄÏ ÞÅÇÏ ÄÏÓÞÉÔÁÌÉÓØ? ;) íÎÅ ÍÏÖÎÏ ÐÏÓÞÉÔÁÔØ? ñ ÐÒÁ×ÄÁ ÓÞÉÔÁÀ Ó ÐÒÉÓÔÒÁÓÔÉÅÍ, ÎÏ ÞÅÓÔÎÙÍÉ ÍÅÔÏÄÉËÁÍÉ. âÅÒÅÍ ÐÉË 16c620a - ÔÁËÔÏ×ÁÑ 40ÍÇà (ÚÁ×ÏÄÓËÏÊ ÐÒÅÄÅÌ) , ÃÅÎÁ ÂÁËÓ Ó ÞÅÍ-ÔÏ. ëÏÎÓÔÒÕËÃÉÑ ÎÁ ×ÙÄÁÞÕ ÍÅÁÎÄÒÁ (ÎÅÓËÏÌØËÉÈ ÍÅÁÎÄÒÏ× × ÐÒÏÔÉ×ÏÆÁÚÅ etc) ÚÁÊÍÅÔ (8+4)*2=24 ÔÁËÔÁ. 40/24=1.6666 õ attiny ÔÁËÔÏ×ÁÑ 8ÍÇà (ÚÁ×ÏÄÓËÏÊ ÐÒÅÄÅÌ). 8/6=1.3333 ëÕ ÉÌÉ ÎÅ ëÕ? ;) YK> WBR, àÒÉÊ. WBR! Maxim Polyanskiy.Добрый день.
[skip]
Прошу прощения за вмешательство, но если в AVR есть свободный таймер с функцией сравнения, то почему бы для получения максимальной частоты "махания ногой" с чистым меандром не загрузить в регистр сравнения этого таймера 1 и вообще не отрывать процессор на тупую смену сигнала на одной ноге? Частота "махания" должна быть выше, чем программным методом.
÷ÓÅÍ ÐÒÉ×ÅÔ.
îÁÄÅÀÓØ ÉÚÍÅÎÅÎÉÅ ÚÎÁÞÅÎÉÑ ûéíÁ Õ ÔÅÂÑ ÐÒÅÄÕÓÍÏÔÒÅÎÏ. éÌÉ ÐÒÉ ÜÔÏÍ ÐÒÏÇÒÁÍÍÁ ÎÅ ÐÒÅÒÙ×ÁÅÔÓÑ ? ôÁË ûéí É ÂÕÄÅÔ ÒÁÂÏÔÁÔØ. ôÏÌØËÏ ÉÎÏÇÄÁ ÐÒÏÇÒÁÍÍÎÙÊ ÍÅÁÎÄÒ ÂÕÄÅÔ ÎÅ ÍÅÁÎÄÒÏÍ :). áÒÔÅÍëáä
÷ÓÅÍ ÐÒÉ×ÅÔ.
í-ÄÁ... ðÏÈÏÖÅ Õ ×ÁÓ Ó áÔÍÅÌÏÍ ÔÁËÁÑ-ÖÅ ÓÉÔÕÁÃÉÑ ËÁË Õ ÎÁÓ Ó íÉËÒÏÞÉÐÏÍ. õ ÎÁÓ ÔÁËÁÑ ÃÅÎÁ ÔÏÌØËÏ ÎÁ ÒÏÚÎÉÃÕ... é ÄÁÖÅ ÈÕÖÅ :(. áÒÔÅÍëáä
÷ÓÅÍ ÐÒÉ×ÅÔ.
äÏÐ. ÏÂÏÒÕÄÏ×ÁÎÉÅ ÄÌÑ Á×ÔÏÍÏÂÉÌÑ... áÒÔÅÍëáä
÷ÓÅÍ ÐÒÉ×ÅÔ.
îÕ Ñ Ö ÎÅ ×ÉÎÏ×ÁÔ, ÞÔÏ Õ PIC-Á ÔÁËÁÑ ÄÕÒÎÁÑ ÓÉÓÔÅÍÁ ÐÒÅÒÙ×ÁÎÉÊ. é ÐÏÜÔÏÍÕ Õ ÔÅÂÑ ×ÅÓØÍÁ ÏÛÉÂÏÞÎÏÅ ÍÎÅÎÉÅ Ï ÔÁÊÍÅÒÁÈ... èÏÔÑ, ÎÁÓËÏÌØËÏ Ñ ÐÏÍÎÀ É Õ ðéëÁ ÐÏÔÅÒÑÔØ ÐÅÒÅÎÏÓ × 8-ÂÉÔÎÏÍ ÔÁÊÍÅÒÅ ÓÌÏÖÎÏ. é ÔÁÍ ÕËÁÚÁÎÁ ÍÁËÓÉÍÁÌØÎÁÑ ÞÁÓÔÏÔÁ ÒÁÂÏÔÙ ÜÔÏÇÏ ÔÁÊÍÅÒÁ? 8). ô.Å. DTMF ÔÙ ÐÒÅÄÌÁÇÁÅÛØ ÆÏÒÍÉÒÏ×ÁÔØ WDT... ïÒÉÇÉÎÁÌØÎÏÅ ÒÅÛÅÎÉÅ :). îÕ Ñ Ö ÎÅ ×ÉÎÏ×ÁÔ, ÞÔÏ Õ PIC16 ÎÅÔ ÔÁÂÌÉÞÎÙÈ ÆÕÎËÃÉÊ. èÏÔÑ, Ó ÔÅÂÑ ÓÔÁÎÅÔÓÑ ÆÏÒÍÉÒÏ×ÁÔØ DTMF ÐÒÑÍÏÕÇÏÌØÎÉËÁÍÉ. á × ÏÂÝÅÍ - × 60 ÓÌÏ× ÐÏ ÍÁËÓÉÍÕÍÕ ×ÌÁÚÉÔ. îÕ Ñ Ö ÎÅ ×ÉÎÏ×ÁÔ, ÞÔÏ Õ PIC-Á ÔÁËÁÑ ÄÕÒÎÁÑ ÓÉÓÔÅÍÁ ÐÒÅÒÙ×ÁÎÉÊ. :). áÒÔÅÍëáä
Vladislav, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?
÷ÏÓËÒÅÓÅÎØÅ éÀÌØ 11 2004 14:19, Vladislav Baliasov wrote to Yuriy K:YK>> ëÓÔÁÔÉ, äÉÍÁ, Õ ËÁËÏÇÏ ÐÉËÁ ÅÓÔØ _×ÎÕÔÒÅÎÎÉÊ_ RC ÇÅÎÅÒÁÔÏÒ, ÞÔÏÂÙ YK>> ×ÎÅÛÎÉÊ ÎÅ ÇÏÒÏÄÉÔØ? õ Á×ÒÏ× ÅÓÔØ, 1,2,4,8íçÃ. íÏÖÎÏ ÂÕÄÅÔ ÎÅ YK>> ÓÔÁ×ÉÔØ ÒÅÚÉÓÔÏÒ É ËÏÎÄÅÎÓÁÔÏÒ, ÓÔÏÌØ ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÐÉËÏ×. VB> Internal RC (ËÁÌÉÂÒÏ×ÁÎÎÙÊ) ÅÓÔØ Õ 12F6xx, Õ 16F62xA ÐÏÑ×ÉÌÓÑ (ÔÏÌØËÏ VB> ÎÅ ÐÏÍÎÀ, ËÁÌÉÂÒÏ×ÁÎÎÙÊ ÌÉ),
òÁÚ×Å Õ PIC'Ï× ÂÙÌÉ ÎÅËÁÌÉÂÒÏ×ÁÎÎÙÅ Internal RC ÇÅÎÅÒÁÔÏÒÙ? ëÓÔÁÔÉ, × 16F62xA ×ÓÔÒÏÅÎÎÙÊ ÇÅÎÅÒÁÔÏÒ ÎÅ ÔÏÌØËÏ ÍÎÏÇÏÒÅÖÉÍÎÙÊ, ÏÎ Åݣ É _ÐÒÅÃÉÚÉÏÎÎÙÊ_ (4íçà +- 1%). äÌÑ ÔÅÈ, ËÏÍÕ "ÍÁÌÏ×ÁÔÏ ÂÕÄÅÔ" ÅÓÔØ ×ÏÚÍÏÖÎÏÓÔØ ÉÓÐÏÌØÚÏ×ÁÔØ "ÎÏ×ÙÅ" PIC16F87/88/818/819, PIC18F1220/1320/2220/2320/4220/4320, × ÎÉÈ ×ÓÔÒÏÅÎÎÙÊ ÇÅÎÅÒÁÔÏÒ ÏÂÅÓÐÅÞÉ×ÁÅÔ ÞÁÓÔÏÔÙ: 8 íçÃ, 4 íçÃ, 2 íçÃ, 1 íçÃ, 500 ËçÃ, 250 ËçÃ, 125 ËçÃ É 31 ËçÃ."òÅÚÉÓÔÏÒ É ËÏÎÄÅÎÓÁÔÏÒ, ÓÔÏÌØ ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÐÉËÏ×" ÉÓÐÁÒÑÀÔÓÑ × ÁÌËÏÇÏÌØÎÙÈ ÐÁÒÁÈ, ÉÚ ËÏÔÏÒÙÈ ÏÎÉ ×ÏÚÎÉËÌÉ... ;-)
çÅÏÒÇÉÊGS> Таймеры заняты _другой_ полезной работой. И может потребоваться выдавать GS> несколько частот (для микроАТС, к примеру, типичны 25 и 425 Гц, в моей GS> последней разработке для телефонии ещё 4 кГц выдавалось, плюс ШИМ GS> от аппаратного таймера - скажи, у тебя есть 3 свободных таймера,
Уж не DTMF ли ШИМом генерил? У меня на 2х ножках и 2х таймерах получилось.
Я что-то подобное твоей задаче вначале сделал на 877м. Потом перешел на
18е - и вздохнул с облегчением. Попробуй - понравится ;-)-- Rifkat < Team /Grave\ >
GS>>> Будем спорить о семантических тонкостях, отличиях "банков" от GS>>> "страниц"? RA>> Тебе надо, ты и спорь. АП в 18х не пейджируется - именно это - RA>> страницы не относятся к RAM (Data memory).
GS> Затеваешь очередной семантический спор на тему "что есть адресное GS> пространство"? GS> До сих пор обсуждалось адресное пространство _памяти данных_. Ну и указал бы точно именно так. А то просто АП ;-) Просто в свете последней мерки кое чего это актуально ;-)
RA>> К Data memory относятся как раз банки.
GS> "Что и следовало доказать" (c)
;-)
Sun, 11 Jul 2004 21:12:44 +0000 (UTC) Alexander Golov wrote to Oleksandr Redchuk:
[...]OR>> á ÐÏÔÏÍ - ÓÕÍÍÉÒÏ×ÁÎÉÑ ÍÁÓÓÉ×Ï× × ÔÒÅÔÉÊ ÍÁÓÓÉ× ÄÌÑ pic18 (Ä×Á OR>> ÕËÁÚÁÔÅÌÑ) É AVR.
AG> úÄÅÓØ ÞÔÏ-ÔÏ Ñ ÎÅ ÐÏÎÑÌ, ÐÏÞÅÍÕ ÄÌÑ PIC18 ÔÏÌØËÏ 2 ÕËÁÚÁÔÅÌÑ? îÁ PIC18:
AG> label movf postinc0,w ; 1 \ AG> addwf postinc1,w ; 1 | AG> movwf postinc2 ; 1 | 6 AG> decf cnt+0,f ; 1 | AG> bnz label ; 2/1 / AG> decf cnt+1,f ; 1 \ AG> bra label ; 2/1 / 3
AG> îÁ AVR (ÅÓÌÉ Ñ, ËÏÎÅÞÎÏ ÞÔÏ-ÔÏ ÎÅ ÕÐÕÓËÁÀ × ÓÍÙÓÌÅ ÕÂÙÓÔÒÅÎÉÑ):
AG> label ld r10,x+ ; 2 \ AG> ld r11,y+ ; 2 | AG> add r10,r11 ; 1 | 10 AG> st z+,r10 ; 2 | AG> dec r12 ; 1 | AG> brne label ; 2/1 / AG> dec r13 ; 1 \ AG> brne label ; 2/1 / 3
label ld r10,x+ ; 2 ld r11,y+ ; 2 add r10,r11 ; 1 st z+,r10 ; 2 subi r30,low(...) ; 1 sbci r30,high(...) ; 1 brne label ; 2/1
Hi Alexey !
óÏ×ÓÅÍ ÎÅÄÁ×ÎÏ 10 Jul 04 12:07, Alexey Boyko ÐÉÓÁÌ Ë George Shepelev:AB> ÷ÏÔ ×ÏÔ. õ ÍÅÎÑ × ÍÕÌØÔÉÍÅÔÒÅ ÞÁÓÔÏÔÏÍÅÒ ÎÁ 400Mhz éÎÔÅÒÅÓÎÏ. þÔÏ ÚÁ ÐÒÉÂÏÒÞÉË É ÓËÏËÁ ÓÏÉÔ? é ËÁËÏ×Á ÔÏÞÎÏÓÔØ ÉÚÍÅÒÅÎÉÊ? HÅ "ÓËÏÌØËÏ ÃÉÆÒ ÎÁ ÜËÒÁÎÅ", Á "ÓËÏÌØËÏ ÚÎÁÞÁÝÉÈ ÃÉÆÒ ÎÁ ÜËÒÁÎÅ" ? éÌÉ ÔÁÍ ÅÝÅ É ÔÅÒÍÏÓÔÁÔ ÅÓÔØ? é ÐÏ×ÅÒÑÔØ ÎÁÓËÏÌØËÏ ÞÁÓÔÏ ÎÕÖÎÏ?
íÎÅ ËÏÇÄÁ ÐÏÎÁÄÏÂÉÌÁÓØ ÔÏÞÎÏÓÔØ ÉÚÍÅÒÅÎÉÑ ÉÎÔÅÒ×ÁÌÏ× ×ÒÅÍÅÎÉ ÎÁ ÕÒÏ×ÎÅ 3Å-7, ÔÏ Ñ ÎÅ ÓÒÁÚÕ ÎÁÛÅÌ ÐÏÄÈÏÄÑÝÉÊ ÁÐÐÁÒÁÔ. äÁ É ÔÏÔ ËÏÎÅÞÎÏ ËÁÌÉÂÒÏ×ÁÔØ ÐÒÉÛÌÏÓØ. óÐÁÓÉÂÏ, ÎÁ ÓÏÓÅÄÎÅÍ ÜÔÁÖÅ ÜÔÁÌÏÎ ÞÁÓÔÏÔÙ ÅÓÔØ (1Å-11).WBRgrds Ruslan
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required