Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Re: MPLAB в вопросах и ответах

Пн июл 09, 2018 22:33:59

Аlex писал(а):PS: Имя не устанавливается, к сожалению
Ну хотя бы так, Спасибо :)

Re: MPLAB в вопросах и ответах

Вт июл 10, 2018 07:18:34

но никак не могу отмониторить переменные.
Переменные заданы таким образом:
Код:
cblock 0x20
   CURR_ACP      
   CURR_IZM      
   CURR_ZAD      
   CURR         
         endc
   

При этом в окне Watch кнопка Add Symbol и выпадающий список не активны

Меняете способ объявления переменных на:
Код:
      udata 0x20
CURR_ACP   res 1
CURR_IZM   res 1   
CURR_ZAD   res 1      
....................

И включаете режим перемещаемого кода.
По результату генерации хекса ничего не изменится, но все переменные станут видны в Watch

Re: MPLAB в вопросах и ответах

Вт июл 10, 2018 09:00:58

КРАМ писал(а):И включаете режим перемещаемого кода.
Не подскажете в каком месте галочку поставить :roll:

Re: MPLAB в вопросах и ответах

Вт июл 10, 2018 13:38:23

Project - Build Options - Project - MPASM C17/C18 Suite -> Generate Relocatable Code - ставим галку
Ну либо на Ask me и тогда каждый раз перед билдом будет возникать окно с предложением выбора Absolute/Relocatable

Re: MPLAB в вопросах и ответах

Вт июл 10, 2018 14:18:30

Project - Build Options - Project - MPASM C17/C18 Suite -> Generate Relocatable Code - ставим галку
Слона то я и не заметил :oops:
Спасибо, теперь стало всё гораздо лучше, в udata 0x20 пришлось удалить число, а то с ним ну никак не хотело компилироваться :))

Re: MPLAB в вопросах и ответах

Вт июл 10, 2018 16:51:12

Дело тут не в числе, а в областях ОЗУ.
Скорее всего, данная область (0х20) относится с типу udata_acs. Почитайте даташит и мануал на ассемблер.
Память с доступом через ACCSESS должна резервироваться как udata_acs
Для иной области может быть указан абсолютный адрес начала блока.
Как Вы уже догадались, теперь не требуется выделять отдельный байты для длинных переменных.
Достаточно указать их длину в байтах после res. Обращение к ним будет соответственно <имя>, <имя+1>, <имя+2> и т.д.

Re: MPLAB в вопросах и ответах

Вт июл 10, 2018 17:57:15

Про число я условно сказал, понимая при этом что компилятор уже не может там жёстко разместить переменные поскольку возможно данная область памяти была занята или зарезервирована под свои нужды. Про длину в байтах это конечно плюс. Повторюсь, программу мне подсунули для модификации, но похоже она была написана крайним консерватором в виде жёсткой привязки переменных и не только, притом в программе используются переменные размерностью 4 байта и объявлены как 4 отдельные переменные хотя и стоят друг за другом :facepalm:
нет чтоб действительно написать res 4. Мне если честно Си больше по душе, и когда разберусь в данной программе полностью её портирую на Си. :))

Re: MPLAB в вопросах и ответах

Чт авг 02, 2018 17:10:13

вопросы у меня тут по mplab c18
1) оно не умеет оператор "?" ? (например "(a==b) ? c=d : e=f;") или я туплю, пишет syntax error
2) подключаю инклюды - тоже пишет syntax error, а там вообще пусто (или там что-то в конце нужно написать?)

Re: MPLAB в вопросах и ответах

Пт авг 03, 2018 12:30:20

Умеет. Просто у Вас синтаксическая ошибка. Конкретно - отсутствие "точки с запятой".

Re: MPLAB в вопросах и ответах

Ср авг 08, 2018 21:19:08

Добрый день, помогите кто может, понадобилось мне в MPLAB X и c18, создать массив 512 байт, но он выдаёт ошибку, помница, там надо в линке объединить банки и в файле проекта какую то ерунду ещё прописать и тогда ошибка исчезнет, вот кто подскажет, что надо сделать ?

Re: MPLAB в вопросах и ответах

Ср авг 08, 2018 23:43:15

БАТАРЕЙКУС писал(а):что надо сделать ?
Попробовать погуглить, для начала.
Первая попавшаяся ссылка - http://www.microchip.su/showthread.php?t=14356

Re: MPLAB в вопросах и ответах

Пн ноя 26, 2018 08:04:26

Всем, доброго времени суток! Подскажите в таком вопросе. Необходимо сделать ремап UART на PIC18 в микропаскаль. Могу ли я сделать ремап только Tx или только Rx? Или все же необходимо ремапить две ножки, что бы использовать функцию UART_Remappable_Init?

Re: MPLAB в вопросах и ответах

Пн ноя 26, 2018 11:04:14

1. Камень какой ?
2. Причём тут эта тема ? Тут обсуждается MPLAB.

Re: MPLAB в вопросах и ответах

Пн ноя 26, 2018 15:29:23

1. Камень какой ?
2. Причём тут эта тема ? Тут обсуждается MPLAB.

Прошу прощения! Не посмотрел нормально в какой теме спрашиваю.

Камень PIC18F47j53

Re: MPLAB в вопросах и ответах

Сб дек 29, 2018 08:07:47

Добрый день. Что означает "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.
Вложения
Снимок.jpg
(63.41 KiB) Скачиваний: 441

Re: MPLAB в вопросах и ответах

Сб дек 29, 2018 09:14:01

Почему 3.7в ?
Не прошился он
Pass Count: 59 Количество проходов: 59

Re: MPLAB в вопросах и ответах

Сб дек 29, 2018 15:07:35

Почему 3.7в

В даташите указано, что он питается от 2 до 5.5 Вольт.

Re: MPLAB в вопросах и ответах

Сб дек 29, 2018 16:00:51

В даташите указано

В даташите указана ЗАВИСИМОСТЬ диапазона напряжений питания от ЧАСТОТЫ работы контроллера.
Из каких соображений Вы решили, что при программировании от ICD3 тактирование МК ниже 10 МГц?

Re: MPLAB в вопросах и ответах

Пт апр 12, 2019 12:30:46

Доброго времени суток. Как исправить error 1347?

Микроконтроллер PIC16F676. Во время компилляции выдает ошибки.

Re: MPLAB в вопросах и ответах

Пт апр 12, 2019 14:28:45

У вас какой-то массив слишком большой и не лезет в память. т.е. ему нужен непрерывный кусок озу, который компилятор в кристалле найти не может. вернее не компилятор, а линковщик.
Ответить