08.03.2019, 19:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Что это за конфигурационные биты?
Сообщение от my504
|
Так и будете мучиться с Васиком.
|
С Бейсиком я не мучаюсь. Я мучаюсь с английским. Я же по Бейсику не прошу консультаций.
|
|
|
|
08.03.2019, 21:21
|
|
Прописка
Регистрация: 30.07.2006
Адрес: Фрязино, М.О.
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 20 сообщении(ях)
|
Re: Что это за конфигурационные биты?
Сообщение от vladh
|
не прошу консультаций.
|
Еще как просите...
Вы в какой среде работаете? Вы как отлаживаете код? Каким аппаратным дебаггером? Вы как выбираете модель МК?
Все Ваши вопросы связаны с тем, что у Вас маргинальные инструменты, оттого и возникают примитивные вопросы, которые со штатными инструментами никогда не возникнут.
|
|
|
|
09.03.2019, 03:36
|
|
Временная регистрация
Регистрация: 16.02.2019
Адрес: Барановичи
Сообщений: 81
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
|
Re: Что это за конфигурационные биты?
Сообщение от vladh
|
До сегодняшнего дня я разрабатывал изделия на МК с внешним кварцем, и почти никогда не заботился о конфиге. Сейчас я решил упростить себе задачу и использовать то что уже реализовано внутри контроллера. И это сразу же привело меня к настройке конфигурации. И с сторожевым не спящим псом я столкнулся впервые.
|
Первый раз слышу бред о том что конфиг обрабатывает только внутр/внешн кварц, ну да ладно...
Раз уж Вы столкнулись с конфигурацией, то воспользуйтесь тем, что предлагает оболочка MPLABX:
Production/ Set Configuration Bits, внизу в окне выбрать нужную конфигурацию проца, и нажать "Generate Source Code to Output" - будет создана необходимая конфигурация для проца. Эту конфигурацию можно скопировать, и перенести в проект. Это и будет то что хочет от вас хс8, и не надо отсебятины...
Что-то начиная со страницы 3 здесь начались непонятки:
кто-то "накачивает" второстепенный (часовой) генератор - это стандартный 16-ти битный таймер: может тактироваться кварцем, или от внутреннего генератора,или от... Да там куча функций..., Другой конфиг может переписать, и при этом я так понял - разлочит (CP0 - CP3 = 0) и можно будет чужие прошивки "сдирать" безнаказанно...
А ещё :
Сообщение от vladh
|
С этим я давно разобрался. И спасибо Вам за внимание и участие. Но вот обнаружилась еще одна проблема, которая, как я подозреваю, также связана с конфигурированием. А дело вот в чем. Программа запускается и работает. При этом она выдает на экран информацию. Но это пассивный режим. После того как я нажимаю кнопку Пуск. Программа в зависимости от ситуации начинает выдавать на один из выходов ШИМ-сигнал, который поступает на драйвер и затем на один из силовых ключей. В зависимости от значения выходного тока, который получается от работы ключей, контроллер стабилизирует этот ток. Это краткое описание программы. Так вот контроллер начинает выдавать один из ШИМов и все работает. Но вдруг, по истечении ~ 2 мин. происходит сброс МК. И это не зависит
...
|
Сообщение от vladh
|
Вот в данном конкретно случае наверное надо задействовать эту функцию, поскольку изделие должно работать сутками и без присмотра оператором. Хотя такая перестраховка может сама привести к нежелательным результатам.
|
Вы сами писали ту бредятину (программу, которую хотите "залить" в проц, или кто-то помогал ?!? Надеюсь пока нигде такая срань не работает, а то это хуже террористов будет...
|
|
|
|
11.03.2019, 02:24
|
|
Супер-модератор
Регистрация: 09.06.2011
Сообщений: 2,686
Сказал спасибо: 74
Сказали Спасибо 1,807 раз(а) в 654 сообщении(ях)
|
Re: Что это за конфигурационные биты?
Сообщение от vladh
|
Может быть. Ну вот Вы всегда уверены, что Ваш код будет работать безупречно и никогда не улетит в одному ему известные дали? Я думаю, что не всегда.
|
К этому нужно стремиться. Если код куда-то "улетает" - значит, в программе есть ошибки. Их нужно отлавливать и исправлять. А не латать код заплатками в виде обработчиков "на всякий случай"...
Сообщение от my504
|
Конфиг, действительно ВСЕГДА нужно прописать полностью, включая дефолтные значения.
Но совет писать в абсолютных адресах и кодах - негодный совет.
Просто аккуратно укажите все значения конфига в символьной форме.
|
Я в этих символьных "кракозябрах" гораздо быстрее запутаюсь, чем в абсолютных адресах и кодах. Смотрите даташит на конкретный МК, там все значения конфигурационных битов с их адресами приведены именно так - в абсолютной форме. Так что ничего страшного в этом не вижу...
Последний раз редактировалось RECTO; 11.03.2019 в 03:11.
|
|
|
|
11.03.2019, 10:07
|
|
Прописка
Регистрация: 30.07.2006
Адрес: Фрязино, М.О.
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 20 сообщении(ях)
|
Re: Что это за конфигурационные биты?
Сообщение от RECTO
|
Я в этих символьных "кракозябрах" гораздо быстрее запутаюсь, чем в абсолютных адресах и кодах. Смотрите даташит на конкретный МК, там все значения конфигурационных битов с их адресами приведены именно так - в абсолютной форме.
|
Вообще-то у регистров есть СИМВОЛЬНЫЕ ИМЕНА. У каждого бита регистра есть СИМВОЛЬНОЕ ИМЯ, являющееся аббревиатурой его назначения.
В первый раз слышу, что написать WDTEN=0 менее понятно, чем разыскивать бит в регистре и не ошибиться с его порядковым номером и значением относительно сущности...
А если взять 16-разрядные МК того же Микрочипа, то там мало того, что регистры конфига имеют смысловую аббревиатуру, а не только порядковый номер, так еще и АДРЕСА регистров приведены только в разделе программной памяти, что требует хитровывернутого поиска по всему даташиту...
И сделано это не из вредности, а патамушта абсолютный адрес зависит от размера флеша. И придется приводить ТАБЛИЦУ адресов для одного и того же МК с разным размером флеша.
PS. В догон.
В самом конце inc-файла конкретного МК есть ПОЛНОЕ ОПИСАНИЕ и дефайны всех регистров конфигурации и их битов. С корректным синтаксисом. Тупо можно скопипастить в проект.
Последний раз редактировалось my504; 11.03.2019 в 11:26.
|
|
|
|
11.03.2019, 10:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Что это за конфигурационные биты?
Сегодня проверил то, что уважаемые форумчане посоветовали и убедился в Вашей правоте и в том как Ваши знания и опыт помогли мне быстро решить мои проблемы. Огромное Вам всем спасибо. Особенная моя благодарность my504, RECTO, val_ka, Ivan_fd, mike-y-k.
|
|
|
|
11.03.2019, 16:19
|
|
Супер-модератор
Регистрация: 09.06.2011
Сообщений: 2,686
Сказал спасибо: 74
Сказали Спасибо 1,807 раз(а) в 654 сообщении(ях)
|
Re: Что это за конфигурационные биты?
Сообщение от my504
|
В первый раз слышу, что написать WDTEN=0 менее понятно, чем разыскивать бит в регистре и не ошибиться с его порядковым номером и значением относительно сущности...
|
Ну вот, и услышали!..
Причём, "разыскивать"-то там ничего и не надо - в даташите отдельный раздел существует, где вся инфа по регистрам конфига собрана в кучу и расставлена по порядку.
Писать символьные имена - ну, это не столько понятнее, сколько нагляднее. Удобно для начинающих. Но здесь для них как раз и кроется ловушка - очень легко можно что-то пропустить. Особенно, когда копипастишь эти кракозябры из одного проекта в другой, а там МК с тем же ядром, но другой периферией, допустим. А пропустили - значит, что-то установится по дефолту, а вы и знать даже не будете...
Впрочем, я никого и не агитирую делать именно так, как описал. Сразу ведь предупреждал, что совет - "вредный"...
P.S. vladh, не за что!
|
|
|
|
11.03.2019, 18:17
|
|
Прописка
Регистрация: 30.07.2006
Адрес: Фрязино, М.О.
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 20 сообщении(ях)
|
Re: Что это за конфигурационные биты?
Сообщение от RECTO
|
очень легко можно что-то пропустить. Особенно, когда копипастишь эти кракозябры из одного проекта в другой
|
Не надо копипастить из проекта в проект. Надо копипастить из inc-файла.
Все регистры конфига подряд.
|
|
|
|
16.03.2019, 10:35
|
|
Временная регистрация
Регистрация: 16.02.2019
Адрес: Барановичи
Сообщений: 81
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 1 сообщении
|
Re: Что это за конфигурационные биты?
Сообщение от RECTO
|
Писать символьные имена - ну, это не столько понятнее, сколько нагляднее. Удобно для начинающих. Но здесь для них как раз и кроется ловушка - очень легко можно что-то пропустить. Особенно, когда копипастишь эти кракозябры из одного проекта в другой, а там МК с тем же ядром, но другой периферией, допустим. А пропустили - значит, что-то установится по дефолту, а вы и знать даже не будете...
|
Вот от кого-то другого я бы понял, но от Вас !?!
ВСЁ именно и пишется символьными именами. Мало того, даже для битов общего ОЗУ (для конкретных байтов) присваиваются имена...
Вы видать зациклились на PIC16F628A, и не понимаете - что даже "асм" прошивка намного быстрее портируется на другой проц - если Вы биты портов "обозвали" некими СИМВОЛЬНЫМИ именами...
|
|
|
|
16.03.2019, 16:12
|
|
Супер-модератор
Регистрация: 09.06.2011
Сообщений: 2,686
Сказал спасибо: 74
Сказали Спасибо 1,807 раз(а) в 654 сообщении(ях)
|
Re: Что это за конфигурационные биты?
Сообщение от pic121618
|
Вот от кого-то другого я бы понял, но от Вас !?!
ВСЁ именно и пишется символьными именами. Мало того, даже для битов общего ОЗУ (для конкретных байтов) присваиваются имена...
Вы видать зациклились на PIC16F628A, и не понимаете - что даже "асм" прошивка намного быстрее портируется на другой проц - если Вы биты портов "обозвали" некими СИМВОЛЬНЫМИ именами...
|
pic121618, речь шла только о регистрах конфига. Причём, пример был дан для одного из PIC18 (а не 16). Программным переменным, конечно, стоит назначить символьные имена...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:13.
|
|