Перейти к содержанию

Общие вопросы по PIC-микроконтроллерам


NebsteR

Рекомендуемые сообщения

@Alex а версия компилятора ХС8 RPO стоит того, что бы ее покупать?
Интересен взгляд человека который владеет и пользуется.
Оптимизация сильно влияет на размер и скорость выполнения кода?
Есть ли какие-то еще полезные и стоящие плюшки?

Ссылка на комментарий
Поделиться на другие сайты

<Splav    Со временем получается намного лучше.>

Я так в этом даже и не сомневаюсь. :)

Только не совсем понял, что вас так обидело в моём комментарии? Наоборот, Имхо считаю, что  вы выбрали правильный путь - от АСМ к языку более высокого уровня. Т. к. опять же по моему, АСМ учит пониманию пошаговой логике построения процесса. Язык же более высокого уровня (как было замечено выше) может быть совершенно любым. И я только постарался напомнить, что там иногда реализация простых вещей может потребовать очень непростых (и совершенно индивидуальных для каждого языка и различных компиляторов с них) конструкций. Так что часто бывает логичнее написать кусок на АСМ. Так что только это я и имел в виду.

<my504  Просто Си как то следит за "философией", а АСМ позволяет писать практически как Бог на душу положит.>

Сорри, но "за философией следит"  компилятор, А так как нельзя предусмотреть аббревиатурой псевдоязыка  ВСЕ возможные случаю логики, то и компиляция не во всех случая может быть оптимальной. Я совсем не против любого языка, но каждый пишет и рекомендует так как считает более оптимальным.

А на АСМ да, вы правы, можно написать вроде бы и рабочее ... :( , но мы же не об этом.;)

Ссылка на комментарий
Поделиться на другие сайты

55 минут назад, Splav сказал:

а версия компилятора ХС8 RPO стоит того, что бы ее покупать?

Скажу так. В фри-версии, код искуственно раздувается компилятором. Причём, раздувается не слабо.
Разница между Free и Pro - ощутима.

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

22.01.2021 в 01:22, Splav сказал:

Оптимизация сильно влияет на размер и скорость выполнения кода?

Оптимизация, помимо формального уменьшения размеров кода и/или увеличения скорости исполнения, требует от программиста понимания этого процесса. Иначе могут быть неожиданные последствия.

Но если говорить конкретно о ХС8 и PIC-ах, то необходимость оптимизации уровня PRO достаточно ограничена. Это может касаться только критических мест кода. По моим наблюдениям при работе с PIC18F27Q43 и XC8 версии 2.31 включение о2 (максимальный уровень версии Free) достаточно эффективно убирает простую избыточность (естественно, создавая проблемы для пошаговой отладки по исходному коду). Там, где важно заметно сократить время выполнения, следует писать на АСМе  - либо прямыми вставками в исходник на Си, либо отдельным АСМ-файлом с функциями написанными на АСМе. Однако последние модели МК Микрочипа практически не требуют подобных мероприятий, поскольку заточены по инициализацию весьма обширной и развитой периферии с минимальными телодвижениями в while(1) и ISR.

PS. PRO-версия добавляет два уровня оптимизации o3 и s. Третий уровень сокращает размер кода, а s увеличивает скорость. Причем увеличение скорости приводит к увеличению размера прошивки из-за инлайна части функций, чтобы сэкономить на call-return, а так же передаче аргументов через программный стек.

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Доброго времени суток.

Нужна помощь в определении номиналов smd конденсаторов. Коротко: имеется плата с dspic33ep32mc204-i/pt который управляет дисплеем без маркировки ( визуально  на aliexpress nokia 5110 1 в 1),  а так же клавиатурой 4х4. Конденсаторы сломались при доставке почтой (сломался ферритовый сердечник обломок которого и покоцал часть дорожек (не критично) , и сломал 3 конденсатора. Вывода м/к (по даташиту Microchip) дорожки с которых идет управление клавиатурой  25, 26, 27, 30, 31, 32. 

cap.jpg

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

А что же Вы с  плохим английским собрались в электронике делать?

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

@alltum , не передёргивайте. Быть англоязычным и знать технический английский - это две большие разницы. Вы бы ещё в программисты намылились, и возмущались, почему там требуется знание ещё каких-то языков, кроме русского. Кстати, у вас и с русским-то не очень... Вон, перед "что", "но", "который" и пр. запятые не ставите...

Учите. Не юродствуйте. :)

Ссылка на комментарий
Поделиться на другие сайты

  • 2 года спустя...

Всем доброго времени суток!

Извиняюсь если не в той теме спрашиваю.

Несколько лет назад находил части datasheet на pic24 на русском, (описания отдельных модулей), в т.ч. модуля АЦП.

