Частотомер
|
доцент2 |
Дата: Сб, 23.06.2018, 20:28 | Сообщение # 136 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
431
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
ivan_fd Если не сложно посмотрите файлик. Попробовал вставить дополнительную переменную в задержку 100мс. Саму задержку пока не подбирал. При компиляции пишет три ошибки. Но для меня это египетская грамота.
|
|
|
|
|
ivan_fd |
Дата: Вс, 24.06.2018, 15:26 | Сообщение # 137 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1036
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
доцент2, Все три ошибки, что не найден регистр. Первые две - это STATUS. Смотрите файл P18F252.inc, в нем есть описание всех регистров контроллера и в каком регистре они пишутся. Компилятор чувствителен к регистру букв!!! А эта ошибка goto ret, что это за метка ret? Ее нету, вот он и ругается.
Но простым добавлением дополнительной переменной и ее проверкой тут дело не закончится. Длительность паузы будет не точная
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
доцент2 |
Дата: Вс, 24.06.2018, 18:40 | Сообщение # 138 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
431
Замечания:
±
На сайте с 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 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1036
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Цитата доцент2 (  ) Т.е. в место bcf Status,2 надо писать bcf Z ? Нет. Я же написал, что чувствителен к регистру!!!! То есть нужно писать bcf STATUS, 2 Так как он объявлен в P18F252.inc
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
доцент2 |
Дата: Пн, 25.06.2018, 16:43 | Сообщение # 140 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
431
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Написал bcf STATUS, 2. Ошибки те же самые. Что делать?
|
|
|
|
|
ivan_fd |
Дата: Пн, 25.06.2018, 16:58 | Сообщение # 141 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1036
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Покажите скрин ошибок и последний файл.
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
доцент2 |
Дата: Пн, 25.06.2018, 17:57 | Сообщение # 142 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
431
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
фал и ошибки
Сообщение отредактировал
доцент2 - Пн, 25.06.2018, 17:58
|
|
|
|
|
ivan_fd |
Дата: Пн, 25.06.2018, 20:28 | Сообщение # 143 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1036
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
У меня ваш файл компилируется без ошибок. Что то не сходится, в описании ошибки Status, а в файле STATUS. Попробуйте сделать Clean and Build.
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
доцент2 |
Дата: Пн, 25.06.2018, 20:56 | Сообщение # 144 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
431
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Цитата ivan_fd (  ) Попробуйте сделать Clean and Build. Делал. Этот файл почему то с ошибкой компилируется. Накидал другой файлик. Там все нормально. Может с макфайлом беда. К сожалению ни как понять не могу этот асм. Даже новый проект в Матлаб не понимаю как сделать. Делаю на Вашем примере. Вот, что значит приучили со школы к бейсику. Хотелось бы сделать что-то подобное, как в примере. Там как раз с дополнительной переменной. Только пример для частоты генератора 4МГц.
Сообщение отредактировал
доцент2 - Пн, 25.06.2018, 20:57
|
|
|
|
|
ivan_fd |
Дата: Вт, 26.06.2018, 12:35 | Сообщение # 145 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1036
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Ладно, вот с двумя переменными, задержка 1сек. Изучайте.
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
доцент2 |
Дата: Вт, 26.06.2018, 18:50 | Сообщение # 146 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
431
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
ivan_fd Спасибо огромное! на частоте 53.203.400 ошибка около 130Гц. При частоте 78МГц ошибка около 60кГц. Думаю для макетной платы нормально. Осталось подкорректировать задержку 10сек, 0,1сек и 0,01сек (та еще задача для кандидата на нобелевку ). На данный момент есть маленький вопрос по протеусу: поставил две точки. дойдя до первой симуляция останавливается. Запускаю дальше. А вот тут маленькая неприятность (или моя непонятка). Процесс крутиться около меток пауз. Т.е., чтобы пройти 10 000 000 циклов надо нажимать на продолжение симуляции (F12) минут 10. Возможно ли сделать так, что бы симуляция после первой точки пропускала все эти переходы по меткам и останавливалась на второй точке?
|
|
|
|
|
ivan_fd |
Дата: Вт, 26.06.2018, 21:32 | Сообщение # 147 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1036
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Про протеус что то не понял. Доходит до первой, останавливается, далее нажимаем f12, идет далее, до следующей метки. Поскольку нагрузка на проц не малая, то в реале будет не 1 сек, а больше. И у меня протеус больше 10МГц уже не считает.
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
доцент2 |
Дата: Вт, 26.06.2018, 21:42 | Сообщение # 148 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
431
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Проц тянет нормально. После первой остановки. Я запускаю симуляцию дальше. Она останавливается не на второй точке (когда таймер останавливаем), а на Pausa. Запускаю опять симуляцию, процесс опять останавливается на Pausa (опять нажимаю на F12) и так крутиться вокруг этой метки пока задержка не дойдет до конца. В итоге приходится куча нажатий на F12 делать. А при небольших задержках, там где количество меток (типа Pausa) меньше, все нормально. За два нажатия на F12 могу осмотреть кол-во циклов. (Может сумбурно излагаю, но как-то так).
|
|
|
|
|
ivan_fd |
Дата: Ср, 27.06.2018, 09:28 | Сообщение # 149 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1036
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Цитата доцент2 (  ) Проц тянет нормально. Что, пауза в 1 сек проходит за 1 секунду реально????
Цитата доцент2 (  ) Она останавливается не на второй точке (когда таймер останавливаем), а на Pausa. Нажмите Clear All Breakpoint Ctrl+F9 и по новой поставьте точки останова.
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
доцент2 |
Дата: Ср, 27.06.2018, 09:57 | Сообщение # 150 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
431
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Цитата ivan_fd (  ) Нажмите Clear All Breakpoint Ctrl+F9 и по новой поставьте точки останова. Помогло. Спасибо. Цитата ivan_fd (  ) Что, пауза в 1 сек проходит за 1 секунду реально???? Я не совсем понял, что Вы имели в виду. На старом компе протеус зависал, когда генератор был настроен на 10МГц. Сейчас ставлю 20МГц - работает.
|
|
|
|