Jump to content

    

evc

Свой
  • Content Count

    201
  • Joined

Community Reputation

0 Обычный

About evc

  • Rank
    Местный
  • Birthday 12/11/1971

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

1655 profile views
  1. добрый вечер, Дарю PICKit3 и ICD3 актуально еще?

    1. Рамуальд Альгедрасович

      Рамуальд Альгедрасович

      Мне удобней вести переписку на адресе  ramuald_a@mail.ru

  2. IDE и DevBoards

    Да нет, я такое не писал. Мы-то с вами это понимаем. Однако грустно, конечно, но есть достаточно большое количество молодых людей, которые смотрят на ассемблерский листинг как собака Павлова - с такими большими умными глазами, как будь-то бы вот-вот и начнут говорить... Я имел ввиду, что "железо" нужно знать и понимать как оно работает. Это моя философия, никому, конечно, не навязываю. И, кстати, ни один листинг вам не скажет что происходит, например, с логическими ячейками (logic cell - новая выдумка Майкрочипа)... Так что, ничего не надо доводить до абсолютизма, я считаю. Но это уже флуд в данной теме.
  3. IDE и DevBoards

    "Хэ", это еще цветочки! Чего стоит одна только "MPLAB® Harmony Software Framework"...
  4. IDE и DevBoards

    Боже! Почувствовал себя полным лохом. Но да. Я тоже пользуюсь отладчиком при переходе на новую платформу, потому что для меня важно разобратся как оно там внутри тикает. И кстати, когда принимаю новых коллег, если они мне не успевают объяснить как "оно там внутри тикает", прикрываясь фразами "С компилятор все сам сделает", я их просто ... не принимаю. Vanity, defenitely my favorite sin!
  5. IDE и DevBoards

    Спасибо за ответ! Да, действительно на счет энергопотребления вы правы - батарейное питание вносит свою корекцию. Мне не приходилось, вот и не задумывался. Я одно время поглядывал в сторону Cypress-а, но потом появились 16-ые пики с расширенной аналоговой периферией и они меня устроили.
  6. IDE и DevBoards

    И после этого вы еще утверждаете, что: =АК=, если серьезно, мне вот, интересно, почему АРМ? Почему не МИПС? Я после 24-й серии перешел на 32 и прекрасно себя чувствую. Может я что-то пропустил? Вопрос серьезный, без подкола.
  7. Нет, только один - PCLATH. Я наверное, старею, поэтому все таки вам отвечу: в STATUSе хранятся биты для определения страницы оперативной памяти. В PCLATHе хранятся биты для определения страницы программной памяти. Еще в первом посте на этой странице я вам привел код для обработчика который сохраняет и то и другое, чего в вашем коде нет. Но, к сожалению, выходит правда - очевидные вещи, самые малозаметные - вы вцепились в этот STATUS и в упор не замечаете PCLATH.
  8. из-за этого получаете несанкционированные входы в обработчик прерываний ... но как скажете.
  9. ddd-ekb, слово "скрываете" я использовал в шутку. ViKo, однако прав, я давно на ассемблере не писал, вот и забылось. Как я вам и писал - именно адресация страниц портится у вас, в обработчике прерываний. Уважаемый ViKo, навел на правильную мысль. Попытайтесь поставить вот такую преамбулу обработчика прерываний и соответственно на выходе тоже обратный код: ORG 0x004 ; interrupt vector location movwf w_temp ; save off current W register contents movf STATUS,w ; move status register into W register movwf status_temp ; save off contents of STATUS register movf PCLATH,w movwf PCLATH_temp clrf PCLATH ... здесь ваш обработчик прерываний... movf status_temp,w ; retrieve copy of STATUS register movwf STATUS ; restore pre-isr STATUS register contents movf PCLATH_temp,w movwf PCLATH swapf w_temp,f swapf w_temp,w ; restore pre-isr W register contents retfie ; return from interrupt
  10. По поводу предделителя и буквой "i" я тоже так прикинул, как вы потом и написали. По поводу таймера и п.6.4, там действительно несколько строчек, которые меня тоже насторожили, но имеется ввиду (в п. 6.4. и потом), что если во время записи произойдет переполнение таймера, результат может быть непредсказуемым. Если вы от нас ничего не скрываете (вы не обижайтесь, я немножко отклонюсь: приходят сюда, значит, [не]определенные товарищи и подбрасывают всякие казусы. Мы начинаем здесь ломать копья, стрелы, организуем интеллектуальные [и не очень] битвы титанов, и наконец, где-то на десятой странице обсуждения, когда чуть ли не мы уже подрались здесь всем форумом, приходит топик стартер и такой, "а вот и не угадали! у меня MCLR был не подключен, вот и болтался в воздухе, вот и происходили случайные сбросы." и ставит три улыбочки, для подчеркивания эффекта.), значит нужно посмотреть другое: Судя по вашим продуманным (в общем) действиям, с железом у вас все в порядке. Но не помешало бы, еще раз перепроверить. Потом. Это действительно старый процессор. Я смотрю, вы весь PIR1 обнуляете. Но это - только периферийные прерывания. Есть еще и в INTCON-е. Не забывайте, что, например Таймер0 нельзя отключить, он всегда работает, даже и если настроить его брать такт с T0CKI. Но! Самый главный подводный камень - по-страничная организация памяти. Если у вас осуществляется переход (типа goto, return, retlw и т.д.) из одной страницы на другую, то это вам нужно позаботиться правильно переключить биты RP0 и RP1 в STATUS-е. Скорее всего это именно ваш случай. Таким образом вы можете попасть аккурат в середину обработчика прерываний и он исполнится. Другая очень часто встречаемая ошибка - табличное чтение. Если при чтении из таблицы (вычисляемый офсетный переход), вы проскочите и попадете в пустую область, программный счетчик просто перелопатит всю программную память и вернется на адрес 0. Опять со всеми вытекающими. Для этого перед табличным чтением всегда нужно проверять аргумент функции - не превышает ли его значение количество объектов в таблице. Также, имейте ввиду (хотя, это вряд ли ваш случай), при переполнении или при попытке уменьшать указатель стека ниже ноля, происходит сброс. Это может случится, например, если по какой-то причине не сбросился флаг прерываний (IF). Так что - посмотрите все очень внимательно и если есть новые соображения - спрашивайте.
  11. Каждый раз когда перезаписываете один из регистров Таймера1, вы обнуляете предделитель. ???
  12. Куплю новую или б/у станцию ERSA i-Con1 или 2(предпочитаю одноканальную).
  13. Всех с наступающими праздниками! Я писать стихи не очень умею, поэтому: Всем здоровья! Счастья! Успехов! Послушных процессоров, без недокументированных багов! Что бы код всегда получался быстрым и эффективным! Что бы схемотехника всегда в реале работала как в симуляторе! Много и щедрых заказчиков! Умных начальников и совестливых коллег!
  14. Конечно, всегда можно сказать, что вы тоже плохо изучали физику, потому что не учитываете длину волны соотносительно размеров физических объектов ее отражающих... Но я никогда таких вещей не говорю... К тому же, вы не учитываете способ детектирования ультразвуковых волн ... ну вообще!