Project - Build Options - Project - MPASM C17/C18 Suite -> Generate Relocatable Code - ставим галку Ну либо на Ask me и тогда каждый раз перед билдом будет возникать окно с предложением выбора Absolute/Relocatable
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Дело тут не в числе, а в областях ОЗУ. Скорее всего, данная область (0х20) относится с типу udata_acs. Почитайте даташит и мануал на ассемблер. Память с доступом через ACCSESS должна резервироваться как udata_acs Для иной области может быть указан абсолютный адрес начала блока. Как Вы уже догадались, теперь не требуется выделять отдельный байты для длинных переменных. Достаточно указать их длину в байтах после res. Обращение к ним будет соответственно <имя>, <имя+1>, <имя+2> и т.д.
Про число я условно сказал, понимая при этом что компилятор уже не может там жёстко разместить переменные поскольку возможно данная область памяти была занята или зарезервирована под свои нужды. Про длину в байтах это конечно плюс. Повторюсь, программу мне подсунули для модификации, но похоже она была написана крайним консерватором в виде жёсткой привязки переменных и не только, притом в программе используются переменные размерностью 4 байта и объявлены как 4 отдельные переменные хотя и стоят друг за другом нет чтоб действительно написать res 4. Мне если честно Си больше по душе, и когда разберусь в данной программе полностью её портирую на Си.
вопросы у меня тут по mplab c18 1) оно не умеет оператор "?" ? (например "(a==b) ? c=d : e=f;") или я туплю, пишет syntax error 2) подключаю инклюды - тоже пишет syntax error, а там вообще пусто (или там что-то в конце нужно написать?)
Добрый день, помогите кто может, понадобилось мне в MPLAB X и c18, создать массив 512 байт, но он выдаёт ошибку, помница, там надо в линке объединить банки и в файле проекта какую то ерунду ещё прописать и тогда ошибка исчезнет, вот кто подскажет, что надо сделать ?
_________________ Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Всем, доброго времени суток! Подскажите в таком вопросе. Необходимо сделать ремап UART на PIC18 в микропаскаль. Могу ли я сделать ремап только Tx или только Rx? Или все же необходимо ремапить две ножки, что бы использовать функцию UART_Remappable_Init?
Добрый день. Что означает "Pass Count: 59" при программировании через MPLAB IPE? Более подробно
Код:
Target removed Target voltage detected Target device PIC12F675 found. Device ID Revision = b 2018-12-29 14:04:58 +0800 - Programming...
Device Erased...
Programming...
The following memory area(s) will be programmed: program memory: start address = 0x0, end address = 0x3fe configuration memory program memory Address: 0 Expected Value: 2bf3 Received Value: 0 Failed to program device 2018-12-29 14:05:07 +0800 - Programming failed Pass Count: 59
Микроконтроллер PIC12F675. Программатор ICD-3. Питание 3,7 Вольт. Кусок схемы во вложении. Во время прошивки выпаяно R21, R14, R24, R11.
В даташите указана ЗАВИСИМОСТЬ диапазона напряжений питания от ЧАСТОТЫ работы контроллера. Из каких соображений Вы решили, что при программировании от ICD3 тактирование МК ниже 10 МГц?
У вас какой-то массив слишком большой и не лезет в память. т.е. ему нужен непрерывный кусок озу, который компилятор в кристалле найти не может. вернее не компилятор, а линковщик.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения