Отговори на тема  [ 30 мнения ]  Отиди на страница Предишна  1, 2
16F877 и измерване на продължителност на импулс? 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
Май наистина така ще се окаже, въпреки че му сменям фронта той работи от фронт до фронт. Рек, кажи за компараторите как да се излъже с тях?


Сря Авг 09, 2006 5:43 pm
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
Протонааааа протона пример4ето дето ти го драснах си работи тествано даже


Сря Авг 09, 2006 5:47 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Реконструктор написа:
Еми кепчъра, доколкото разбирам, бачка само по един фронт. Аз за това казвам за компаратора, щото иначе не виждам как ще стане.

Кепчъра бачка по два фронта - точно в момента правя едно такова нещо дето приема данни кодирани с NRZ и първо прекъсвам по качващ и после по падащ. така, че си работи много добре и няма смисъл от разни компаратори. Ей това е в прекъсването на кепчъра:
if (PIR2bits.CCP2IF)
{
if (CCP2CON == 0x05)
{
Period = CCPR2L;
TMR3H = 0;
TMR3L = 0;
CCP2CON = 0x04;
}
else
{
Pulse = CCPR2L;
CCP2CON = 0x05;
}
PIR2bits.CCP2IF = 0;
}

В случая на мен ми трябва само младшата част, ама то е все едно.


Сря Авг 09, 2006 6:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
VSU написа:
Протонааааа протона пример4ето дето ти го драснах си работи тествано даже

Не го погледнах първо твоето, ама е абсолютно същото, де :? .


Сря Авг 09, 2006 6:05 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
Как си го пробвал? Не споря за Протона, но като гледам асм-то от него няма омазано.


Сря Авг 09, 2006 6:05 pm
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
ами ето ти листинг на асм дано ти помогне тествано е като работи как иначе да е


Прикачени файлове:
cpp.TXT [5.58 KiB]
211 пъти
Сря Авг 09, 2006 6:23 pm
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Чет Ное 25, 2004 3:42 pm
Мнения: 913
Мнение 
milenjs написа:
Май наистина така ще се окаже, въпреки че му сменям фронта той работи от фронт до фронт. Рек, кажи за компараторите как да се излъже с тях?


Всъщност вземи си прочети дали кепчара може да работи по два фронта като сменяш фронта в прекъсване.
Май че пропуска първата промяна. По спомени на колега.
Не може ли прекъсването по преден фронт да е от RB0 а по заден в кепчара?


Последна промяна rumen на Чет Авг 10, 2006 9:54 am, променена общо 1 път



Чет Авг 10, 2006 9:32 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
В реални условия не съм го пробвал, пускам му симулация в Протеуса, там с Pulsin работи така че трябва и това да го подкарам. Ако ли не варианта е 20Мхз при което дава 2мкс - напълно порядъчно. Ще се помъча и днеска с ССР-то та да видим...


Чет Авг 10, 2006 9:38 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
Dimitar написа:
Кепчъра бачка по два фронта - точно в момента правя едно такова нещо дето приема данни кодирани с NRZ и първо прекъсвам по качващ и после по падащ. така, че си работи много добре и няма смисъл от разни компаратори. Ей това е в прекъсването на кепчъра:
if (PIR2bits.CCP2IF)
{
if (CCP2CON == 0x05)
{
Period = CCPR2L;
TMR3H = 0;
TMR3L = 0;
CCP2CON = 0x04;
}
else
{
Pulse = CCPR2L;
CCP2CON = 0x05;
}
PIR2bits.CCP2IF = 0;
}

В случая на мен ми трябва само младшата част, ама то е все едно.


Той че бачка - бачка, но дали можеш да му сменяш фронтовете динамично? В смисъл, без да се налага да го ресетираш и без да пропуска събитие? За компаратора със сигурност ще стане, правил съм го с мегата, за тва го предлагам. :)


Чет Авг 10, 2006 10:56 am
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
Рек вервай ми може :) и динамично и статично и пак работи


Чет Авг 10, 2006 1:22 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Реконструктор написа:
Той че бачка - бачка, но дали можеш да му сменяш фронтовете динамично? В смисъл, без да се налага да го ресетираш и без да пропуска събитие? За компаратора със сигурност ще стане, правил съм го с мегата, за тва го предлагам. :)

Как мислиш а? Това беше реторичен въпрос. 8)


Чет Авг 10, 2006 3:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
A и на Протона си бачка, проблема ми беше че се доверявам много на симулацията в Протеуса, може би новата версия има бъгове, това обаче си работи! Трябваше ми решение без използване на прекъсване.
Код:
while 1 = 1
  While CAPTURE = 0 : Wend      
  PERIOD = CCPR1
  Print At 1,1, "Period: " , Dec PERIOD , "uS "
  CAPTURE = 0                  
  CCP1CON = %00000101
  While CAPTURE = 0 : Wend      
  CCP1CON = %00000100
  Clear TIMER1               
  CAPTURE = 0
wend   


Пет Авг 11, 2006 12:25 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
Естествено има малка грешка заради нулирането на ,таймера но това ме урежда идеално. Колеги, хайде да не дискутираме компилаторите които ползваме, а да се стремим да си помагаме един на друг! Все пак е въпрос на личен избор, паралелно с Протона се пробвам и на ИАР ама си е по объркващо. Ако искате да отворим тема "Какво не харесваме в компилаторите си?" Аз си казвам за Протона - липсата на функции, За ИАР-а и С-тата - прекаления стремеж /според мен/ за намаляне на синтаксиса на командите. Ако има един свястен Pascal ще си ползвам него таман и с Делфито..


Пет Авг 11, 2006 12:34 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Чет Ное 25, 2004 3:42 pm
Мнения: 913
Мнение 
Ще стане скучно :cry:
Какво имаш впредвид под липса на функции?


Пет Авг 11, 2006 2:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
Ами функция или процедура към която да предадеш локалена променлива а не глобална. Иначе вградените ф-ции са си предостатъчно и си работят супер! Както казват някои КОЙТО РАЗБИРА ТУК СЕ СПИРА :D


Пет Авг 11, 2006 9:11 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 30 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни