|
|
  |
pic18fxxx, CCP, Capture mode, помогите правильно измерить время между импульсами |
|
|
|
Sep 18 2008, 23:05
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(Короткова Светлана @ Sep 18 2008, 16:33)  я прошу вас разобрать конкретную ситуацию, прошу прокомментировать неадекватное поведение вашего кода который вы приводили. А в ответ не получаю ни йотую долю внимания к СВОИМ вопросам Ну ладно, скажите конкретно и ВНЯТНО, в чём неадекватность поведения моего кода. И конкретных вопросов от вас что-то не видно, равно, как и ответа на вопрос по приведённому вами алгоритму: почему вы инкрементируете CCP1U, если у вас не было прерывания захвата?
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Sep 20 2008, 03:26
|
Участник

Группа: Свой
Сообщений: 47
Регистрация: 15-09-08
Из: Россия, Москва, САО
Пользователь №: 40 220

|
Цитата(DL36 @ Sep 18 2008, 23:14)  Нет не эта шел разговор о длинном захвате, а именно ситуации когда период захвата более периода огромное вам мерси! нашла! и более того, там есть ссылка на электроникс  и каково было моё удивление увидеть там Уважаемого =GM= Уважаемый =GM=. Если у вас всё ещё есть желание выяснить чей алгоритм работоспособен а чей нет, я на 100% знаю способ это выяснить! Собственно я выложу свой готовый проект в MPLABE. на выходе которого, в переменной, в результате симуляции должно появиться 24битное захваченное значение. Вы подправите обработчик IRQ в соответствии со своим алгоритмом, и выложите ниже, я с помощью только двух кнопок (STEP и capture) прошагаю весь ваш алгоритм. Захваченное время будет лакмусовой бумажкой. Боюсь все другие возможности найти правду исчерпаны. PS. лично для меня все точки над i встали после прочтения темы 2006 года. и на это я готова пойти только ради Вас. Если и Вам это не интересно, предлагаю данную ветку считать закрытой.
|
|
|
|
|
Sep 21 2008, 23:10
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(Короткова Светлана @ Sep 20 2008, 02:26)  Уважаемый =GM=, если у вас всё ещё есть желание выяснить чей алгоритм работоспособен, а чей нет, я на 100% знаю способ это выяснить! Собственно я выложу свой готовый проект в MPLABE. на выходе которого, в переменной, в результате симуляции должно появиться 24битное захваченное значение. Вы подправите обработчик IRQ в соответствии со своим алгоритмом, и выложите ниже, я с помощью только двух кнопок (STEP и capture) прошагаю весь ваш алгоритм. Захваченное время будет лакмусовой бумажкой. Боюсь все другие возможности найти правду исчерпаны. PS. лично для меня все точки над i встали после прочтения темы 2006 года. и на это я готова пойти только ради Вас Вот и пойми этих женщин, когда они готовы пойти ради нас на что-то, а когда - нет(:-). Ну давайте поглядим на ваш алгоритм, его ещё никто не видел, по-моему. Кстати, чем вам мой-то код не угодил?
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Sep 23 2008, 10:37
|
Участник

Группа: Свой
Сообщений: 47
Регистрация: 15-09-08
Из: Россия, Москва, САО
Пользователь №: 40 220

|
Цитата(=GM= @ Sep 23 2008, 11:50)  У вас там ошибка на ошибке (:-(. Например, проверка только среднего байта захваченного времени может привести к существенным ошибкам определения длительности. Не могли бы Вы указанную ситуацию продемонстрировать на примере в симуляторе? для записи диафильма я использовала бесплатную программку отсюда. Иначе Ваша реплика звучит голословно. Цитата(=GM= @ Sep 23 2008, 11:50)  Или вот, на рисунке с алгоритмом, вы инкрементируете TMR1U, хотя могло произойти не прерывание по переполнению, а второе прерывание захвата... картинка была для одного канала... остальные каналы по аналогии с первым.
|
|
|
|
|
Sep 23 2008, 14:04
|
Участник

Группа: Свой
Сообщений: 47
Регистрация: 15-09-08
Из: Россия, Москва, САО
Пользователь №: 40 220

|
Цитата(=GM= @ Sep 23 2008, 16:19)  Что если пришли короткие импульсы и захваты начались при Т=0х0000. Вполне может так быть, что время дойдёт до Т=0х0100... Я проверяла, все 5 каналов + инкремент таймера укладывается в 229 тактов, то есть T=0x00E4. Цитата(=GM= @ Sep 23 2008, 16:19)  а вот если бы вы .... Дабы избежать голословных заявлений, предлагаю Вам внести те изменения , которые сочтёте нужными, а я протестирую ваш алгоритм. Уважаемый =GM= вы убрали продолжение своей мысли из предыдущего поста, которое выглядело так: ", а вот если бы вы проверяли оба младших байта захвата на 0, то такой ситуации можно было бы избежать, вплоть до Т=0хFFFF." Редактирование ваших сообщений после того как вам на них ответили, может вводить в недоумение читателей этой ветки.
Сообщение отредактировал Короткова Светлана - Sep 23 2008, 14:08
|
|
|
|
|
Sep 23 2008, 14:19
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Ну подайте 200 кГц меандр на один канал захвата и увидите, что ваша система встанет, как миленькая.
Насчёт редакции ответов. Вроде бы я успел отредактировать до того, как кто-то мне ответил, да тут и нет никого, один я, как перст. Ну и собственно вы, как автор топика. С другой стороны, если не редактировать, то зачем тогда оно нужно, это самое редактирование собственного поста?
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Sep 23 2008, 14:49
|
Участник

Группа: Свой
Сообщений: 47
Регистрация: 15-09-08
Из: Россия, Москва, САО
Пользователь №: 40 220

|
Цитата(=GM= @ Sep 23 2008, 17:19)  Ну подайте 200 кГц меандр на один канал захвата и увидите, что ваша система встанет, как миленькая. Следствие зависания станет малая длительность между импульсами, и это скорее второй вопрос, который можно обсудить, но давайте будем последовательны и сначала обсудим первый! Вы уже попробовали исправить мой алгоритм? Вставляли проверку таймера на 0? Расскажите результаты. Именно их я от Вас сейчас ожидаю.
|
|
|
|
|
Sep 24 2008, 11:16
|
Участник

Группа: Свой
Сообщений: 47
Регистрация: 15-09-08
Из: Россия, Москва, САО
Пользователь №: 40 220

|
Цитата(NickB @ Sep 24 2008, 13:08)  Поэтому. Почему бы Вам не применить 32-разрядный таймер/CCP Уже развела плату, скоро попробую в железе. Как мне кажется и PIC18, должен работать. Цитата(NickB @ Sep 24 2008, 13:08)  Когда-то давно стояла такая же задача. После долгих обсуждений пришли к выводу что адекватного рашения нет. А аргументы не помните? Уважаемый GM. Пожалуйста, ответе на вопросы: Вы видели диафильмы, которые я для Вас делала? Вы смотрели в симуляторе, как работает программа? Делали проверку таймера на нуль?
|
|
|
|
|
Sep 24 2008, 11:50
|
Участник

Группа: Свой
Сообщений: 47
Регистрация: 15-09-08
Из: Россия, Москва, САО
Пользователь №: 40 220

|
Я повторюсь. Для меня все точки над i уже расставлены. Продолжаю эту ветку исключительно ради Вас. Я сделала Вам предложение подкорректировать код, как сочтёте нужным, Вы его принимаете? Пожалуйста, ответьте на этот вопрос, несмотря на его порядок малости.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|