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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » команда PulsIn
команда PulsIn
dimitriy-bc Дата: Чт, 11.10.2012, 20:35  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 150
Репутация: 1   ±
Замечания:   ±
На сайте с 19.03.2012

Статус: Offline

Всем доброго времени суток. В описании по Протону Анатолия Медведева и Владимира Хилинского сказано, что команда PulsIn может работать с размерами больше слова. У меня рабочий вариант получается два байта. В описании опечатка или я чего-то недопонял?
ЯНДЕКС Дата: 11.10.2012
mikhail09p Дата: Чт, 11.10.2012, 22:56  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Непонятен вопрос.
В описании красиво написано:
тип Word то максимальное значение измеренной переменной может быть 65535
тип Byte, а частота тактового генератора 4 МГц, что соответствует дискретности измерения в 10 мкс, то максимальное измеренное значение будет равняться 255 единицам

Дальше цитировать?
dimitriy-bc Дата: Чт, 11.10.2012, 23:02  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 150
Репутация: 1   ±
Замечания:   ±
На сайте с 19.03.2012

Статус: Offline

PulsIn
Синтаксис:
Variable = PulsIn Pin, State
Команда PulsIn переключает выбранный вывод микроконтроллера в состояние входа и измеряет длительность
импульса поступающего на этот вход.
Параметры
Variable - определенная пользователем переменная типа Bit, Byte, Byte_ARRAY, Word, Word_ARRAY,
DWord, или Float в которую сохраняется измеренное значение.

Сообщение отредактировал dimitriy-bc - Чт, 11.10.2012, 23:07
dimitriy-bc Дата: Вс, 14.10.2012, 12:22  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 150
Репутация: 1   ±
Замечания:   ±
На сайте с 19.03.2012

Статус: Offline

Всем доброго времени суток. Написал программу для измерения длительности импульса под Dword. Но для экономии времени работы, хочется определять начало счета не задержкой
PA_000:
If PORTA.0 = 0 Then ' ждем импульс, (высокий уровень)
GoTo PA_000
EndIf
а прерыванием по POTRB.0. Но почему-то на POTRB.0 сидит единица. Такое впечатление, что он сформирован как выход, а не вход. Подскажите, где я допустил ошибку.
Прикрепления: Skaltek.rar (107.6 Kb)
mikhail09p Дата: Чт, 18.10.2012, 23:12  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Неужели трудно нормально спрашивать? Что Вы хотите услышать, если не показываете программу???
У Вас в архиве два исходника -
Name : BStart.BAS
' Author : Анатолий Медведев ..........................
Где Ваша программа?
dimitriy-bc Дата: Вс, 21.10.2012, 12:13  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 150
Репутация: 1   ±
Замечания:   ±
На сайте с 19.03.2012

Статус: Offline

Всем доброго времени суток. mikhail09p, возможно, я действительно невразумительно задал свои вопросы. Попробую исправиться. Мне поставлена задача, перевести на новую элементную базу станок, собирающий резиновый рукав в бухту. Станок работает на двух двигателях постоянного тока. В редукторы этих двигателей вмонтированы энкодеры. Поскольку станок на старом оборудовании подергивается, осциллографом снять длительности импульсов поступающих с энкодеров, не получается. Поэтому решил заложить в программу переменную в четыре байта. Измерение длительности импульсов выполняют PIC16F628A (программа Skaltek_D).
Контроллер U2, эмитирует работу привода вращающего катушку. Он является задающим. Контроллер U5, эмитирует работу перемещена катушки по горизонтали и привязывается к скорости вращения катушки. Контроллер U4 (программа Skaltek_М), принимает данные с контроллера U2 и контроллера U5, сравнивает их, и изменяет скорость передвижения катушки. При помощи потенциометра вводится коррекция соотношений U2 и U5.
Проблемы следующие.
1) При анализе в Протеусе, U2 и U5 иногда выдают ложные значения.
2) Пытался изменить работу U2 и U5. Хотел, чтоб измерение начиналось по прерыванию порта В0. но Порт В0 не хочет включаться как вход.
И еще вопрос. Насколько надежна передача информации командой RSOut?
Прикрепления: 7454217.rar (115.2 Kb)

Сообщение отредактировал dimitriy-bc - Вс, 21.10.2012, 12:14
MiXaS Дата: Пн, 08.04.2013, 23:33  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Привет коллеги! Есть вопрос. Решил окончательно разобраться с таймерами TMR0...TMRX. Нашел код на компе, кто-то дал на нашем форуме год назад наверно. Раскурил код, раскурил даташит, короче разобрался и написал свой. Так вот в "чужом" коде я нашел слово, которое распознает компилятор. Но я нигде не нашел описание этой команды. Зовут её Nop. Стоит она перед GoTo.

Nop
Nop
GoTo main
End

Самое интересное, что если их (Nop) заморозить, то прога работает также.
Подскажите что Ето такое и как его едят! Спасибо!

Сообщение отредактировал MiXaS - Пн, 08.04.2013, 23:34
anatol Дата: Вт, 09.04.2013, 00:22  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Nop - это ассемблер, пустая операция. Занимает один такт процессора, т.е 4 периода генератора. Используют для формирования точных задержек.
MiXaS Дата: Вт, 09.04.2013, 09:21  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Спасибо большое! Я догадывался, что это ассемблер, но не знал значение. Спасибо!!
Форум Picbasic.ru » Программирование МК » Proton PicBasic » команда PulsIn
  • Страница 1 из 1
  • 1
Поиск: