Добрый день, есть такой контроллер PIC16F57, пытаюсь написать ную программу для него в MPlab X EDI на даже при моргании светодиодом возникаю проблемы - TRISA|=(1<<0) он не хочет воспринимать. выдает вот такую ошибку-main.c:11:: error: (712) can't generate code for this expression . Отстал от порта А и сделал по другому -TRISB=0; перевел весь порт B на выход , скомпилировалось. Далее подключаю программатор К150 - при программировании выдает ошибку. Считываю содержимое микросхемы , пробую прошить - прошивается..может кто сталкивался с данной проблемой?
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
здесь перепутал -сделал как на avr должно быть TRISA &=~(1<0) - этой строкой я устанавливаю регистр A0 в ноль . на PIC16F870 проверенно -работает все .
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
То есть так здесь не работает ? для операции логического или необходимо сначала считать регистр, потом по или произвести сложение и записать ......
В этом контроллере нет регистра TRISA или TRISB. Есть инструкция tris, которая записывает содержимое аккумулятора в регистр управления драйвером порта (аппаратно эквивалентен TRIS). Поэтому его невозможно прочитать. Если есть такая потребность, нужно организовать копию в ОЗУ и совершать над ней те же манипуляции, что и с невидимой TRIS. Или не совершать никакой математики связанной с чтением TRIS.
То есть так здесь не работает ? для операции логического или необходимо сначала считать регистр, потом по или произвести сложение и записать ......
В этом контроллере нет регистра TRISA или TRISB. Есть инструкция tris, которая записывает содержимое аккумулятора в регистр управления драйвером порта (аппаратно эквивалентен TRIS). Поэтому его невозможно прочитать. Если есть такая потребность, нужно организовать копию в ОЗУ и совершать над ней те же манипуляции, что и с невидимой TRIS. Или не совершать никакой математики связанной с чтением TRIS.
Дайте картинку (скопируйте сюда) "ругатни" . Не можем угадать, что показывает.
первое фото это считывания после попытки прошивки. на втором фото при верификации возникает ошибка с адреса 040. То есть с адреса 040 записывается нулями. .
А код ваш? В коде должно быть прописано слово конфигурации. Из представленного скрина видно. что конфиг равен FF7, где четвертый (третий от нуля) бит - это code protect. Если он равен 0 - прошивка закрыта. Если 1 - открыта. То есть открытый код в конфиге будет выглядеть как FFF.
А код ваш? В коде должно быть прописано слово конфигурации. Из представленного скрина видно. что конфиг равен FF7, где четвертый (третий от нуля) бит - это code protect. Если он равен 0 - прошивка закрыта. Если 1 - открыта. То есть открытый код в конфиге будет выглядеть как FFF.
Да, код мой, с защитой разобрался ,огромное спасибо -сейчас прошивается нормально, но светодиод все равно не горит ... подскажите что не так ?
А у вас кварц подключен? ЗЫ. Не цитируйте предыдущее сообщение полностью. Не оставляйте в цитатах вложенные цитаты. Прочтите, наконец, Правила форума. Или вы рискуете быть забаненным.
Последний раз редактировалось КРАМ Ср фев 21, 2024 17:44:39, всего редактировалось 1 раз.
Подводные камни есть при побитной записи в порт. Ибо это процедура RMW, которая из-за отсутствия входной защелки порта способна перезаписать входные состояния пинов в выходную защелку по всем разрядам порта кроме явно устанавливаемого. Чтение особых проблем не имеет, хотя гораздо корректнее НА ЛЮБОМ контроллере для атомарности чтения сначала защелкнуть порт в переменную, а лишь затем производить какие либо if-ы, switch-и и другие действия. Даже если вы пишите на АСМе и понимаете реальный исполняемый код.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения