Но прихожу к выводу, что для работы с PIC нужно 200 тысяч для покупки нового железа. А то при установки MPLABX-v5.45-windows-installer.exe моё старое ругается: Невозможно запустить это приложение на вашем ПК
Какие еще 200 тыс.? Вы чего несете? За 30 тыс. можно купить совершенно пригодный для работы новый брендовый десктоп. С 10-й виндой. А без ОС вообще можно уложиться в 20 тыс. Это если не учитывать покупку б/у железа или его самостоятельную сборку. Я на работе делаю проекты на PIC/dsPIC на 7-ой винде на MPLABX версий 5.35/5.45/5.50. Компьютеру лет 5 от роду. Про компилятор я уже вам ранее написал. Нужен ТОЛЬКО ОДИН. А у вас обозначены две версии. В проекте может работать ТОЛЬКО ОДНА. Ассемблер pic-as поставляется вместе с компилятором XC8 и не требует никакой дополнительной установки. Тем более, что проект с гитхаба сделан на чистом Си и ему специальное указание на версию ассемблера вообще без нужды. Все стандартные версии компилятора XC8, как и сам MPLABX любой версии - бесплатны.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Есть (чужой) проект для PIC16F18877 под среду разработки mikroE pro for pic. Денег на эту среду - нет. Как правильно подойти к переносу исходников в MPLAB X IDE?
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4510 Откуда: Планета Земля
Рейтинг сообщения:1 Медали: 1
Если автор использует в коде какие-нибудь МИКРОешные библиотеки, то как минимум, их придётся писать самому. С остальным проблем не должно возникнуть. Компилятор XC8, для вашего камушка. Он бесплатный.
Есть (чужой) проект для PIC16F18877 . . . Как правильно подойти к переносу исходников в MPLAB X IDE?
Как я вас понимаю, занимаюсь тем же самым. Тяжко вам придётся, в микроЕ есть куча библиотек которых нет в МПлабе, и их придётся писать ручками Да кстати дошёл до момента когда мне нужна функция конвертирование числа в строку, я так понимаю её тоже нужно самому написать?
Вы даже не представляете на сколько эти среды отличаются, это что то среднее между ардуиной и MPLAB'ом. Предложите ардуинщику пересесть на MPLAB без необходимости, он на первом же этапе охренеет от того в какие дебри лесть придётся.
Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4510 Откуда: Планета Земля
Рейтинг сообщения:2 Медали: 1
alex_ писал(а):
мне нужна функция конвертирование числа в строку
sprintf Вам поможет. Или itoa.
Добавлено after 5 minutes 43 seconds:
alex_ писал(а):
Вы даже не представляете на сколько эти среды отличаются
Представляю. Как-то, давным-давно, пробовал устанавливать MicroC. Тут, как бы, дело не совсем в среде. Дело в компиляторе. И Микроешный компиль тащит за собой ещё и кучу библиотек, типа для облегчения жизни программистам. Хотя, на сколько я помню, библиотеки у них - так себе ...
При создании проекта нужно переключить галочку на None и не одна библиотека не будет подключена, хотя и отключить их можно после создания проекта. К самим библиотекам у меня претензий нет, вполне неплохо работают. В моём случае проблема в компиляторе, из-за него пришлось код переносить, оптимизирует даже то что не нужно ((( Чем же хорош микроЕ: куча библиотек для быстрого старта. И обалденный хелп с готовыми примерами. В котором не надо прочитывать половину хелпа чтобы понять как должен выглядеть код. Там приводиться полный пример кода т.е. новичок открывает пример, полностью его копирует в IDE, нажимает кнопку компилировать и о чудо всё компилируется без всяких танцев с бубном. В других средах же приводиться обычно основной участок кода, но чтобы он заработал надо ещё кучу времени потратить чтобы понять каких дефайнов или инклудов нехватает.
Добавлено after 11 minutes 20 seconds: Кстати по поводу хелпа MPLAB X: сидел пол дня изучал готовые функции(нафига городить свои если есть уже готовые), дочитал до Peripheral Library, ну думаю отлично. Пытаюсь запустить от туда функцию а оно ругается Оказалось что эта библиотека уже несколько лет не поддерживается и в текущий пакет установки не сходит А потом ниже смотрю, дата хелпа 2008 год, в новом MPLAB X который скачал и установил полгода назад
Как я уже и писал выше, MPLAB это вам не микроси. Уже второй день пинаю функцию NVM_WriteRow, невкакую писать не хочет Результат выполнения: СпойлерInit Program Flash &databuff=A0000020 NVM_WriteRow NVMADDR= 1D010000 NVMSRCADDR= A0000020 Данных нет, пишем, rez= 00002000 Код: Спойлер
Код:
unsigned int NVM_WriteRow (void* address, void* data)// куда пишем/указатель на массив(в RAM) который нужно записать { unsigned int res; // Set NVMADDR to Start Address of row to program NVMADDR = (unsigned int)address; // Set NVMSRCADDR to the SRAM data buffer Address NVMSRCADDR = (unsigned int)data & 0x1FFFFFFF; // Unlock and Write Row
res = NVM_Unlock(0x4003); // Return Result return res; }
Короче разобрался, вот ещё вчера была мысль что проблема где то в адресации, блин напридумали всякой хрени под названием виртульная адресация Обращаем внимание на эту строку: NVMSRCADDR = (unsigned int)data & 0x1FFFFFFF; здесь происходит конвертирование виртуального адреса в физический
Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4510 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
Конечно. Ядру же нужно знать куда конкретно обращаться. И это нормально. К примеру, посмотрите на DMA у STM32. Там все адреса пишутся прозрачно, но зато такой гемор со всякими каналами, стримами, ... Всё к чему-то привязано, хрен чего поменяешь, ... А у PICов на этот счёт всё офигенно. Любой канал настраивается на любое(!) событие, на любые(!) адреса (Периферия, РАМ, РОМ, хером, ... пофиг). Нужно всего-лишь указать физические адреса. Это мелочь.
Сам убедился в том что всякие там Ардуины приводят к деградации мозга
Цитата:
Конечно. Ядру же нужно знать куда конкретно обращаться.
Как бы логично, единственное: какого лешего когда я хочу получить адрес объекта он мне даёт виртуальный, а ему надо вернуть физический И судя по форумам очень многие на эти грабли напоролись.
Цитата:
DMA у STM32. Там все адреса пишутся прозрачно, но зато такой гемор со всякими каналами, стримами, ... Всё к чему-то привязано, хрен чего поменяешь,
Блин незнал, планировал потом с пика перевести всё на STM, мне у них функционал понравился, например энкодер напрямую к таймеру можно подключить не используя прерывания. До DMA пока не добрался, как говориться потом сюрприз будет
Последний раз редактировалось alex_ Чт янв 27, 2022 14:14:15, всего редактировалось 1 раз.
энкодер напрямую к таймеру можно подключить не используя прерывания
Энкодер для чего? Если механический для управления в меню или цифрового потенциометра, то там никакие прерывания не нужны. Через прерывания - это извращение.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения