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

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

Вс мар 20, 2022 18:36:30

Как в MPLABX v2.35 создать числовую переменную
Если вы пишите на АСМе, то нужно говорить о нем, а не о среде разработки.
И, тем более, стоит перейти на более новую версию среды, например 5.35, которая еще поддерживает старую версию АСМа для восьмибитных ПИКов - MPASM. Последующие версии требуют перехода на другой АСМ - PIC-AS.
Кроме того, вы ничего не сказали о каком МК идет речь. Я смутно догадываюсь, что о 8-битных ПИКах, но есть и 16-битные и у них совсем другой Ассемблер.
Синтаксис выделения памяти под переменные в MPASM, который позволяет видеть эти переменные в отладке в окне Watch или Variables такой:
Код:
group1   udata  0x20
var1      res 1
var2      res 4
var3      res 2

group2   udata_shr
var4      res 1


group1 - это переменные, которые линкер разместит подряд с адреса 0x20
group2 - имеют директиву udata_shr, которая приведет к размещению переменных в общем для всех банках сегменте (обычно это адрес 0x70 и далее)
res - это количество выделяемых под переменную байт. Обращение к старшим байтам в тексте кода очень простое: имя переменной+смещение в байтах.
То есть var2+1 будет именем для второго байта переменной var2.

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

Пн мар 21, 2022 10:33:00

не сказали о каком МК идет речь. Я смутно догадываюсь, что о 8-битных ПИКах,.

пишу для 8 битного МК p12f629. Пишу именно в среде mplab, а компилировать буду именно через встроенный компилятор ассемблера.

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

Пн мар 21, 2022 12:24:39

Пишу именно в среде mplab, а компилировать буду именно через встроенный компилятор ассемблера.

Еще раз. Писать вы можете хоть в блокноте ручкой. Синтаксис кода имеет значение не для среды (IDE), а для ассемблера.
На ваш вопрос я ответил выше. А вообще, открываете мануал на ассемблер (он имеется в папках среды или во встроенном хелпере среды) и читаете. Там все имеется. Включая то, о чем я вам сообщил ранее.

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

Вт мар 22, 2022 06:49:36

Спасибо!

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

Вт мар 22, 2022 08:03:14

В догон.
При именовании переменных принято, чтобы эти имена несли смысл самих этих переменных.

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

Вт апр 12, 2022 19:26:29

Что-то не могу на оф. сайте найти, где скачать mplab-x. Уж не перекрыли ли они в связи с Украиной?

Уже нашёл, версия 6.0

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

Вс ноя 06, 2022 23:19:04

Почему в книге для примера написан код ''bsf 3,5'' - установка 5 бита регистра СТАТУС, чтобы обращаться к первому банку. А через несколько страниц, код перехода к первому банку записан как ''bsf 5,3''. То есть в одном случае пишется команда, номер регистра, номер бита. А в другом случае наоборот, команда, номер бита, номер регистра. В этом действительно разницы нет? Или есть?

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

Пн ноя 07, 2022 08:31:27

Или есть?

Начнем с того, что так вообще никто не пишет. Сначала к проекту присоединяют хедер контроллера (.inc), а затем пишут осмысленное:
Код:
bcf   STATUS, RP0

А лучше вообще использовать макрос, который определит банк используемого регистра самостоятельно:
Код:
banksel   PORTA   ; эта строка будет автоматически заменена на bcf/bsf   STATUS, RP0/RP1
bsf          PORTA, 2

Во вторых, в каждом даташите на 8-битные контроллеры Микрочипа имеется СИСТЕМА КОМАНД (INSTRUCTION SET SUMMARY), где черным по белому, для каждой инструкции написан ее синтаксис и особенности использования.
Учите настоящую матчасть, а не читайте всякие помоечные рукописи из интернета.
ЗЫ. Запись инструкции имеет фиксированный порядок.
Изображение

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

Пн ноя 07, 2022 14:14:19

Ну, это не помоечные рукописи, а книга. А настоящая матчасть - это только из даташита?

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

Пн ноя 07, 2022 14:38:05

А настоящая матчасть - это только из даташита?

С точки зрения самого контроллера - да. С точки зрения среды - мануал на среду. С точки зрения ассемблера - мануал на ассемблер.
Могу привести вам "рыбу" - пример нулевого проекта под конкретный МК. Там будет все, включая суперлуп. Вам потребуется только нарастить свое "мясо".
это не помоечные

Судя по вашим выдержкам - хуже помоечных.

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

Чт дек 22, 2022 23:26:38

Добрый вечер. MPLAB 8.92 (и его симулятор), PIC12C508A, на ассемблере. В даташите (раздел про Prescaler) написано "When assigned to the Timer0 module, all instructions writing to the TMR0 register (e.g., CLRF 1, MOVWF 1, BSF 1,x, etc.) will clear the prescaler." То есть, при ручном изменении TMR0, предделитель (если он подключен к TMR0) сбрасыватся. А симулятор говорит обратное. В ерратах ничего не нашел. Кому верить ?

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

Пт дек 23, 2022 03:16:56

Если "предделитель сбрасыватся" - ето PS<2:0>: Prescaler Rate Select bits Bit, то не сбрасывается предварительный делитель (Value 000).
Если "предделитель сбрасыватся" - ето внутренний счетчик предварительного делителя, то да, содержание сбрасывается.

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

Пт дек 23, 2022 12:00:00

внутренний счетчик предварительного делителя...

Который, я так понимаю, нигде не доступен. Благодарю. Я просто понял это предупреждение, как необходимость заново конфигурировать предделитель каждый раз после ручного изменения значения TMR0. Ошибался, как теперь стало ясно.

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

Пт дек 23, 2022 13:04:40

Нет прямого чтения или записи prescaler-a. Единственный способ для чтения: "метод досчета" - добавлять по одному по входу, пока не переполнится.
(Но этот МК не имеет прерывания после переполнения. Лучше на какой-нибудь новый тип МК. По крайней мере будет проще и прямее).

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

Пт янв 27, 2023 04:44:00

могут знающие товарищи подсказать, возможно ли проект с исходниками под PIC18F2550 перекомпилисмть под PIC18F26J50.. там используется USB и ногодрыг для управления LCD.
__https://cxem.net/comp/comp128.php // Мониторинг параметров ПК на PIC

когда то давно, находил аналогичный "показометр" именно на PIC18F26J50. был еще использована ds1307 для показ часов, когда комп не включен.. может кому то еще попадалась ?
Ответить