Сегодня весь Гугл перелопатил, и ничего подобного не нашел. Если у кого-то есть рабочая ссылка или сохранённый pdf, прошу поделиться!

Заранее спасибо!

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Всем привет! Подскажите пожалуйста, как исправить вот такую ошибку MPLAB 8.92:

Error - section '.org_2' can not fit the absolute section. Section '.org_2' start=0x00000002, length=0x00000ff6 Errors    : 1

МК PIC16F628A. На других версиях MPLAB с этим кодом такая же ошибка.

FLC.rar

Ссылка на комментарий
Поделиться на другие сайты

56 минут назад, IREK_1984 сказал:

вот такую ошибку

Прерывание не может иметь начальный адрес 0х0002,
к тому же, у вас по этому адресу уже записана команда     movlw  0x07.
ЗЫ ну и сохранение контекста в прерывании сделано через опу  с потерей данных аккумулятора.

Изменено пользователем IMXO
Ссылка на комментарий
Поделиться на другие сайты

Всем доброго времени суток!

Есть автоматика от секционных гаражных ворот с PIC16F77.
Был вытекший электролит, в следствий чего то ли слетела прошивка, то ли вышел из строя PIC.

Выяснилось, что при нажатии кнопки "открыть", на 43 ноге должно появиться 5в, а при нажатии "закрыть", те же 5в должны быть на 32 ноге.

У нас же вне зависимости от того какую кнопку нажимаешь, ворота идут всегда в одну сторону, в сторону закрытия. То есть при нажатии "открыть" 5в приходят на 32 ножку, а не на 43, так же как и при нажатии "закрыть".

Помимо этого, обороты мотора не стабильны, то возрастают, то снижаются. Видимо из-за того, что после нажатия кнопки открыть/закрыть, с 5 и 36 ножки выходит нестабильное напряжение (типа синусоидальной формы). На 5-ой ножке микроконтроллера напряжение циклично скачет от 0 до 0.5 вольт, а на 36-ой скачет от 0 до 5 вольт. То есть 0, потом повышается до 5 и снова до 0 и опять до 5 и т.д.

Питание МК стабильные 5в.

Может кто подсказать, можно ли вытащить прошивку с PIC16F77?

Может знает кто, как проверить исправен ли МК?

sna2.jpg

Изменено пользователем NikaNet
Ссылка на комментарий
Поделиться на другие сайты

Этот исходник был вместе с hex файлом, устройство (FCL измеритель) работает с этой прошивкой, захотел кое что изменить в коде. Ассемлером давно не занимался, но думаю что если вникнуть все получится. 

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, IREK_1984 сказал:

Этот исходник был вместе с hex файлом

А кто Вам сказал, что hex получен из этого исходника?
Вы сделали дизасм хекса?

9 часов назад, IREK_1984 сказал:

если вникнуть все получится

нет препятствий.

Изменено пользователем IMXO
Ссылка на комментарий
Поделиться на другие сайты

Не факт конечно что hex сделан из этого файла, я только предположил. Дизассемб. не делал, а что это даст? Редактировать такой файл думаю я не смогу. 

Ссылка на комментарий
Поделиться на другие сайты

В исходнике какой то "умник" переставил три строки кода в самое начало. Их нужно переместить после:

mai	  
        clrf		Flags

Хотя сама манера написания кода совершенно отвратительная. Про ошибки даже не говорю.

 

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, my504 сказал:

В исходнике какой то "умник" переставил три строки кода в самое начало. Их нужно переместить после:

 нормальная практика при недостатке памяти программ,
не обязательно на скорость полета для 628А не влияет.

1 час назад, IREK_1984 сказал:

а что это даст?

это даст возможность сравнить исходник и рабочий код.

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, IMXO сказал:

нормальная практика при недостатке памяти программ,
не обязательно на скорость полета для 628А не влияет.

Вообще то вектор прерываний в этой архитектуре прибит гвоздями. Поскольку прерывания включены, то с какого перепуга произведено перемещение части кода в начало?

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

ну гвоздями,
ну включены,
в чем проблема использовать первые четыре адреса для кода программ , собственно он там специально для этого и сделан...

Ссылка на комментарий
Поделиться на другие сайты

От автора (тот кто доработал) удалось узнать только то что прошивка сделана на MPLAB 8.40, на вопрос почему возникает такая ошибка он не ответил. Измеритель изначально был собран 84м пике, если не ошибаюсь автор Буйнов, потом его многие переделывали. 

В архиве 2 исходника которые не компилируются и  hex файлы. 

628lcf.zip

Изменено пользователем IREK_1984
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...