![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| quarz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 7.1.2005 Репутация: нет Всего: 3 |
Пишу для PIC16F74 программу - по стробу на portb,0 выдает побитно переменную. Не работает!
Он даже не выходит на прерывание
|
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
В симуляторе работает?
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| quarz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 7.1.2005 Репутация: нет Всего: 3 |
если честно не пробовал, мне тоже такая мысль приходила. Но я ее упорно отгонял, лень было доставать диск и ставить. Вместо этого я еще раз просматривал код. Но ошибок нет. Нет?
|
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Я тебе помочь не смогу, т.к. на пиках не программлю.
Но могу подсказать следующее: а) проверь разрешил ли ты прерывание по перепаду уровня на выводе б) проверь по какому перепаду (из нуля в единицу, наоборот и т.п.) в) разрешил ли ты глобально прерывания (т.е. разрешил ли ты в принципе прерывания) г) настроен ли пин-прерывания на вход (возможно в ПИКах это не нужно) д) настроен ли пин для передачи на выход(возможно в ПИКах это не нужно) Если ты пересылаешь байт, то как ты собираешься увидеть что очередной байт пересылается если скорость передачи очень большая, можно и не увидеть. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| quarz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 7.1.2005 Репутация: нет Всего: 3 |
PILOT спасибо, все эти действия сделаны.
Алгоритм такой: по каждому переднему фронту стробы пик выдает биты переменной начиная с младшего(сдвиг вправо). Скорость передачи байта зависит от частоты стробирующих импульсов. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
ясно, сам понимаешь, я не ПИКист
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 8 Всего: 99 |
А это что значит? -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Осмелюсь предположить, что при дерганьи вывода который вызывает прерывание не происходит самомго проерывания, вот только как он это обнаружил без эмулятора и симулятора?
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| quarz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 7.1.2005 Репутация: нет Всего: 3 |
PILOT - точно. А обнаружить это не составило никакого труда. Как видно из кода, в Int'е я вывожу побитно переменную const на portb<1>. Но ее состояние даже не меняется.
Пробовал также в главном цикле(Begin-->End) отсылать пик поспать. При этом тактовый генератор тоже молчит и любое прерывание должно выкинуть пик в подпрограмму обработки прерывания Int. Но генерация по прежнему не восстанавливается. Я думаю есть какие то особенности настройки прерывания у этого пика. Пролистал всю книгу - тишина... |
|||
|
||||
| cardinal |
|
||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 8 Всего: 99 |
А это
и это
как у тебя реализовано? p.s. мне просто команды pic'a неизвестны... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||
|
|||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
Вот этот кусочек очень интересен. Я в асме не очень силён пока, но впервые вижу использование goto для перехода на обработку прерывания. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
А как еще???
|
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
ManiaK
По другому не сделаешь, либо прямо на месте обрабатываешь (если позволяет архитектура), несколько байт там бывает... СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
1 мая - гнусный праздник! Принесли сейчас PIC12F675, тоже с прерываниями работать придётся. Т.ч. "как только - так сразу!" |
|||
|
||||
| quarz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 7.1.2005 Репутация: нет Всего: 3 |
Все, теперь ясно в чем было дело. Моя ошибка. А пока вчера с другом разбирались в чем дело погром у него дома устроили...чего стоит что мы винду98 ставили 4 часа...на 4 компах пробовали...
В общем код, который я выложил в самом начале, рабочий. А какие чудеса вчера творились - кину на днях тему во флейм. Я сам думал что чертовщины не бывает.. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Поздравляю с успехом!
Чудес очень много! У меня в четверг программатор не хотел прошивать шлэшку w29e012 даже идентификатор не читал... программирую в сотаве системы (ISP). Все работало и вдруг БАЦ!!! Думал всё! Труба... чуть не отдал в цех на замену микросхемы, думал все сгорело... Оказалось, статческое электричество... перезагрузил компутер и все заработало (компутер 486DX20).. Замечаю, бывают благоприятные и неблагоприятные дни для работы, какой сегодня день узнаешь с утра, поэтому можно скорректировать деятельность СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| ManiaK |
|
||||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
Выяснился один интересный момент. Код, приведённый в первом посте, не совсем верный: несколько неправильно выполняется сохранение регистра STATUS - команда MOVF меняет флаг Z. В русскоязычной документации на P12F675 нашёл совет:
Казалось бы: один флаг, ерунда. Ан нет, у меня были большие проблемы, пока этот способ не применил. Соответственно вот восстановление:
|
||||
|
|||||
| rcdimon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 766 Регистрация: 12.7.2004 Где: Москва Репутация: нет Всего: 2 |
Спасибо, мы с quarz'ем вместе все делаем. Теперь будем знать. Спасибо.
|
|||
|
||||
| Стреллок |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 22.4.2005 Репутация: нет Всего: нет |
ManiaK - круто! Такие тонкости нечасто вижу. Ведь правда - сама команда movf изменяет флаги. Вот только вопрос: она их изменяет до выполнения себя или после? Ну раз у тебя не работало из за этого значит до
|
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
До! В том и весь фокус! |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |