Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
МАФ
ADMIN Дата: Сб, 17.12.2011, 05:00  |                                                                                                                Сообщение # 16
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Хорошо. Я попробую написать статью про использование модуля захвата.
vik1704 Дата: Сб, 17.12.2011, 16:21  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 22
Репутация: 0   ±
Замечания:   ±
На сайте с 05.11.2011

Статус: Offline

большое спасибо Максим! будем ждать с нетерпением. Просьба как напишишь дай знать

Не бойтесь экспериментировать и начинать, что-то новое ведь ковчег построил любитель, а профессионалы - титаник
ADMIN Дата: Сб, 17.12.2011, 19:28  |                                                                                                                Сообщение # 18
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Позвоню лично каждому заинтересованному wink
retas Дата: Вс, 18.12.2011, 23:23  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 445
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Оказывается в примерах Протона програ про измерение частоты сидит

' Program to demonstrate the use of the hardware capture
' module to measure the period of a frequency input.
'
' Also shows how two hardware registers can be combined for a 16-bit result
' Input signal should be connected to RC2/CCP1

Include "PROTON_20.INC" ' Configure ports for PROTON board

Float_Display_Type = Fast

Dim PERIOD As Word ' Word variable that stores the captured value
Dim FREQUENCY As Float

Symbol CCPR1 = CCPR1L.Word ' Create a 16-bit variable out of CCPRL1
Symbol TIMER1 = TMR1L.Word ' Create a 16-bit variable out of TMR1L
Symbol CAPTURE = PIR1.2 ' CCP1 capture flag
Symbol OVERFLOW = PIR1.0 ' Timer1 overflow flag

DelayMS 100 ' Wait for PICmicro to stabilise
Cls
CCP1CON = %00000100 ' Enable the CCP1 capture, falling edge
T1CON = %00000001 ' TMR1 prescale=1, and turn it on (1uS per count)

While 1 = 1
While CAPTURE = 0 : Wend ' Wait here until captured
PERIOD = CCPR1 ' Store the captured value in period variable
If OVERFLOW = 0 Then ' Skip the output if the timer overflowed
Print At 1,1, "Period: " , Dec PERIOD , "uS " ' Output
Print At 2,1, "Freq: " , Dec2 5000.0 / PERIOD,"KHz "
EndIf
CAPTURE = 0 ' Clear the capture flag

While CAPTURE = 0 : Wend ' Wait for beginning of next period
Clear TIMER1 ' Clear Timer1
CAPTURE = 0 ' Clear capture flag
OVERFLOW = 0 ' Clear overflow flag
Wend ' Do it forever
ADMIN Дата: Пн, 19.12.2011, 16:12  |                                                                                                                Сообщение # 20
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Да, вся проблема в том, что искать никто не хочет. Этот вариант свободно перегоняется в прерывания и получается более точный метод.
vik1704 Дата: Пн, 19.12.2011, 19:03  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 22
Репутация: 0   ±
Замечания:   ±
На сайте с 05.11.2011

Статус: Offline

Хорошо искать если есть хотя-бы какие-то азы, фундамент. А если все с нуля постигаешь сам. Пытаешься разобраться в тонкостях - разве это плохо. На мой взгляд и создаются форумы именно для этого. Если-бы я все знал, все понимал в контроллерах я бы и не задавал бы таких ( на взгляд проффи ) глупых вопросов. Но если кто-то увлеченный данной темой и поможет мне что в этом такого. Не просто так же я здесь лажу. Я просто хочу постичь этот мир микроконтроллеров. Вспомните себя Вы тоже были в такой ситуации.
И я хочу сказать спасибо и retas, и ADMIN, и terrarus, и всем тем кто не просто разобрался сам, а помогает разобраться другим.
На мой взгляд это благородно и достойно похвал.
И прошу Вас не судите меня строго я не проффи, я только учусь bash bash


