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

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


NebsteR

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

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

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

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

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

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

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

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

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

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

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

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

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

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 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 месяца спустя...

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

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

cap.jpg

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

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

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

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

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

@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 пользователей онлайн

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

  • Сообщения

    • Ну так он эту же оптопару оставил, просто сопротивление резистора уменьшил. Не в быстродействии тут дело было и не в бобине... Реагируют довольно таки быстро на изменение.
    • Всё может быть ещё хуже. Заказывал на али 741, приехали ОУ хуже по параметрам и со ступенькой при тесте на скорость нарастания. Полез ковырять интернет, выяснил, что это кристалл оу 709. То есть, по сути, китайцы подсунули 140уд1 Сейчас потихоньку слезаю с утыканных во все схемы БП TL07x, 358 и прочего древнего хлама, который китайцы преимущественно подделывают. Сначала взял в чипе LF353 как замену TL072, но в 2 раза дешевле, а потом открыл для себя мир китайских КМОП ОУ и забыл про все эти древние микрухи. Вот парочка, которые я заказал, и сейчас потихоньку внедряю в схемы для теста их способностей: TP2272, сочетает в себе полевиковые входы, рейл-ту-рейл выход и работу около минусовой шины. Стоит в чипе 24 рубля/шт, минимальная партия 19шт. Единственный минус, который я пока что выявил, который "спрятан" в даташите - судя по всему, у нее, как у LM318, между входами стоят диоды, отчего дифференциальное напряжение по входу ограничено +/-0,5В, т.е. как компаратор ее использовать конечно можно будет но потребуется ограничивать ток по входу при превышении заданного диапазона дифф напряжения. Питание у неё 36В, но в даташнике максимум  указывают 40. RS8551 (а так же сдвоенные 8552/счетверенные 8554) - на удивление дешевый (65р за сот23-5, 120р за 8554) и быстрый (4,5МГц 2,7В/мкс) пятивольтовый чоппер, с неплохими заявленными параметрами на уровне тех же аналоговых девайсов, у которого в даташите даже отдельно указан шум в полосе 0,01-1 и 0,01-10 Герц, что намекает на области применения. Я пока вожусь в микрокапе с его аналогом по скоростным параметрам от AD, в попытках заставить работать в "схеме шелестова" от +/-2,5В. В прототипе самопального двухвольтового "калибратора" на DAC8830 и REF3120 он уже себя отлично показал как выходной буфер по диапазону напряжений выхода и смещению. Жаль, что заявленные характеристики мне подтвердить особо нечем (могу замерить разве что смещение и скорость нарастания). Но, даже если китайцы и обманывают, например, раза в два по значениям - при таком порядке величин, и такой цене, это всё ещё нормальная альтернатива.   В итоге философская ситуация получается - довериться китайцам, пишущим даташит на исконно китайские ОУ, или довериться китайцам, продающим "не китайские" ОУ по импортным даташитам известных фирм...
    • Добрый день. Случилась такая же беда. Маркировку  китайцы тоже затёрли. Подскажите пожалуйста, Вы решили проблему и каким образом? Спасибо.
    • Резонит выпустил справочник по разработке плат для заводского изготовления: https://disk.yandex.ru/d/WF9AS5mbKdCjrQ Для тех. кто всё это знал, но немного подзабыл справочник тоже будет полезен 
    • Бред какой. Они в ИИП  работают в аналоговом режиме, через ФНЧ. Ну и в даташит вам не мешает заглянуть.
  • Похожий контент

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