Jump to content

my504

Members
  • Content Count

    5537
  • Joined

  • Last visited

  • Days Won

    6

my504 last won the day on May 26 2019

my504 had the most liked content!

Community Reputation

606 Очень хороший

5 Followers

About my504

  • Rank
    радиоинженер
  • Birthday 09/24/1959

Информация

  • Пол
    Мужчина
  • Город
    Московская область

Электроника

  • Стаж в электронике
    Более 20 лет
  • Сфера радиоэлектроники
    оно всё
  • Оборудование
    какое надо, такое и будет

Recent Profile Visitors

29072 profile views
  1. Кеша, никто никогда магнитные линии не отождествлял с магнитным полем и его напряженностью. Магнитные линии - это всего лишь КАЧЕСТВЕННОЕ (а не количественное) графическое отображение направления поля и его интенсивности в объеме или в сечении объема. В современных программах по расчету магнитных полей графика полей стала цветной и без магнитных линий. Из изображения изобар и изотерм на картах не следует, что между линиями нет давления или температуры. Херню, Кеша, не надо пороть. Ты путаешь абстракции и сущность. Абстракции дают возможность упростить практическую работу с сущностями, но любой вменяемый человек должен понимать, что слово и картинка НИКОГДА не могут заменить само физическое явление. Твое, Кеша, пренебрежение математикой и физикой в угоду собственным фантазиям на основе вольного и рандомного толкования терминов (то есть просто слов) приводит тебя к глупейшим выводам и столь же глупейшим вопросам. Пункты а) и б) - это реально последствия курения каннабиса, а по пункту в) ответ очень простой - скорость света В СРЕДЕ РАСПРОСТРАНЕНИЯ. Кури понятие волнового фронта... Любая РЛС основана на этом.
  2. Оптимизация, помимо формального уменьшения размеров кода и/или увеличения скорости исполнения, требует от программиста понимания этого процесса. Иначе могут быть неожиданные последствия. Но если говорить конкретно о ХС8 и PIC-ах, то необходимость оптимизации уровня PRO достаточно ограничена. Это может касаться только критических мест кода. По моим наблюдениям при работе с PIC18F27Q43 и XC8 версии 2.31 включение о2 (максимальный уровень версии Free) достаточно эффективно убирает простую избыточность (естественно, создавая проблемы для пошаговой отладки по исходному коду). Там, где важно заметно сократить время выполнения, следует писать на АСМе - либо прямыми вставками в исходник на Си, либо отдельным АСМ-файлом с функциями написанными на АСМе. Однако последние модели МК Микрочипа практически не требуют подобных мероприятий, поскольку заточены по инициализацию весьма обширной и развитой периферии с минимальными телодвижениями в while(1) и ISR. PS. PRO-версия добавляет два уровня оптимизации o3 и s. Третий уровень сокращает размер кода, а s увеличивает скорость. Причем увеличение скорости приводит к увеличению размера прошивки из-за инлайна части функций, чтобы сэкономить на call-return, а так же передаче аргументов через программный стек.
  3. Прежде всего, отличается философия писателей кода. И не важно на каком языке пишется код. Просто Си как то следит за "философией", а АСМ позволяет писать практически как Бог на душу положит. Но из последнего не следует, что так нужно писать.
  4. Компиляция исходника на Си проходит в ТРИ этапа. 1. Препроцессинг (подстановка макроопределений в код, включая исполнение директив условной компиляции, когда выбираются только разрешенные условиями ветки кода). 2. Компиляция объектного (перемещаемого) кода. 3. Линкование (привязка к абсолютным адресам).
  5. Во первых, у 16-х нет двух векторов с разными приоритетами. Во вторых, вам бы следовало понять как вообще работает компилятор в смысле от исходника до генерации хекса. Так вопросами привязки кода к абсолютным адресам занимается ЛИНКЕР. В 16-х пиках вектор прерывания прибит намертво гвоздями к адресу 0х0004. И линкер в этой части не настраивается.
  6. А откуда данные о большом количестве "самородков"? Большая тиражность не является достоинством. Это лишь частный случай ширпотреба. Но ширпотреб - это, прежде всего, массовый рынок сбыта. И тут Россия не может быть референсной средой. Для России гораздо ближе относительно малотиражные, но интеллектуально емкие изделия. Это позволяет создать рабочие места и избежать демпинга со стороны Китая. ЗЫ. Что касается затрат на прошивку МК, то такого рода вопросы решают не оптом, а в розницу. То есть в рамках конкретного производства конкретной продукции. Смешно говорить о ФОТ при затратах в 30 сек на изделие с себестоимостью даже 50 долларов. Грубо прикинем накладные расходы. Работник с з/п 50 тыр. Реально работодатель тратит на него примерно вдвое больше - 100 тыр. В месяц имеем примерно 8 часов * 22 дня = 176 часов рабочего времени. То есть расходы на работника составляют 100 тыр/176 часов= 570 руб/час. То есть 1 прошивка будет стоить 570 руб/120 прошивок за 1 час=4 руб.75 коп. Напомню, что в примере фигурировало изделие с себестоимостью в 50 долл*75 руб=3750 руб. А значит, речь идет о расходах на программирование в (4,75/3750)*100%= 0,2% Полагаю, что это не самая существенная статья расходов... Плавающий валютный курс на порядок менее стабилен. ЗЫ. Затраты на "рабочее место" тут отсутствуют. Ибо используется уже существующее "рабочее место". Так, на предприятии, на котором имею честь трудиться лично я, прошивкой МК на платах занимаются те же самые монтажники, которые собирают готовое изделие. Это лишь технологический этап. Совсем крошечный. По факту, невозможно построить сетевой график для всех работников совершенно без зазоров. И в таких условиях, НА САМОМ ДЕЛЕ, затраты на прошивку ВООБЩЕ ОТСУТСТВУЮТ. Прошивка МК занимает пустоты в сетевом графике уже оплаченного рабочего времени.
  7. Тогда придется перейти на PIC16F1459. Он пин2пин совместим с PIC18F14K50, просто потому, что является его реинкарнацией. Но тогда нужно перейти на другой компилятор - XC8. Ну и учитывать особенности 16-х пиков, патамушта у них нет аппаратного умножения и кое чего еще. Но Ваши страдания выглядят наивными. Имея исходник, вывести наружу поток данных не представляет никакой сложности. Наконец, не представляет никакой сложности сделать переходную плату с любого МК, включая PIC18F25K22, чтобы получить полноценный дебаг. Если что, ранее упоминавшийся хедер PIC18F14K50-ICD имеет для подключения к схеме DIP распиновку. То есть совершенно иной шаг выводов. А сам чип в хедере - 28-пиновый, что естественно, ибо смысл хедера - обеспечить пин2пин совместимость по функциональным выводам, изолируя в отдельную группу ICSP пины, включая MCLR. Впрочем, есть и среди PIC18 совместимость пин2пин. Это супер-пупер новый PIC18F14Q40. https://ww1.microchip.com/downloads/en/DeviceDoc/PIC18F04-05-14-15-Q40-1420-Pin-Low-Power-High-Performance-Microcontroller-With-XLP-Technology-Data-Sheet-40002236B.pdf Однако и тут придется перейти на последнюю версию компилятора XC8 и учесть, что периферия этого МК ничего общего с периферией PIC18F14K50 не имеет. Ну то есть вообще не имеет. Например, без исходного маппирования периферии на выбранные пины (PPS) эта периферия не может быть использована. Проще переписать под этот чип код заново.
  8. Вы говорите много, но не о том. 1. Вам доступен ИСХОДНИК прошивки? 2. Если доступен, но на чем написан этот исходник? Вставить передачу по I2C при доступном исходнике особых проблем не представляет. Кстати, отладочный хедер для F14K50 не так уж дорог. Кроме того, при наличии исходника можно спокойно заменить чип на имеющий встроенную отладку. Скажем, на PIC18F25K22.
  9. Он называется ТРАНСИВЕР. Бывают приемники, передатчики и трансиверы (приемопередатчики). К слову, иногда проще поставить готовый модуль, а не чип. Ибо обвязка хоть и не велика, но геморройна.
  10. Вообще то еще больше. 14 тактов - это чистое преобразование. Еще нужно время на захват сигнала. Конденсатор УВХ не может зарядиться мгновенно.
  11. Достаточно одного странного слова, чтобы любой кто в теме признал в вас начинающего. Причем начинающего с азов. Поэтому дать ссылку на такую литературу, где человеку не владеющему азами доступно было изложено конкретное практическое приложение ПРИНЦИПИАЛЬНО невозможно. Мало этого, но и сама прикладная задача вами была сформулирована технически наивно. Что вы понимаете под "регулятором напряжения"? Систему стабилизации напряжения? Или просто систему изменения напряжения?
  12. Ну тогда расстрою ТС. MPASM в MPLABX v5.40 НЕ ПОДДЕРЖИВАЕТСЯ. Только pic-as.
  13. Надеюсь, что код на ассемблере написан на pic-as? Перевода на русский мануала последней версии XC8 (2.20) вы не найдете. Что естественно - Микрочип не переводит документацию на русский язык, а версии компилятора обновляются каждые полгода, примерно. На форуме сайта Микрочипа есть неплохие ветки по практике работы на связке XC8/pic-as. Но это англоязычный сайт. Пользуйтесь переводчиком, если не владеете английским. Например: https://www.microchip.com/forums/m1134573.aspx
  14. Откуда уверенность что это МК? Это специализированная микросхема и по ней даташита в открытом доступе никогда не было и не будет, насколько я понимаю. И к тому же она жутко древняя. Примерно 2006 года издания.
  15. Да, в новых семействах PIC18 применена многовекторная система прерываний. Причем количество векторов огромно и превышает аналогичное в 16-битных МК Микрочипа. Так на каждый флаг даже одной периферии (где несколько флагов) свой вектор. При этом таблица векторов ПРОИЗВОЛЬНО ремаппируется и даже на лету.
×
×
  • Create New...