AVR vs PIC
Jun 20, 2004
Last reply: 21 years ago
988 Replies
Maxim, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?
þÅÔ×ÅÒÇ éÀÌØ 15 2004 00:50, Maxim Polyanskiy wrote to George Shepelev:GS>> á ÄÁ×ÁÊ ÔÅÐÅÒØ ×ÏÚØͣÍ Scenix. PIC'Ï×ÓËÁÑ ÓÉÓÔÅÍÁ ËÏÍÁÎÄ, 100 GS>> íçÃ, 1 ÔÁËÔ ÎÁ ËÏÍÁÎÄÕ... 100/6 = 16,7 íçÃ. þÔÏ ÂÏÌØÛÅ, GS>> 16,7 ÉÌÉ 2,66? ;) MP> á ÓÁÍÏÅ ÔÏ ÇÌÁ×ÎÏÅ, ÞÔÏ × ÒÅÁÌØÎÙÈ ÚÁÄÁÞÁÈ ÔÁËÏÊ ÐÒÏÃÅÓÓÏÒ ËÁË ÐÒÁ×ÉÌÏ MP> ÎÁÆÉÇ ÎÅ ÎÕÖÅÎ. ;)
ï ÜÔÏÍ Ñ ÔÏÖÅ ÕÐÏÍÉÎÁÌ. HÏ ÅÓÌÉ ÕÖ ÍÅÒÑÔØÓÑ, ÔÁË ÐÏ ÐÏÌÎÏÊ ;-)çÅÏÒÇÉÊ
15-Jul-04 05:57 Harry Zhurov wrote to Oleksandr Redchuk:
AK>>> Не, два стека это такая фича для компилятора. С ними удобнее работать. AK>>> Причем AK>>> практически на любом чипе где такое возможно. GCC просто наследует AK>>> подход для х86-го. OR>> В общем да. В смысле gcc тоже не прав в некоторой мере, так как OR>> раздельные стеки данных и управления дают возможность делать OR>> некоторые вещи оптимальнее.
HZ> Ты имеешь в виду AVR или вообще? Если вообще, то не уточнишь, какие HZ> "некоторые вещи"? Вообще. Тот же IAR по -s9 очень эффективно делает глобальное по файлу выдёргивание похожих кусков в сгенерированные компилятором подпрограммы так лихо у меня как-то из нескольких функций, у которых были похожие локальные переменные и вызовы разных функций (read/write/verify) но с одинаковым в скобках - он всё формирование "кадра вызова" (запихивание в стек не влазящего в РОН аргумента в том числе) - оформил в виде отдельной процедурки. так вот так лихо -- в том числе благодаря отдельному стеку данных. Если бы call/ret дёргало стек данных, то у него бы это так хорошо не вышло
Что-то вызвать, не тронув вообще стек данных - это довольно удобно. И не только в форте :-)
wbr, p.s. другое дело, что два стека требуют двойного думанья про то, сколько выделить под стек... А переключение контекста -- одинаковое, для AVR хоть так, хоть так, а R29:R28 сохранять/восстанавливать.
15-Jul-04 12:49 Alexander Golov wrote to Andrew V. Miheev:
AVM>> Hа AVR, даже на 8-ми битном таймере никаких потерь нет и быть не может. AVM>> Любые задержки (на вход в прерывание и выполнение команд) вычисляются AVM>> после пуска таймера/счетчика внешних событий путем выполнения некоторого AVM>> кол-ва команд с нужным кол-вом тактов и чтения таймера.
AG> Каким образом можно вычислить задержку на вход прерывание, когда прерываться AG> могут 1...4 тактовые команды?
Неизвестная в общем случае задержка будет. Но связанная не с задержкой входа в прерывание. В данной задаче эта задержка и до лампочки. Важна не она (лишь бы инкрементировался старший байт, а мискросекундой раньше, микросекундой позже - неважно), а влияние самого прерывания - "сворованные" такты у основной программы.
Задача ведь стоит как - сделать частотомер на предельно дешёвом микроконтроллере. Для этого достаточно одного 16-битного аппаратного счётчика, временной интервал накопления импульсов отсекаем программно, 16-битный таймер считает сам, "всё путём".
Если таймер 8-битный+расширение в прерывании, то заранее неизвестно, сколько раз прерывание нарушит программное отсечение интервала (это зависит от входной частоты) и будет ошибка в отработке опорного временного интервала.
AVR с 16-битным таймером за $1 нет. Есть за не больше $3 (mega8 сейчас в Виакоме штучно уже вроде дешевле, tiny2313 и mega48 не считаю, я лично её ещё не видел, а меги8 валом).
Итого получаем удорожание частотомера на $2 + "лишний" прескалер (доводящий частоту счёта до 50-70MHz) не больше $0.4 + небольшое увеличение размера (и цены) платы (что там того SOIC-а), + за пайку придётся больше заплатить (лишние ноги меги+счётчик). В сумме удорожание не больше $3. На какой цене? Это серийный прибор?
Однако можно и поисхитряться :-) Потом можно ведь по значению софтового расширения можно посчитать сколько раз мы "удлиннили" время (длительность обработчика прерывания фиксирована) и пересчитать частоту.
Это "лобовой" метод.
Однако можно и подумать. Никаких вообще прерываний. Зачем они в *этой* задаче?
ldi r16, 1<<TOV0 ; заносим маску с 1 в бите переполнения timer0 clr r17 ; расширение счётчика out TCCR0,r17 ; останавливаем счётчик out TCNT0,r17 ; обнуляем счётчик. out TIFR0,r16 ; очищаем флаг переполнения счётчика, мало ли что ; там было ldi r24,low(count_time) ; count_time - время в микросекундах ldi r25,high(count_time) ldi r18,6 ; счётчик считает по фронтам clr r19 ; этим будем останавливать счётчик
out TCCR0,r18 ; запустили счётчик
loop: in r18,TIFR0 ; 1 sbrc r18,TOV0 ; 1/2 ; переполнился - out TIFR0,r16 ; 1/0 ; сбросили флаг sbrc r18,TOV0 ; 1/2 inc r17 ; 1/0 ; и увеличили старшую часть nop ; 1 ; подравниваем до 10 тактов sbiw r24,1 ; 2 brne loop ; 2 ; 1мкс цикл @ 10MHz
out TCCR0,r19 ; остановили счётчик
in r18,TIFR0 ; переполнение могло случится между последним sbrc r18,TOV0 ; in r18,... в цикле и остановкой счётчика inc r17
in r16,TCNT0 ; r17:r16 - число импульсов внешней частоты.
Всё. Задача посчитать в 16-битном счётчике число импульсов внешней частоты за программно отсечённый временной интервал при наличии всего лишь 8-битного аппаратного счётчика решена. Если надо не 16 бит, а 24 - добавляем ещё байт программного расширения и подравниваем ветви, хоть бы и так: sbrc r18,TOV0 ; 1/2 adiw r26,1 ; 2/0 sbrs r18,TOV0 ; 2/1 rjmp $+2 ; 0/2 Придётся ещё время цикла довести до удобного и count_time пересчитать.
Берём самый дешёвый устраивающий AVR и делаем частотомер. Если на 50MHz, то будет дороже pic-овского фактически на дополнительный
74ac161 (при 10MHz AVR) или 74ac4040 (при более медленном) и его площадь платы/пайку. Ну может ещё сам tiny12 будет дороже pic12f629. В сумме $1 может наберётся, может и нет.WBR,
15-Jul-04 10:51 Alexander Derazhne wrote to Oleksandr Redchuk:
OR>> Даёшь *((volatile unsigned short*)0177700) = 0; !
AD> Искуситель!!! :-)
OR>> равно не будет кусков программы, где надо сразу со всей периферией OR>> работать.
AD> Дык не хочется отдавать Y под это. И медленней будет - с косвенной-то AD> адресацией. Взамен я полагаю - выйдет сделать *четыре* регистровых пары. Т.е. заняв одну из них намертво - получим то, что сейчас.
AD> Не соглашусь. Придётся всё время играть базовым регистром, хочешь ты AD> этого или нет. Да и Y'ка жа-алко :-). Если быстродействия хватает, то В мелких программах (когда рабта почти столько с портами) - не жалко отдать указатель на постоянку. В мелких контроллерах -- всё влезет в одно окно. Потерать немножко быстродействия в работе с IO я не считаю страшным. Быстро ножками махать должна аппаратура.
AD> Да ладно с этими окнами! Зато можно будет написать class Timer и AD> передавать ему this ! :-))) И это в том числе. Если таймеры ещё сделать "однотипно" (ну я там говорил про размещение битов флагов и разрешений прерываний - вот у всех таймеров то, что у них одинаково -- должно быть на одинаоквых смещениях от базы и в одинаковых битах!) -- так это будет одно удовольствие. Сосбтвенно, биты IE и IF *всех* периферийных устройств должны в их CSR стоять на одинаковых местах :-)
wbr,
Добрый день.
А что, если возникает прерывание, то команда до конца не выполняется и прерывается на середине? Или в конце, после запрета прерываний трудно подсчитать их (прерываний) кол-во и скорректировать конечный результат? Или надо точно знать кол-во тактов до возникновения прерывания? Ответ лежит в стеке.
Или я вопрос не понял? Уж больно он простой... 8-)
Здравствуйте.
AK>>>> Чего ??? Ты хоть знаешь о чем говоришь ? GS>>> Значительно лучше тебя! GS>>> Изобрази выдачу двух противофазных меандров на ножках порта. GS>>> Вот соответствующий код для PIC. AK>> - Мальчик, как тебя зовут? AK>> - ... AK>> - Ты что, тормоз? AK>> - Меня зовут Эдик. AK>> - А фамилия? AK>> - Hет, не тормоз. GS> Понимаешь, я-ж не виноват, что ты тормоз...
Понимаешь, я привык аргументированно отвечать за свои слова. Ты же видимо не обучен.
GS>>> MOVLW 01b GS>>> MOVWF PORTx ; инициализация порта "противофазными" битами GS>>> MOVLW 11b ; модифицируемые биты GS>>> loop1: GS>>> XORWF PORTx,1 ; модификация с прямым доступом к порту GS>>> ; 1 цикл GS>>> GOTO loop1 ; 2 цикла AK>> А теперь давай по существу. GS> Даже не попытаешься сделать это-же на AVR? Такой ведь хороший GS> процессор, а не может сделать простенькую задачку...
Понятия не имею, что ты хочешь получить и зачем это нужно. Причем здесь "противофазные биты" ? Я всего лишь задал вопрос: почему область SRAM напрямую недоступна ?
AK>> Так бОльшая часть чего в AVR недоступна ? GS> Абсолютно все порты напрямую недоступны.
Смотри команды lds/sts. _Все_ порты отображены в адресную область внутренней SRAM. Все линейно и без дебильного переключения страниц.
GS> Область SRAM напрямую недоступна. GS> Работать с ними приходится через "игольное ушко" РОH.
В пике это ушко конечно же шире ? Давай, скажи это.
GS> Это давным-давно поняли все, кроме законченных тормозов. AK>> Что касается меандров - мне они абсолютно без надобности. GS> Любимый сюжет AVR-манов - "лиса и виноград" ;-)
Объясни, как это относится к предмету обсуждения ? Или у тебя автобредогенератор опять включился
RA>>>> У меня на 2х ножках и 2х таймерах получилось. GS>>> Ужас какой! 1 таймер, 1 ножка. Прекрасно формируется на 16F874. GS>>> При желании сэкономить берётся дешёвый 16F818. RA>> Угу. Покажи, как сделал? Особенно момент суммирования 2х частот ;-)
GS> А до этого места всё понятно? Очень хорошо, вот тебе с момента суммирования, GS> и до выдачи в регистры PWM. Только программка на макросах, впрочем,
Я так и думал. На ШИМе любой сделает. Только что делать, если он уже занят? Ты попробуй именно на 1й ноге и на 1м таймере ;-)
RA>>>> Я что-то подобное твоей задаче вначале сделал на 877м. Потом RA>>>> перешел RA>>>> на 18е - и вздохнул с облегчением. Попробуй - понравится ;-) GS>>> Мне _вполне_ хватает 16-го семейства. Опыт ;) RA>> Иди дальше.
GS> Hе раньше, чем у меня появятся задачи, нерешаемые на 16-м семействе. GS> За это время как раз окончательно "вылижут" глюки, встречавшиеся в первых GS> флэшевых контроллерах 18-го семейства...
Да их давно вылизали. Чего ждать? Поверь - переход с 16х на 18е произойдет очень быстро - у тебя весь код сильно упростится. Не недо щелкать банками/страницами, есть команды прямой адресации (movff), табличные операции и пр. Тем более ты на асме прогаешь. По ценам - мне просто непонятно, как на стоимости изделия в 100-200$ (продажной) сыграет разница в стоимости проца на 3-5$? Как вообще можно работать с уровнем рентабельности порядка процентов, чтобы при этом любое незначительное увеличение стоимости переводило рентабельность этого изделия в убыток? Еще надо учесть, что применение более совершенного проца в большинстве случаев упрощает схемотехнику - вот здесь и отыграть на разнице в цене проца можно. Ну а если изделие конкурентноспособно, т.е. заведомо более покупабельно, чем от других производителей, ну увеличь стоимость на 5$ - все равно будут брать - при нормальном маркетинге покупатель с радостью это воспримет - если правильно подать ("светодиод ярче стал светиться и пр ;-)")
Thu, 15 Jul 2004 22:13:47 +0000 (UTC) Oleksandr Redchuk wrote to "Harry Zhurov" snipped-for-privacy@online.nsk.su>:
[...]HZ>> ôÙ ÉÍÅÅÛØ × ×ÉÄÕ AVR ÉÌÉ ×ÏÏÂÝÅ? åÓÌÉ ×ÏÏÂÝÅ, ÔÏ ÎÅ ÕÔÏÞÎÉÛØ, ËÁËÉÅ HZ>> "ÎÅËÏÔÏÒÙÅ ×ÅÝÉ"? OR> ÷ÏÏÂÝÅ. OR> ôÏÔ ÖÅ IAR ÐÏ -s9 ÏÞÅÎØ ÜÆÆÅËÔÉ×ÎÏ ÄÅÌÁÅÔ ÇÌÏÂÁÌØÎÏÅ ÐÏ ÆÁÊÌÕ ×ÙģÒÇÉ×ÁÎÉÅ OR> ÐÏÈÏÖÉÈ ËÕÓËÏ× × ÓÇÅÎÅÒÉÒÏ×ÁÎÎÙÅ ËÏÍÐÉÌÑÔÏÒÏÍ ÐÏÄÐÒÏÇÒÁÍÍÙ OR> ÔÁË ÌÉÈÏ OR> Õ ÍÅÎÑ ËÁË-ÔÏ ÉÚ ÎÅÓËÏÌØËÉÈ ÆÕÎËÃÉÊ, Õ ËÏÔÏÒÙÈ ÂÙÌÉ ÐÏÈÏÖÉÅ OR> ÌÏËÁÌØÎÙÅ ÐÅÒÅÍÅÎÎÙÅ É ×ÙÚÏ×Ù ÒÁÚÎÙÈ ÆÕÎËÃÉÊ (read/write/verify) OR> ÎÏ Ó ÏÄÉÎÁËÏ×ÙÍ × ÓËÏÂËÁÈ - ÏÎ ×ӣ ÆÏÒÍÉÒÏ×ÁÎÉÅ "ËÁÄÒÁ ×ÙÚÏ×Á" OR> (ÚÁÐÉÈÉ×ÁÎÉÅ × ÓÔÅË ÎÅ ×ÌÁÚÑÝÅÇÏ × òïî ÁÒÇÕÍÅÎÔÁ × ÔÏÍ ÞÉÓÌÅ) - OR> ÏÆÏÒÍÉÌ × ×ÉÄÅ ÏÔÄÅÌØÎÏÊ ÐÒÏÃÅÄÕÒËÉ. OR> ÔÁË ×ÏÔ ÔÁË ÌÉÈÏ -- × ÔÏÍ ÞÉÓÌÅ ÂÌÁÇÏÄÁÒÑ ÏÔÄÅÌØÎÏÍÕ ÓÔÅËÕ ÄÁÎÎÙÈ. åÓÌÉ OR> ÂÙ call/ret ģÒÇÁÌÏ ÓÔÅË ÄÁÎÎÙÈ, ÔÏ Õ ÎÅÇÏ ÂÙ ÜÔÏ ÔÁË ÈÏÒÏÛÏ ÎÅ ×ÙÛÌÏ
ðÏÞÅÍÕ? ÷ÅÄØ × ËÁÖÄÏÍ ÓÌÕÞÁÅ ÓÔÅËÏ×ÙÊ ËÁÄÒ ÉÍÅÅÔ ÏÄÉÎÁËÏ×ÕÀ ÓÔÒÕËÔÕÒÕ, É ÒÁÚÎÉÃÁ ÌÉÛØ × ÔÏÍ, ÞÔÏ × ÔÏÍ ÍÅÓÔÅ, ÇÄÅ ÁÄÒÅÓ ×ÏÚ×ÒÁÔÁ, ÏÎ ÔÁÍ ÐÒÏÓÔÏ × ËÁÖÄÏÍ ÓÌÕÞÁÅ Ó×ÏÊ. îÏ ÓÔÒÕËÔÕÒÁ ËÁÄÒÁ ÐÒÉ ÜÔÏÍ ÎÅ ÎÁÒÕÛÁÅÔÓÑ - ×ÓÅ ÓÍÅÝÅÎÉÑ ÏÓÔÁÀÔÓÑ ÔÅÍÉ ÖÅ, ÐÏÜÔÏÍÕ É ËÏÄ ÒÁÂÏÔÙ Ó ÜÔÉÍ ËÁÄÒÏÍ ÏÓÔÁÅÔÓÑ ÔÁËÉÍ ÖÅ... éÌÉ Ñ ÞÅÇÏ-ÔÏ ÎÅÄÏÐÏÎÉÍÁÀ? þÔÏ ËÁÓÁÅÔÓÑ ÐÅÒÅËÌÀÞÅÎÉÊ ËÏÎÔÅËÓÔÏ×, ÔÏ ËÒÏÍÅ ÓÏÈÒÁÎÅÎÉÑ ÒÅÇÉÓÔÒÏ×ÏÊ ÐÁÒÙ (ËÏÔÏÒÁÑ, ËÁË ÔÙ ×ÅÒÎÏ ÚÁÍÅÔÉÌ, É ÔÁË ÅÓÔØ) ÎÁÌÉÞÅÓÔ×ÕÅÔ ÅÝÅ É ÐÅÒÅËÌÀÞÅÎÉÅ ×ÔÏÒÏÇÏ ÓÔÅËÁ. ëÏÄÁ ÔÕÔ ÎÅÍÎÏÇÏ, ÎÏ ×ÙÐÏÌÎÑÅÔÓÑ ÏÎ ÞÁÓÔÏ :( ÷ÔÏÒÁÑ ÎÅÐÒÉÑÔÎÏÓÔØ ÐÒÉ Ä×ÕÈ ÓÔÅËÁÈ - ÜÔÏ ÔÏ, ÞÔÏ ÏÎÉ × ÏÂÝÅÍ ÓÌÕÞÁÅ ÈÁ×ÁÀÔ ÂÏÌØÛÅ ïúõ. îÁÐÒÉÍÅÒ, ÅÓÔØ ÆÕÎËÃÉÑ, ËÏÔÏÒÁÑ ÉÍÅÅÔ ÍÎÏÇÏ ÌÏËÁÌØÎÙÈ ÏÂßÅËÔÏ× - ÅÊ ÎÕÖÅÎ ÂÏÌØÛÏÊ ÓÔÅË ÄÁÎÎÙÈ. é ÅÓÔØ ÄÒÕÇÁÑ ÆÕÎËÃÉÑ, Õ ËÏÔÏÒÏÊ ÄÁÎÎÙÈ ÐÏÍÅÎØÛÅ, ÎÏ ÉÚ ËÏÔÏÒÏÊ ×ÙÚÙ×ÁÅÔÓÑ ÍÎÏÇÏ ÄÒÕÇÉÈ ÆÕÎËÃÉÊ - ÅÊ, ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ, ÎÕÖÅÎ ÂÏÌØÛÏÊ ÓÔÅË ×ÏÚ×ÒÁÔÏ×. ëÏÇÄÁ ÓÔÅË ÏÄÉÎ, ÔÏ ÏÎ ÐÒÏÓÔÏ ÄÏÌÖÅÎ ÉÍÅÔØ ÒÁÚÍÅÒ ÄÏÓÔÁÔÏÞÎÙÊ ÄÌÑ ÐÏÔÒÅÂÎÏÓÔÅÊ ÌÀÂÏÊ ÉÚ ÎÉÈ - ÏÄÎÁ ÀÚÁÅÔ ÅÇÏ ÐÏÄ ÄÁÎÎÙÅ, ÄÒÕÇÁÑ - ÐÏÄ ÁÄÒÅÓÁ ×ÏÚ×ÒÁÔÏ×. ÷ ÓÌÕÞÁÅ ÒÁÚÄÅÌØÎÙÈ ÓÔÅËÏ× ËÁÖÄÙÊ ÉÚ ÎÉÈ ÄÏÌÖÅÎ ÂÙÔØ ÄÏÓÔÁÔÏÞÎÙÍ É × ËÁÖÄÏÍ ÉÚ ÕÐÏÍÑÎÕÔÙÈ ÓÌÕÞÁÅ× ÏÄÉÎ ÉÚ ÓÔÅËÏ× ÂÕÄÅÔ "ÐÒÏÓÔÁÉ×ÁÔØ", Á ÓÕÍÍÁÒÎÙÊ ÉÈ ÒÁÚÍÅÒ ÂÕÄÅÔ ÂÏÌØÛÅ, ÞÅÍ × ÓÌÕÞÁÅ ÏÄÎÏÇÏ ÓÔÅËÁ. é ÓÉÔÕÁÃÉÑ ÚÎÁÞÉÔÅÌØÎÏ ÕÓÕÇÕÂÌÑÅÔÓÑ, ËÏÇÄÁ ÎÕÖÎÏ ÉÍÅÔØ ÎÅÓËÏÌØËÏ ÓÔÅËÏ× (ÐÁÒ ÓÔÅËÏ×).Hello, Rifkat Abdulin !
ðÒÏÄÁÖÎÁÑ $100 ÏÚÎÁÞÁÅÔ × ÌÕÞÛÅÍ ÓÌÕÞÁÅ ÓÅÂÅÓÔÏÉÍÏÓÔØ × $50, ÉÚ ËÏÔÏÒÏÊ BOM × ÓÒÅÄÎÅÍ $40, ÉÌÉ ÍÅÎØÛÅ.
HÉËÁË. ïÎÁ ÓÙÇÒÁÅÔ ÎÁ ÐÏÌÕÞÅÎÎÏÊ ÐÒÉÂÙÌÉ ÅÓÌÉ ËÏÎÅÞÎÏ ÜÔÏ ×ÙÓÏËÏÔÉÒÁÖÎÏÅ ÉÚÄÅÌÉÅ. åÓÌÉ ÎÅÔ, ÔÏ ÕÄÅÛÅ×ÌÅÎÉÅ ÒÁÚÒÁÂÏÔËÉ ÍÏÖÅÔ ÌÅÇËÏ ÐÏËÒÙÔØ ÎÅ ÔÏÌØËÏ ÄÅÌØÔÕ × $5 ÎÏ É ËÕÄÁ ÂÏÌØÛÅ.
ôÑÖÅÌÏ ÔÁË ÒÁÂÏÔÁÔØ... ïÞÅÎØ ÔÑÖÅÌÏ.ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.
Hello, Artem Kamburov !
HÁÐÒÉÍÅÒ? þÔÏ-ÔÏ ÎÉÞÅÇÏ ÔÁËÏÇÏ Ñ ÎÅ ÐÏÍÎÀ.
ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.
÷ÓÅÍ ÐÒÉ×ÅÔ.
äÁ × ÐÒÉÎÃÉÐÅ ÎÅ ÓÌÏÖÎÏ. óÏÚÄÁÔØ ÏÄÎÏÚÎÁÞÎÙÅ ÕÓÌÏ×ÉÑ ÄÌÑ ÑÄÒÁ - ÚÁÐÕÓÔÉÔØ ÔÁÊÍÅÒ É ÚÁÇÎÁÔØ ÞÉÐ × Idle :). áÒÔÅÍëáä
÷ÓÅÍ ÐÒÉ×ÅÔ.
ïÎ ÕÍÅÅÔ ÄÅÌÁÔØ ×ÓÅ, ÞÔÏ ÄÅÌÁÅÔ 16-ÂÉÔÎÙÊ ðéëÏ×ÓËÉÊ ÔÁÊÍÅÒ É ÐÌÀÓ ÍÎÏÇÏ ÞÅÇÏ, ÞÔÏ ðéëÏ×ÓËÁÑ 16-ÂÉÔËÁ ÎÅ ÕÍÅÅÔ...
"ðÏÄ ÌÅÖÁÞÉÊ ËÁÍÅÎØ ×ÏÄÁ ÎÅ ÔÅÞÅÔ"
äÙË ÅÓÌÉ ÄÏÐÕÓÔÉÍÁ ÏÓÔÁÎÏ×ËÁ ÔÁÊÍÅÒÁ, ÔÏ ÒÁÚÎÉÃÙ ÍÅÖÄÕ 8-É ÂÉÔÎÙÍ É 16-É ÂÉÔÎÙÍ ÔÁÊÍÅÒÁÍÉ ÎÅÔ. ôÁÍ ÐÏÞÔÉ ÎÁ×ÅÒÎÑËÁ ÅÓÔØ Á×ÔÏ×ÙÂÏÒ ÄÉÁÐÁÚÏÎÁ ÉÚÍÅÒÑÅÍÏÊ ÞÁÓÔÏÔÙ. ô.Å. ÅÓÌÉ ÚÁ 1 ÍÓ ÓÏÂÙÔÉÊ ÍÁÌÏ, ÐÒÏÄÏÌÖÁÀÔ ÄÏ 10ÍÓ, ÅÓÌÉ ×ÓÅ ÅÝÅ ÍÁÌÏ - ÄÏ 100... é ÎÉËÁËÉÈ ÏÓÔÁÎÏ×ÏË..........^^^^^^^^^^^^^
"óÐÏÓÏÂ"...
Reading the 16-bit value requires some care. Examples 12-2 and 12-3 in the PICmicroT Mid-Range MCU Family Reference Manual (DS33023) show how to read and write Timer1 when it is running in Asynchronous mode.
èÏÔØ ÄÏËÕÍÅÎÔÁÛËÕ ÎÁ ðéëÉ ÞÉÔÁÊ ×ÎÉÍÁÔÅÌØÎÏ... óÁÍÏ ÓÏÂÏÊ × ÐÒÅÒÙ×ÁÎÉÉ ÐÏ ÐÅÒÅÐÏÌÎÅÎÉÀ. îÏ ÅÓÌÉ ÔÙ ÂÕÄÅÛØ ÞÉÔÁÔØ ÚÎÁÞÅÎÉÅ ÔÁÊÍÅÒÁ ÉÚ ÄÒÕÇÏÇÏ ÐÒÅÒÙ×ÁÎÉÑ, Á ÎÅ ÉÚ ÏÓÎÏ×ÎÏÇ ÃÉËÌÁ ÐÒÏÇÒÁÍÍÙ, ËÏÄ ÂÕÄÅÔ ÎÅÍÎÏÇÏ ÏÔÌÉÞÁÔØÓÑ. ñ ÔÅÂÅ ÏÄÉÎ ÓÐÏÓÏ ÕÖÅ ÐÒÉ×ÅÌ. á ×ÏÔ ÔÙ ÎÅ ÕÍÅÅÛØ Ô.Ë. Õ ÔÅÂÑ ÅÄÉÎÓÔ×ÅÎÎÙÊ ÓÐÏÓÏ ËÏÒÒÅËÔÎÏ ÐÒÏÞÉÔÁÔØ ÔÁÊÍÅÒ ÜÔÏ ÅÇÏ ÏÓÔÁÎÏ×ÉÔØ. ëÓÔÁÔÉ, ÇÌÕÐÙÊ ÔÙ ÓÐÏÓÏ ×ÙÂÒÁÌ ÍÅÒÑÔØ ÞÁÓÔÏÔÕ - Õ ÔÅÂÑ ×ÅÄØ ÒÁÂÏÔÁÅÔ ÞÉÐ ÎÁ ËÏÔÏÒÏÍ ÌÅÇËÏ ÍÏÖÎÏ ÄÅÌÉÔØ! á Ô×ÏÊ ÓÐÏÓÏ ÐÒÏÓÔÏ ÐÅÒÅÎÅÓÅÎ Ó ÞÁÓÔÏÔÏÍÅÒÏ× Á-ÌÑ ÖÕÒÎÁÌ òÁÄÉÏ Õ ËÏÔÏÒÙÈ ÂÙÌÁ ÖÅÌÅÚÎÁÑ ÌÏÇÉËÁ. îÕ ×ÏÔ, ÐÏÓÍÏÔÒÅÌ × ÄÏËÅ ÎÁ 12ó629_675. ôÁÂÌÉÃÁ 12-5, ÐÁÒÁÍÅÔÒ ?47 T1CKI Input Period: × ÁÓÓÉÎÈÒÏÎÎÏÍ ÒÅÖÉÍÅ ÐÅÒÉÏÄ ×ÈÏÄÎÏÇÏ ×ÎÅÛÎÅÇÏ ÓÉÇÎÁÌÁ ËÁË ÍÉÎÉÍÕÍ 60ns. 17íçà :(... é ÇÄÅ ÜÔÉ ×ÙÓÏËÉÅ ×ÈÏÄÎÙÅ ÞÁÓÔÏÔÙ ÔÁÊÍÅÒÁ? ðÅÒ×ÏÅ, ÞÔÏ ÐÒÉÛÌÏ × ÇÏÌÏ×Õ - ÓÔÁÒÙÅ ÓÏ×ÅÔÓËÉÅ ÷þ ÄÅÌÉÔÅÌÉ 193ðã ÉÌÉ 193éå :). áÒÔÅÍëáäHello Harry.
15 Jul 04 17:14, you wrote to me:HZ>>> [2] ëÏÇÄÁ ÅÓÔØ ÌÏËÁÌØÎÙÅ ÐÅÒÅÍÅÎÎÙÅ, ÏÂßÑ×ÌÅÎÎÙÅ ËÁË HZ>>> volatile. AB>> á ÜÔÏ ÚÁÞÅÍ? þÔÏ ÜÔÏ ÏÚÎÁÞÁÅÔ? HZ> HÅ ÍÏÇÕ ÐÏ×ÅÒÉÔØ, ÞÔÏ ÔÙ ÎÅ ÚÎÁÅÛØ ÔÁËÉÈ ×ÅÝÅÊ... :)
HÕ ÔÁË ÏÂßÑÓÎÉ, ÞÔÏ ÏÚÎÁÞÁÅÔ volatile ÌÏËÁÌØÎÁÑ ÐÅÒÅÍÅÎÎÁÑ. ÷ÅÒÎÅÅ, ÚÁÞÅÍ?
AB>> ñ ÐÏÎÑÌ. õ ÍÅÎÑ × ÏÓÎÏ×ÎÏÍ ÎÉÚËÏÕÒÏ×ÎÅ×ÙÊ ÓÔÉÌØ ÐÒÏÇÒÁÍÍ. ñ ÎÁ AB>> ÂÏÌØÛÉÅ ÌÑÐÙ gcc ÎÅ ÎÁÓÔÕÐÁÀ. HZ> þÔÏ, ×ÏÏÂÝÅ ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÓÔÅËÁ × ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× HZ> ÏÂÈÏÄÉÛØÓÑ? :)
HÕ, ÂÏÌØÛÉÎÓÔ×Ï ÆÕÎËÃÉÊ - ÏÂÈÏÄÑÔÓÑ ÂÅÚ ÓÔÅËÁ.
Alexey
Hello George.
16 Jul 04 00:53, you wrote to me:AB>> ôÙ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÎÅ ÐÏÎÑÌ? GS> þÔÏ _ÉÍÅÎÎÏ_ ÔÙ ÈÏÔÅÌ ÓËÁÚÁÔØ? äÅÊÓÔ×ÉÔÅÌØÎÏ ÎÅ ÐÏÎÑÌ. ÷ ÍϣÍ GS> ÐÏÎÉÍÁÎÉÉ (ËÁË É × ÄÏËÕÍÅÎÔÁÃÉÉ ÆÉÒÍÙ Atmel) ÒÅÇÉÓÔÒÙ ÐÅÒÉÆÅÒÉÉ ÍÏÇÕÔ GS> ÚÁÎÉÍÁÔØ ÁÄÒÅÓÁ ÏÔ 20h ÄÏ FFh. áÄÒÅÓÏ×ÁÔØÓÑ Ë ÎÉÍ ×ÓÅÍ 6-ÔÉ ÂÉÔÎÙÍ GS> ÁÄÒÅÓÏÍ ÎÅ×ÏÚÍÏÖÎÏ.
á Ë ÄÉÁÐÁÚÏÎÕ 20-5F - ÍÏÖÎÏ. äÏ FF ÐÅÒÉÆÅÒÉÑ ÔÏÌØËÏ Õ mega64/128AB>> ôÙ ËÁËÏÊ-ÔÏ ÎÅÐÒÁ×ÉÌØÎÙÊ. äÌÑ ×ÓÅÈ ÞÅÍ ÌÉÎÅÊÎÅÅ ÐÁÍÑÔØ - ÔÅÍ AB>> ÌÕÞÛÅ. GS> ëÏÎÅÞÎÏ ÌÕÞÛÅ. ôÏÌØËÏ ËÏÍÕ ÎÕÖÎÁ ÌÉÎÅÊÎÏÓÔØ "ÄÌÑ ÇÁÌÏÞËÉ"? þÕÔÏÞËÕ GS> "ÌÉÎÅÊÎÏÊ" ÐÁÍÑÔÉ ÔÕÔ, ÞÕÔÏÞËÕ ÔÁÍ,
÷ÓÑ ÌÉÎÅÊÎÁÑ. Ó ÁÄÒÅÓÏÍ ÏÔ 0x0000 ÄÏ 0xFFFFGS> ÄÌÑ ÎÅËÏÔÏÒÙÈ "ÒÅÇÉÓÔÒÏ× ÐÅÒÉÆÅÒÉÉ" ÓÄÅÌÁÅÍ ÓÐÅÃÉÁÌØÎÙÅ ÁÄÒÅÓÁ GS> ÞÔÅÎÉÑ/ÚÁÐÉÓÉ,
üÔÏ ÌÉÎÅÊÎÏÓÔØ ÎÅ ÎÁÒÕÛÁÅÔ.GS> Á ÏÓÔÁÌØÎÙÅ É ÔÁË ÐÅÒÅÂØÀÔÓÑ.
ëÔÏ ÏÓÔÁÌØÎÙÅ?GS> üÔÏ ÐÏ-Ô×ÏÅÍÕ ÌÉÎÅÊÎÁÑ ÐÁÍÑÔØ,
äÁ. á ÞÔÏ ÐÏ Ô×ÏÅÍÕ ÌÉÎÅÊÎÁÑ ÐÁÍÑÔØ?AB>> atmega128 ÐÒÉ ÕÓÔÁÎÏ×ËÅ Fuse, ×ÏÏÂÝÅ ÎÅ ÏÔÌÉÞÉÍÁ ÏÔ atmega103 GS> á ÏÔ mega8/16/162 É ÔÁË ÄÁÌÅÅ, É ÔÁË ÄÁÌÅÅ?..
âÉÎÁÒÎÏÊ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ - × ÏÂÝÅÍ ÓÌÕÞÁÅ ÎÅÔ, ÏÎÁ ÒÅÄËÏ ÎÕÖÎÁ. åÓÔØ ÎÁÂÏÒ ÐÅÒÉÆÅÒÉÉ, × ÒÁÚÎÙÈ ËÒÉÓÔÁÌÌÁÈ ÒÁÚÎÏÅ ÐÏÄÍÎÏÖÅÓÔ×Ï ÜÔÏÇÏ ÎÁÂÏÒÁ. ëÁËÁÑ ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÔÅÂÅ ÎÕÖÎÁ? ðÒÏÂÌÅÍÁ Ó ÓÏ×ÍÅÓÔÉÍÏÓÔØÀ ÂÙÌÁ ÔÏÌØËÏ ÐÒÉ ÐÅÒÅÈÏÄÅ ÏÔ ÓÔÁÒÙÈ ÞÉÐÏ× AT90Sxxxx, ÎÁ ÎÏ×ÙÅ attiny/atmega, ÓÅÊÞÁÓ ÎÁ ×ÓÅÈ ÍÅÇÁÈ ÍÏÄÕÌÉ ÐÅÒÉÆÅÒÉÉ ÏÄÉÎÁËÏ×Ù, ÔÏÌØËÏ ÎÁÂÏÒ ÒÁÚÎÙÊ.AB>> ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ É ÔÁË È×ÁÔÁÅÔ. GS> ëÔÏ ÓËÁÚÁÌ?
ñ.GS>>> äÁÖÅ ÄÒÅ×ÎÅÅ 51-Å ÓÅÍÅÊÓÔ×Ï ÓÍÏÔÒÉÔÓÑ ËÕÄÁ ÜÌÅÇÁÎÔÎÅÅ... AB>> HÕ ÜÔÏ ÔÙ ËÒÕÔÏ ÐÏÇÎÁÌ. GS> HÉÞÕÔØ! ëÏÄ ÐÏÌÕÞÁÅÔÓÑ ÏÄÎÏÒÏÄÎÙÊ É ÎÁÇÌÑÄÎÙÊ, ÅÓÔØ ÎÁÂÏÒ ÂÉÔÏ×ÙÈ GS> ËÏÍÁÎÄ, ÛÉÒÅ ÄÉÁÐÁÚÏÎ ËÏÓ×ÅÎÎÏÊ ÁÄÒÅÓÁÃÉÉ Ó "ÌÉÎÅÊÎÙÍ" ÁÄÒÅÓÏÍ, GS> ÇÉÂËÁÑ ÓÉÓÔÅÍÁ ÐÒÅÒÙ×ÁÎÉÊ.
òÁÚ×Å ÞÔÏ ÓÉÓÔÅÍÁ ÐÒÅÒÙ×ÁÎÉÊ.AB>>>> ðÏËÁ ÞÔÏ, ËÒÏÍÅ ×ÏÚÍÏÖÎÏÓÔÉ ÐÒÉÃÅÐÉÔØ Ä×Á Input Capture ÎÁ ÏÄÉÎ AB>>>> ÔÁÊÍÅÒ ÎÉÞÅÇÏ ÐÒÅ×ÏÓÈÏÄÎÏÇÏ ÎÅ ÎÁÛÅÌ. GS>>> ïÞÅÎØ ÐÌÏÈÏ ÓÍÏÔÒÅÌ. AB>> á ÍÎÅ ÂÏÌØÛÅ É ÎÅ ÎÕÖÎÏ. GS> äÏ×ÏÌØÎÏ ÐÒÅÄ×ÚÑÔÙÊ ÐÏÄÈÏÄ ;)
HÕ ÄÁ. ñ ×ÅÄØ ÄÌÑ Ó×ÏÅÊ ÚÁÄÁÞÉ ËÏÎÔÒÏÌÌÅÒ ×ÙÂÉÒÁÀ. á ËÁË ÎÁÄÏ?
Alexey
Hello George.
16 Jul 04 00:55, you wrote to me:GS>>> õ AVR - ÃÅÎÏÊ ÐÅÒÅÔÁÓËÉ×ÁÎÉÑ ×ÓÅÈ ÄÁÎÎÙÈ ÞÅÒÅÚ ÉÇÏÌØÎÏÅ ÕÛËÏ GS>>> òïHÏ×. AB>> HÅ ×ÓÅÈ. GS> ÷ÓÅÈ ÐÏÒÔÏ×. é ×ÓÅÈ ÒÅÇÉÓÔÒÏ×, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ 32.
á ÔÙ ÐÏÐÒÏÂÕÊ. É ÐÏÊÍÅÛØ, ÞÔÏ × ÐÅÒÅÔÁÓËÉ×ÁÔØ ÐÒÉÄÅÔÓÑ × ÏÓÎÏ×ÎÏÍ ÔÁÂÌÉÃÙ. òÁÂÏÞÉÅ ÄÁÎÎÙÅ, ÂÕÄÕÔ × ÒÅÇÉÓÔÒÁÈ.GS>>> íÅÄÌÅÎÎÏ ÜÔÏ. AB>> á ÒÅÁÌØÎÏ - ÂÙÓÔÒÅÅ ÞÅÍ × ðéëÅ. GS> þÕÛØ ÓÏÂÁÞØÑ. ðÏÇÌÑÄÉ ÎÁ ÔÁËÔÏ×ÙÅ ÞÁÓÔÏÔÙ 18-ÇÏ ÓÅÍÅÊÓÔ×Á PIC.
ïÎÉ ×ÓÅ ÎÁ 40MHz? íÙ ÄÁÖÅ Ë×ÁÒÃÙ ÔÁËÉÅ ÎÅ ÐÏËÕÐÁÅÍ. è×ÁÔÁÅÔ ÎÁ 3.6864/7.3728/8/16GS> ëÓÔÁÔÉ, ÄÌÑ ÌÀÂÉÔÅÌÅÊ "Ó×ÅÒÈÚ×ÕËÁ" ÅÓÔØ scenix ;-)
é ÇÄÅ ÏÎ ÔÅÐÅÒØ. HÉËÏÇÏ ÎÅ ÐÒÅÌØÓÔÉÌÁ ÐÒÏÇÒÁÍÍÎÁÑ ÐÅÒÉÆÅÒÉÑ.AB>>>> èÏÞÅÛØ ÏÐÔÉÍÁÌØÎÅÅ - ÉÓÐÏÌØÚÕÅÛØ ÄÒÕÇÉÅ ËÏÍÁÎÄÙ. GS>>> ÷ ËÏÍÐÌÅËÔÅ ÉģÔ ×ÏÚÍÏÖÎÏÓÔØ ÎÁÒ×ÁÔØÓÑ ÎÁ ÇÌÀË. AB>> HÅÔ, ÎÅ ÉÄÅÔ. GS> áÈ, ÄÁ, ËÏÎÅÞÎÏ, ÔÙ-Ö ÏÔÎÏÓÉÛØÓÑ Ë ÔÅÍ, ËÔÏ ÎÉËÏÇÄÁ ÎÅ ÏÛÉÂÁÅÔÓÑ ;)
HÁ ÜÔÏÔ ÇÌÀË Ñ ÎÅ ÎÁÒÙ×ÁÌÓÑ.
GS> ôÏÌËÕ-ÔÏ Ó ÜÔÏÇÏ ÕÍÅÎÉÑ, ÅÓÌÉ ÄÁÎÎÙÅ ÎÉËÁË ÎÅ ÐÏÍÅÝÁÀÔÓÑ × ËÕÃÙÊ GS> ÎÁÂÏÒ òïH, ÎÏ ×ÅÌÉËÏÌÅÐÎÏ ×ÌÁÚÑÔ × ÂÁÎË ÒÅÇÉÓÔÒÏ× ;)
HÅ ×ÅÞÎÏ ÖÅ ÎÁ ðéëÅ ÓÉÄÅÔØ.
GS> éÎ×ÅÒÓÉÑ É ÏÞÉÓÔËÁ ÒÅÇÉÓÔÒÁ, ÉÎËÒÅÍÅÎÔ/ÄÅËÒÅÍÅÎÔ (× ÔÏÍ ÞÉÓÌÅ Ó GS> ÕÓÌÏ×ÎÙÍ ÐÒÏÐÕÓËÏÍ ËÏÍÁÎÄÙ, ÞÔÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ ÏÒÇÁÎÉÚÁÃÉÉ GS> ÃÉËÌÏ×), ×ÓÅ ÂÉÔÏ×ÙÅ ÏÐÅÒÁÃÉÉ (ÏÐÑÔØ ÖÅ Ó ×ÏÚÍÏÖÎÏÓÔØÀ ÕÓÌÏ×ÎÏÇÏ GS> ÐÒÏÐÕÓËÁ ËÏÍÁÎÄÙ), ÓÄ×ÉÇÉ, ÏÂÍÅÎ ÎÉÂÂÌÁÍÉ - ×ÙÐÏÌÎÑÀÔÓÑ ÎÁÄ _ÌÀÂÙÍ_ GS> ÒÅÇÉÓÔÒÏÍ ×ÙÂÒÁÎÎÏÇÏ ÒÅÇÉÓÔÒÏ×ÏÇÏ ÂÁÎËÁ PIC-ËÏÎÔÒÏÌÌÅÒÁ.
üÔÏ ÏÞÅÎØ ÍÁÌÏ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ÁËËÕÍÕÌÑÔÏÒÎÏÊ ÁÒÈÉÔÅËÔÕÒÙ.GS> äÁ ÎÅÔ, ÄÏÒÏÇÏÊ, ÐÏËÁ ÞÔÏ ÔÙ ÄÅÍÏÎÓÔÒÉÒÕÅÛØ Ó×ϣ ÐÏÌÎÏÅ ÎÅÐÏÎÉÍÁÎÉÅ GS> ÓÉÓÔÅÍ ËÏÍÁÎÄ ÏÂÓÕÖÄÁÅÍÙÈ ÐÒÏÃÅÓÓÏÒÏ×.
åÓÌÉ ÂÙ ÔÙ ÉÈ ÐÏÎÉÍÁÌ, ÔÙ ÂÙ ×ÏÏÂÝÅ ÎÅ ÐÕÓÔÉÌÓÑ × ÓÒÁ×ÎÅÎÉÅ Õ ËÏÇÏ ÓËÏÌØËÏ ÒÅÇÉÓÔÒÏ×.GS>>> á ÚÁÞÅÍ ÔÅÂÅ ÉÍÅÎÎÏ 16-ÔÉ ÂÉÔÎÙÊ ÁÄÒÅÓ? äÌÑ ÍÎÏÇÉÈ ÐÒÁËÔÉÞÅÓËÉÈ GS>>> ÚÁÄÁÞ È×ÁÔÉÌÏ ÂÙ, ÓËÁÖÅÍ, 10-12-ÔÉ ÂÉÔÎÏÇÏ ÓÍÅÝÅÎÉÑ. AB>> á ÄÌÑ ËÏÔÏÒÙÈ ÎÅ È×ÁÔÉÔ? GS> óÌÕÞÁÅ×, ËÏÇÄÁ ÔÁËÉ-ÄÁ È×ÁÔÉÔ, ÂÕÄÅÔ ×Ï ÍÎÏ-ÏÇÏ ÒÁÚ ÂÏÌØÛÅ,
á ÚÁÞÅÍ ÉÈ ÄÅÌÉÔØ ÎÁ ËÏÇÄÁ ÞÈÁÔÉÔ É ËÏÇÄÁ ÎÅ È×ÁÔÉÔ, ÅÓÌÉ ÍÏÖÎÏ ÎÅ ÄÅÌÉÔØ.GS> ÞÅÍ ÐÒÉ "ËÕÃÅÊ" ÓÉÓÔÅÍÅ ÁÄÒÅÓÁÃÉÉ AVR ;)
ïÐÑÔØ ÆÌÅÊÍÉÛØ?GS>>> ADIW/SBIW Ó ÄÉÁÐÁÚÏÎÏÍ 63 ÁÄÒÅÓÁ ×ÙÇÌÑÄÑÔ ÄÏ×ÏÌØÎÏ ÖÁÌËÏ. AB>> ÷ÐÏÌÎÅ ÄÏÓÔÁÔÏÞÎÏ. GS> äÁ ÔÅÂÅ É 3 ÁÄÒÅÓÁ ÂÕÄÅÔ ÄÏÓÔÁÔÏÞÎÏ ;)
é ËÁË ÜÔÏ ÐÏÎÉÍÁÔØ?AB>> éÍÅÎÎÏ ÐÏÜÔÏÍÕ × AVR ÞÉÓÌÏ ËÏÍÁÎÄ ÅÝÅ ÓÏËÒÁÔÉÌÉ GS> èÏÔÅÌÉ ÂÙ ÓÏËÒÁÔÉÔØ, ÕÂÒÁÌÉ ÂÙ ÎÁÆÉÇ "ËÁÓÔÒÉÒÏ×ÁÎÎÏÅ" ÁÄÒÅÓÎÏÅ GS> ÐÒÏÓÔÒÁÎÓÔ×Ï ÐÏÒÔÏ×. íÏÖÎÏ ÂÙÌÏ ÂÙ ËÕÄÁ ÂÏÌØÛÅ ÐÏÌÅÚÎÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ GS> ÄÏÂÁ×ÉÔØ...
ñ ÄÕÍÁÀ, ÓÅÊÞÁÓ ÏÎÉ ÜÔÏ ÕÖÅ ÐÏÎÉÍÁÀÔ.GS> äÏ 10, Á ÐÏÔÏÍ 12 íçÃ?
äÏ 8.GS> é Ó ÖÕÔËÉÍ ÔÒÕÄÏÍ ÄÏ 16 íçÃ.
ü×ÏÌÀÃÉÏÎÎÏ. ðÏÓÌÅÄÎÉÅ atmega48/88/168 ÂÕÄÕÔ ÎÁ 20MHzGS> ïÞ-ÞÅÎØ ÓÍÅÛÎÏ! GS> ìÕÞÛÅ ÂÙ ÐÏÕÞÉÌÉÓØ ËÁË ÒÁÚÇÏÎÑÔØ ÐÒÏÃÅÓÓÏÒÙ ÎÁ ÐÒÉÍÅÒÅ scenix'Ï×.
õ ÓÃÅÎÉËÓÁ ÒÁÚÇÏÎÑÔØ ÎÅÞÅÇÏ, ×ÏÔ É ÇÏÎÀÔ.AB>> HÏ ÎÅÕÄÏÂÎÏ. GS> HÅÕÄÏÂÎÏ? ðÒÏÉÚ×ÏÌØÎÁÑ ÒÁÂÏÔÁ Ó ÓÏÔÎÅÊ-ÄÒÕÇÏÊ ÒÅÇÉÓÔÒÏ×
ðÏ ÏÄÎÏÍÕ ÚÁ ÒÁÚ.GS> ÕÖ ËÕÄÁ ÕÄÏÂÎÅÅ, ÞÅÍ ÖÏÎÇÌÉÒÏ×ÁÎÉÅ ÎÁ ÖÁÌËÉÈ 32 ÒÅÇÉÓÔÒÁÈ...
é ÜÔÏ ÍÎÏÇÏ. äÏÓÔÁÔÏÞÎÏ 16 ÒÅÇÉÓÔÒÏ×.AB>> HÏ, ÒÅÁÌØÎÏ - ÂÏÌÅÅ ÍÅÄÌÅÎÎÙÊ. GS> AVR? äÁ, Ñ × ËÕÒÓÅ ;)
äÅÔÓËÉÊ ÓÁÄ.GS>>> ðÏ ÄÏÒÏÇÅ ÐÒÏÉÇÒÙ×ÁÑ PIC'Õ ;))) AB>> òÁÚ×Å ÞÔÏ ÐÏ ÐÏÔÒÅÂÌÅÎÉÀ.
GS> óÎÏ×Á ÂÕÄÅÍ ûéí
ó ûéí ÎÅ ×ÉÖÕ ÐÒÅÉÍÕÝÅÓÔ×Á.GS> É áãð ÓÒÁ×ÎÉ×ÁÔØ? é ÍÁÎÉÐÕÌÑÃÉÀ ÎÏÖËÁÍÉ ÐÏÒÔÏ×?
íÁÎÉÐÕÌÑÃÉÑ ÒÅÁÌØÎÏ ÔÏÖÅ ÂÙÓÔÒÅÅ ÏËÁÖÅÔÓÑ. HÅ 4 ÒÁÚÁ, ËÏÎÅÞÎÏ ÎÏ ÂÙÓÔÒÅÅ.AB>>>> (õ ARM ÏÐÅÒÁÎÄÏ× ÍÏÖÅÔ ÂÙÔØ ÞÅÔÙÒÅ ÛÔÕËÉ!) GS>>> âÙÓÔÒÏ ÚÁÐÒÑÇÁÅÔ - ÍÅÄÌÅÎÎÏ ÅÄÅÔ ;) AB>> óËÏÒÅÅ ÎÁÏÂÏÒÏÔ. GS> íÅÞÔÁÊ, ÍÅÞÔÁÊ...
þÅÇÏ ÍÎÅ ÍÅÞÔÁÔØ. õ ÍÅÎÑ ÅÓÔØ ÏÄÉÎ ÐÒÏÅËÔ ÎÁ ARM.AB>> äÌÑ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÓËÏÒÏÓÔÎÏÇÏ ÏÂÓÌÕÖÉ×ÁÎÉÑ ÐÏÒÔÏ×, ÎÕÖÎÏ AB>> ÉÓÐÏÌØÚÏ×ÁÔØ PLD. GS> âÕÄÅÔ ÏÞÅÎØ ÚÁÂÁ×ÎÏ ÐÏÇÌÑÄÅÔØ, ËÁË ÔÙ ÒÅÁÌÉÚÕÅÛØ ÍÉÎÉáôó
HÕ ÄÁ. ôÁÍ ÔÁËÁÑ ÏÂÁÌÄÅÎÎÁÑ ÓËÏÒÏÓÔØ ÏÂÓÌÕÖÉ×ÁÎÉÑ ÐÏÒÔÏ× ÎÕÖÎÁ.
GS> ÓÒÅÄÓÔ×ÁÍÉ PLD ;-D
äÕÍÁÅÛØ ÎÅ ÓÄÅÌÁÀ?GS>>> óÍÅÎÁ ÓÏÓÔÏÑÎÉÑ ÎÏÖÅË × ÚÁÄÁÎÎÙÊ ÍÏÍÅÎÔ ×ÒÅÍÅÎÉ (Ë GS>>> ÐÒÉÍÅÒÕ ÍÏÖÎÏ ×ÙÄÁ×ÁÔØ Ä×Á ÐÒÏÔÉ×ÏÆÁÚÎÙÈ ÍÅÁÎÄÒÁ): GS>>> XORWF PORTx,1 AB>> 4 ËÏÍÁÎÄÙ.
GS> 1 ËÏÍÁÎÄÁ PIC ÎÁ 40 íçà - 100 ÎÓ. 4 ËÏÍÁÎÄÙ AVR ÎÁ 16 íçà - 250 ÎÓ. GS> AVR ÐÒÏÉÇÒÁÌ ÓÏ ÓޣÔÏÍ 100:250, "ÚÁÇÁÄÉÌ" ÑÞÅÊËÕ òïH, ÐÏÔÅÒÑÎÁ GS> ×ÏÚÍÏÖÎÏÓÔØ ÍÅÎÑÔØ × ÜÔÏÍ-ÖÅ ÐÏÒÔÕ ÓÏÓÔÏÑÎÉÑ ÂÉÔ × ÐÒÅÒÙ×ÁÎÉÉ...
úÄÅÓØ ÐÒÏÉÇÒÙÛ. PIC ÏÂÈÏÄÉÔ AVR ÐÏ ÓËÏÒÏÓÔÉ ÉÎ×ÅÒÔÉÒÏ×ÁÎÉÑ ÂÉÔÁ!GS>>> ðÒÏÐÕÓË ËÏÍÁÎÄÙ ÐÏ ÓÏÓÔÏÑÎÉÀ ÚÁÄÁÎÎÏÇÏ ÂÉÔÁ ÐÏÒÔÁ: GS>>> BTFSC PORTx,BITy AB>> 1 ËÏÍÁÎÄÁ. GS> HÅ ÓÍÅÛÉ! ôÏÌØËÏ ÄÌÑ ÖÁÌËÉÈ 32 ÐÏÒÔÏ×,
ôÅÂÅ ÖÅ ÂÙÓÔÒÏ ÎÏÇÁÍÉ ÎÁÄÏ Ä×ÉÇÁÔØ? ÷ÏÔ × ÔÁËÏÍ ×ÁÒÉÁÎÔÅ 1 ËÏÍÁÎÄÁ.GS> ÏÓÔÁÌØÎÙÍÉ ÐÒÉģÔÓÑ "ÖÏÎÇÌÉÒÏ×ÁÔØ".
HÅ ÐÒÉÈÏÄÉÌÏÓØ.
GS> ä×Å ËÏÍÁÎÄÙ AVR, "ÚÁÇÁÖÉ×ÁÎÉÅ" ÑÞÅÊËÉ òïH, ÐÒÏÉÇÒÙÛ GS> 200:250...
62.5/125 ÎÓ. × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÒÅÚÕÌØÔÁÔÁ.GS>>> óÞÉÔÙ×ÁÎÉÅ ÄÁÎÎÙÈ ÉÚ ÐÏÒÔÁ Ó ÉÎ×ÅÒÓÉÅÊ: GS>>> COMF PORTx,0 AB>> á ÉÎ×ÅÒÓÉÑ ÚÁÞÅÍ? GS> á ÂÉÔÉËÉ ÎÁÖÁÔÉÊ Ó ÍÁÔÒÉÃÙ ËÌÁ×ÉÁÔÕÒÙ ×ÙÄÁÀÔÓÑ _ÎÏÌÉËÁÍÉ_.
HÕ É ÞÔÏ?
GS> á ÖÅÌÁÔÅÌØÎÏ ÉÍÅÔØ ÅÄÉÎÉÞËÉ.
úÁÞÅÍ? þÅÍ ÅÄÉÎÉÞËÁ ÌÕÞÛÅ?AB>> åÓÌÉ ÂÅÚ ÉÎ×ÅÒÓÉÉ - ÏÄÎÁ ËÏÍÁÎÄÁ.
GS> æÉÇÕÛËÉ, Ó ÉÎ×ÅÒÓÉÅÊ ÎÁÄÏ! åÓÌÉ ÔÅÂÅ ÐÏ×ÅڣÔ É ÄÁÎÎÙÅ × 64 GS> "ÎÏÒÍÁÌØÎÙÈ" ÐÏÒÔÁÈ - ÏÂÏÊģÛØÓÑ ËÏÍÁÎÄÁÍÉ IN É COM
ïÎÉ ÉÍÅÎÎÏ ÔÁÍ É ÂÕÄÕÔ.GS> (AVR ÐÒÏÉÇÒÁÌ ÓÏ ÓޣÔÏÍ 200:250),
ëÁË ÔÙ ÓÞÉÔÁÌ? in + com - 125 ÎÓ.GS>>> "âÅÇÕÝÉÅ ÂÉÔÙ" ÎÁ ÚÁÄÁÎÎÏÍ ÐÏÒÔÕ (ÓËÁÎÉÒÏ×ÁÎÉÅ ÕÓÔÒÏÊÓÔ× GS>>> ÉÌÉ ÆÏÒÍÉÒÏ×ÁÎÉÅ "ÍÎÏÇÏÆÁÚÎÙÈ" ÓÉÇÎÁÌÏ×): GS>>> RLCF PORTx,1 GS>>> ÉÌÉ GS>>> RRCF PORTx,1 AB>> 2 ËÏÍÁÎÄÙ ÄÌÑ ÇÉÒÌÑÎÄÙ. á ÔÁË 3. GS> óÁÍ ÐÏÄÓÞÉÔÁÊ ÐÒÏÉÇÒÙÛ.
rol reg out PORT, reg
2 ËÏÍÁÎÄÙ 125 ÎÓ. ÉÌÉ in reg, PORT rol reg out PORT, reg3 ËÏÍÁÎÄÙ 187 ÎÓ.
AB>>>> ðÒÏÇÒÁÍÍÉÒÏ×ÁÔØ ðéë ÎÁ ÁÓÓÅÍÂÌÅÒÅ ËÒÁÊÎÅ ÎÅÕÄÏÂÎÏ. GS>>> íÁËÒÏÓÁÍÉ ÐÏÌØÚÏ×ÁÔØÓÑ ÎÁÕÞÉÓØ! AB>> á Ñ ÕÍÅÀ. óÉÛÎÙÍÉ. GS> é ÐÏÌÕÞÁÅÛØ ËÏÄ, ÒÁÂÏÔÁÀÝÉÊ ÍÅÄÌÅÎÎÅÅ, ÞÅÍ ÔÏ-ÖÅ ÓÄÅÌÁÅÔ PIC.
úÁÔÏ ÐÏÌÕÞÕ Ñ ÅÇÏ ÂÙÓÔÒÅÅ.AB>> é ÓÒÁ×ÎÉ ÒÅÚÕÌØÔÁÔ. GS> ÷ÙÛÅ ;) GS> AVR ÂÙÓÔÒÏ ÚÁÐÒÑÇÁÅÔ, ÎÏ ÍÅÄÌÅÎÎÏ ÅÄÅÔ...
ìÁÄÎÏ, ÒÁÚ ÔÙ ÂÙ×ÛÙÊ ËÏÎÀÈ, ÏÂßÑÓÎÑÊ, ÞÔÏ ÚÎÁÞÉÔ ÚÁÐÒÑÇÁÅÔ, Á ÞÔÏ ÅÄÅÔ ÐÒÉÍÅÎÉÔÅÌØÎÏ Ë ÍÉËÒÏËÏÎÔÒÏÌÌÅÒÁÍ.Alexey
Hello George.
16 Jul 04 00:48, you wrote to me:AB>> ôÏÞÎÏ ÔÁËÖÅ ÂÕÄÅÔ É ÎÁ AVR. GS> HÕ ÎÅÔÕ ÎÁ tiny 16-ÔÉ ÂÉÔÎÏÇÏ ÔÁÊÍÅÒÁ. HÅ ÚÁÂÙ×ÁÊ ÐÒÏ ÇÁÂÁÒÉÔÙ É GS> ÃÅÎÕ!
attiny2313
GS>>> ÷ÐÒÅÄØ ÏÓÔÁ×ÌÑÊ Ó×ÏÉ ÇÌÕÐÙÅ ÄÏÍÙÓÌÙ ÐÒÉ ÓÅÂÅ... AB>> ëÏÎÞÁÊ ÎÅÓÔÉ ÂÒÅÄ ÐÒÏ 16-ÂÉÔÎÙÅ ÔÁÊÍÅÒÙ. GS> ôÅÂÑ ÕÖÅ ÐÒÏÓÉÌÉ ÏÓÔÁ×ÌÑÔØ Ó×ÏÉ ÇÌÕÐÙÅ ÄÏÍÙÓÌÙ ÐÒÉ ÓÅÂÅ.
ëÔÏ?Alexey
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required