Не бойтесь экспериментировать и начинать, что-то новое ведь ковчег построил любитель, а профессионалы - титаник
ЯНДЕКС Дата: 19.12.2011
retas Дата: Пн, 19.12.2011, 19:16  |                                                                                                                Сообщение # 22
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 445
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Да, пожалуй на англицком можно почти всё найти, однако сформулировать вопрос, задача не из простых - катит метод тыка и терьпения.

А от чего с прерывами должно более точно получиться нежели с захватом?
ADMIN Дата: Вт, 20.12.2011, 07:09  |                                                                                                                Сообщение # 23
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Потому что захват происходит не в теле программы, где выполняется куча других операторов, а в прерывании, в котором выполняется только захват.
vik1704 Дата: Вт, 20.12.2011, 16:17  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 22
Репутация: 0   ±
Замечания:   ±
На сайте с 05.11.2011

Статус: Offline

Quote (retas)
Да, пожалуй на англицком можно почти всё найти, однако сформулировать вопрос, задача не из простых - катит метод тыка и терьпения.

Все бы хорошо да только в школе у нас учили все французский, а с этим языком не куда не попрешь, даже в ГУГЛе засмеют happy .


Не бойтесь экспериментировать и начинать, что-то новое ведь ковчег построил любитель, а профессионалы - титаник
ADMIN Дата: Чт, 12.01.2012, 18:12  |                                                                                                                Сообщение # 25
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Статью написал. По поводу того, что лучше обрабатывать захват в прерывании - простой пример в статье - вывод на 7-сегментные индикаторы. Если программа будет в цикле опрашивать флаг CCP1IF, то на индикацию просто не будет времени, так как частота может быть разной и ждать можно долго. В статье как раз описывается метод с прерыванием. Статью можно посмотреть здесь
vik1704 Дата: Пт, 13.01.2012, 22:26  |                                                                                                                Сообщение # 26
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 22
Репутация: 0   ±
Замечания:   ±
На сайте с 05.11.2011

Статус: Offline

Большое спасибо!В теории очень разжеванно и понятно даже для такого чайника как я. Однако в статье совсем не описанны настройки, только страка CP_ALL, DEBUG_OFF, WRT_OFF, CPD_ON, LVP_OFF, BODEN_OFF, PWRTE_ON, WDT_OFF, HS_OSC и все cry . Я попробывал это все переложить под MicroCode studio и перегнать в proteus и не фига уменя не получилось. Если кому не в напряг хотябы кратенько распишите че это за CP_ALL, DEBUG_OFF, WRT_OFF, CPD_ON, LVP_OFF, BODEN_OFF, PWRTE_ON, WDT_OFF, HS_OSC.

Не бойтесь экспериментировать и начинать, что-то новое ведь ковчег построил любитель, а профессионалы - титаник
anatol Дата: Сб, 14.01.2012, 01:49  |                                                                                                                Сообщение # 27
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 471
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

WRT_OFF, CPD_ON, LVP_OFF, BODEN_OFF, PWRTE_ON, WDT_OFF, HS_OSC - надо и описание на контроллер посмотреть иногда - даташит называется. в нем расписаны режимы работы контроллера - конфигурация - так это оттуда.
CP_ALL, DEBUG_OFF - режимы и опции компилятора и MP LAB
terrarus Дата: Сб, 14.01.2012, 10:47  |                                                                                                                Сообщение # 28
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

vik1704,
на http://terrarus.ucoz.ru/proton_....ig.html
описан достаточно подробно оператор Config языка Proton IDE и, естественно,
настройки его параметров
CP_ALL, DEBUG_OFF, WRT_OFF, CPD_ON, LVP_OFF, BODEN_OFF, PWRTE_ON, WDT_OFF, HS_OSC , а
сами описания этих параметров нужно смотреть в даташите микроконтроллера.


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал terrarus - Сб, 14.01.2012, 11:02
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: