Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 10 из 11
  • «
  • 1
  • 2
  • 8
  • 9
  • 10
  • 11
  • »
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Частотомер (скважность и прочее и прочее и прочее)
Частотомер
доцент2 Дата: Сб, 23.06.2018, 20:28  |                                                                                                                Сообщение # 136
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 433
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

ivan_fd
Если не сложно посмотрите файлик.
Попробовал вставить дополнительную переменную в задержку 100мс. Саму задержку пока не подбирал.
При компиляции пишет три ошибки. Но для меня это египетская грамота.
Прикрепления: 8318210.asm(5.0 Kb)
ЯНДЕКС Дата: 23.06.2018
ivan_fd Дата: Вс, 24.06.2018, 15:26  |                                                                                                                Сообщение # 137
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1046
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

доцент2
Все три ошибки, что не найден регистр.
Первые две - это STATUS. Смотрите файл P18F252.inc, в нем есть описание всех регистров контроллера и в каком регистре они пишутся. Компилятор чувствителен к регистру букв!!!
А эта ошибка goto    ret, что это за метка ret? Ее нету, вот он и ругается.

Но простым добавлением дополнительной переменной и ее проверкой тут дело не закончится. Длительность паузы будет не точная


Меня все время преследуют умные мысли...но я быстрее!!!
доцент2 Дата: Вс, 24.06.2018, 18:40  |                                                                                                                Сообщение # 138
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 433
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Не догоняю (жара наверное).
В файле .inc есть такие строчки:
;----- STATUS Bits -----------------------------------------------------
C                EQU  H'0000'
DC               EQU  H'0001'
Z                EQU  H'0002'
OV               EQU  H'0003'
N                EQU  H'0004'
Т.е. в место bcf Status,2 надо писать bcf Z ?
ivan_fd Дата: Пн, 25.06.2018, 09:08  |                                                                                                                Сообщение # 139
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1046
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата доцент2 ()
Т.е. в место bcf Status,2 надо писать bcf Z ?

Нет. Я же написал, что чувствителен к регистру!!!!
То есть нужно писать bcf STATUS, 2
Так как он объявлен в P18F252.inc


Меня все время преследуют умные мысли...но я быстрее!!!
доцент2 Дата: Пн, 25.06.2018, 16:43  |                                                                                                                Сообщение # 140
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 433
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Написал bcf STATUS, 2. Ошибки те же самые. Что делать?
ivan_fd Дата: Пн, 25.06.2018, 16:58  |                                                                                                                Сообщение # 141
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1046
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Покажите скрин ошибок и последний файл.

Меня все время преследуют умные мысли...но я быстрее!!!
доцент2 Дата: Пн, 25.06.2018, 17:57  |                                                                                                                Сообщение # 142
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 433
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

фал и ошибки
Прикрепления: 7360564.jpg(81.7 Kb) · 3218208.asm(5.0 Kb)

Сообщение отредактировал доцент2 - Пн, 25.06.2018, 17:58
ivan_fd Дата: Пн, 25.06.2018, 20:28  |                                                                                                                Сообщение # 143
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1046
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

У меня ваш файл компилируется без ошибок.
Что то не сходится, в описании ошибки Status, а в файле STATUS.
Попробуйте сделать Clean and Build.


Меня все время преследуют умные мысли...но я быстрее!!!
доцент2 Дата: Пн, 25.06.2018, 20:56  |                                                                                                                Сообщение # 144
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 433
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Цитата ivan_fd ()
Попробуйте сделать Clean and Build.
Делал. Этот файл почему то с ошибкой компилируется.
Накидал другой файлик. Там все нормально. Может с макфайлом беда.
К сожалению ни как понять не могу этот асм. Даже новый проект в Матлаб не понимаю как сделать. Делаю на Вашем примере. Вот, что значит приучили со школы к бейсику.
Хотелось бы сделать что-то подобное, как в примере. Там как раз с дополнительной переменной. Только пример для частоты генератора 4МГц.
Прикрепления: FrecM_en.asm(1.1 Kb)

Сообщение отредактировал доцент2 - Пн, 25.06.2018, 20:57
ivan_fd Дата: Вт, 26.06.2018, 12:35  |                                                                                                                Сообщение # 145
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1046
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Ладно, вот с двумя переменными, задержка 1сек.
Изучайте.
Прикрепления: 9283139.asm(5.0 Kb)


Меня все время преследуют умные мысли...но я быстрее!!!
доцент2 Дата: Вт, 26.06.2018, 18:50  |                                                                                                                Сообщение # 146
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 433
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

ivan_fd
Спасибо огромное!
на частоте 53.203.400 ошибка около 130Гц. При частоте 78МГц ошибка около 60кГц. Думаю для макетной платы нормально.
Осталось подкорректировать задержку 10сек, 0,1сек и 0,01сек (та еще задача для кандидата на нобелевку smile ).
На данный момент есть маленький вопрос по протеусу: поставил две точки. дойдя до первой симуляция останавливается. Запускаю дальше. А вот тут маленькая неприятность (или моя непонятка). Процесс крутиться около меток пауз. Т.е., чтобы пройти 10 000 000 циклов надо нажимать на продолжение симуляции (F12) минут 10.
Возможно ли сделать так, что бы симуляция после первой точки пропускала все эти переходы по меткам и останавливалась на второй точке?
ivan_fd Дата: Вт, 26.06.2018, 21:32  |                                                                                                                Сообщение # 147
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1046
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Про протеус что то не понял. Доходит до первой, останавливается, далее нажимаем f12, идет далее, до следующей метки. Поскольку нагрузка на проц не малая, то в реале будет не 1 сек, а больше. И у меня протеус больше 10МГц уже не считает.

Меня все время преследуют умные мысли...но я быстрее!!!
доцент2 Дата: Вт, 26.06.2018, 21:42  |                                                                                                                Сообщение # 148
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 433
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Проц тянет нормально.
После первой остановки. Я запускаю симуляцию дальше. Она останавливается не на второй точке (когда таймер останавливаем), а на Pausa. Запускаю опять симуляцию, процесс опять останавливается на Pausa (опять нажимаю на F12) и так крутиться вокруг этой метки пока задержка не дойдет до конца.
В итоге приходится куча нажатий на F12 делать.
А при небольших задержках, там где количество меток (типа Pausa) меньше, все нормально. За два нажатия на  F12 могу осмотреть кол-во циклов. (Может сумбурно излагаю, но как-то так).
ivan_fd Дата: Ср, 27.06.2018, 09:28  |                                                                                                                Сообщение # 149
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1046
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата доцент2 ()
Проц тянет нормально.
 Что, пауза в 1 сек проходит за 1 секунду реально????

Цитата доцент2 ()
Она останавливается не на второй точке (когда таймер останавливаем), а на Pausa.

Нажмите Clear All Breakpoint  Ctrl+F9 и по новой поставьте точки останова.


Меня все время преследуют умные мысли...но я быстрее!!!
доцент2 Дата: Ср, 27.06.2018, 09:57  |                                                                                                                Сообщение # 150
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 433
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Цитата ivan_fd ()
Нажмите Clear All Breakpoint Ctrl+F9 и по новой поставьте точки останова.
Помогло. Спасибо.
Цитата ivan_fd ()
Что, пауза в 1 сек проходит за 1 секунду реально????
Я не совсем понял, что Вы имели в виду. На старом компе протеус зависал, когда генератор был настроен на 10МГц. Сейчас ставлю 20МГц - работает.
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Частотомер (скважность и прочее и прочее и прочее)
  • Страница 10 из 11
  • «
  • 1
  • 2
  • 8
  • 9
  • 10
  • 11
  • »
Поиск: