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

Re: MPLAB X IDE

Вт окт 26, 2021 23:24:29

Впервые слышу о такой "фичи".

Re: MPLAB X IDE

Ср окт 27, 2021 00:32:27

А я уже в который раз с ней борюсь, да все безуспешно.

Возможно, это какая-то опция отладки - прокручивать текст к месту установки курсора. Как с зеленой стрелочкой, на которой фокусируется экран в режиме пошагового Debug. Но, какого хрена она тогда работает в режиме редактирования, при не запущенном дебагере?

Re: MPLAB X IDE

Ср окт 27, 2021 00:40:20

Сколько лет работаю в MPLAB, ни разу не встречал такого :roll:

Re: MPLAB X IDE

Ср окт 27, 2021 01:46:11

Наверное зависит от перечня установленных на ПК программ, вероятно, что-то в самой ОС заставляет MPLAB вести себя таким образом. У меня уже много лет почти одни и те же проги на рабочих компах стоят, ну разве что версии обновляются и редко добавляются новые приложения. И вот сразу после переустановки ОС и установки MPLAB все нормально. А в какой-то момент начинается. Вероятно, после установки какой-то другой проги. Но вряд ли я смогу вспомнить, какой именно.

Ну да ладно, переживу как-нибудь. Плохо, что в редакторе MPLAB нет автопрокрутки по нажатию средней кнопки и смещению мыши. Приходится прибегать к полосам прокрутки, а там такая лажа.

Re: MPLAB X IDE

Ср окт 27, 2021 14:54:48

Кто знает, почему этот компилятор выдаёт предупреждения в листинге типа "Unable to resolve identifier XXX"? Где XXX любой регистр микроконтроллера. Даже на строчку #include <xc.h> ругается. Программу и компилятор переустанавливал, проблему пытался искать в интернете, но там быстро заблудился по англоязычным форумам. Пытался удалять папку кэша, как советовали, не помогло.
Из-за этой беды нет ни автоподсказки по регистрам микроконтроллера, да и весь код престрит предупреждениями, хотя компилируется нормально и без ошибок.

Еще проблема. К примеру такая запись установки битов регистра раньше была легальна и работала.
OPTION_REGbits.nGPPU = 1;
То есть после установки точки компилятор мне подсказывал имена битов регистра. Сейчас этого нет. Я и так с даташником не расстаюсь, чтобы все время нырять в него за подобной информацией. А тут еще и подсказки все сломались. :kill:

Re: MPLAB X IDE

Ср окт 27, 2021 17:43:49

А тут еще и подсказки все сломались.

Есть такое мнение, что DFP (Device Family Pack) не соответствует версии компилятора.

Re: MPLAB X IDE

Чт окт 28, 2021 10:31:11

Есть такое мнение, что DFP (Device Family Pack) не соответствует версии компилятора.

прошивка для PIC12F683
Изображение

Re: MPLAB X IDE

Чт ноя 11, 2021 09:34:18

Здравствуйте, господа.
Возникла задача переноса проекта c mikro C на PIC32 в среду MPLAB X IDE, есть ли какой нибудь самоучитель на XC32 или хотя бы примеры проектов, поскольку синтаксис очень сильно отличается. В местном хелпе пока как турист в новом городе, нифига понять не могу что откуда берётся. В сети инфы довольно мало на PIC32 и проектов тоже. Пока встрял на смешных мелочах, например как переобозвать пины контроллера(PORTBbits.RB1->CSN) для работы с SPI например. Что то видел через дефайн но пока не раскурил, а есть ли вариант без дефайнов? :?

Re: MPLAB X IDE

Чт ноя 11, 2021 09:56:22

Что то видел через дефайн но пока не раскурил, а есть ли вариант без дефайнов? :?

Вообще то нет. Все определения имен регистров и пинов сделаны через дефайны.
Может стоит просто Си изучать?

Re: MPLAB X IDE

Чт ноя 11, 2021 10:16:45

Да на си много уже чего написано, в том числе на микроси, если бы он мне весь мозг не выклевал на нём бы и остался, оптимизатор постоянно оптимизирует участки кода, когда что то правишь, то обязательно что то отваливается :kill: :kill: :kill:

Добавлено after 4 minutes 37 seconds:
Когда код маленький то проблем нет, когда код уже более менее значительный то начинается полная дичь, то что было отлажено ранее начинает просто сыпаться.

Re: MPLAB X IDE

Чт ноя 11, 2021 10:19:37

Когда код маленький то проблем нет, когда код уже более менее значительный то начинается полная дичь, то что было отлажено ранее начинает просто сыпаться.

Это лишь говорит о качестве кода. :)

Re: MPLAB X IDE

Чт ноя 11, 2021 10:29:49

alex_ писал(а):PORTBbits.RB1->CSN
А что это такое ? Расшифруйте, пожалуйста :)
PORTBbits.RB1 - есть такая запись. И RB1 - это битовое поле структуры PORTBbits. А вот чтобы оно ещё было и указателем - волшебство :))

PS: Я с ХС32 достаточно давно работаю, всё чинно-блинно, никаких проблем ... Юзаю его как С++.

Re: MPLAB X IDE

Чт ноя 11, 2021 10:33:45

Я понимаю к чему клоните, но не в данном случае. Параллельно пишу на стареньком билдере 6. Там таких проблем нет, если функцию отладил то железно к ней больше прикасаться не потребуется, я в ней уверен. В микроси же оптимизатор пол функции может просто выкинуть.

Добавлено after 2 minutes 58 seconds:
Аlex, Это я условно обозначил, но исходя из синтаксиса это косяк.
Имелось в виду чтобы по названию CSN обращаться к биту порта PORTBbits.RB1(например)

Re: MPLAB X IDE

Чт ноя 11, 2021 10:40:36

alex_ писал(а):чтобы по названию CSN обращаться к биту порта PORTBbits.RB1
Не очень понял о чём речь.
Но, если Вам нужно дать пину RB1 своё имя в программе, то используйте классический #define.

Re: MPLAB X IDE

Чт ноя 11, 2021 10:45:36

Вот простенький пример, как он будет выглядеть в MPLAB X IDE чисто в области void main
Спойлер
Код:
sbit Chip_Select at LATF0_bit;
sbit Chip_Select_Direction at TRISF0_bit;

int t;

void InitMain() {
 
  Chip_Select = 1;                       // Deselect DAC
  Chip_Select_Direction = 0;             // Set CS# pin as Output
  SPI2_Init();                           // Initialize SPI2 module
}

void main() {
 
  InitMain();
 
  t=0;
 
  while(1)
  {
    Chip_Select=0
   SPI2_Write(t);                     
    Chip_Select=1;
   t++;
  }
}


Добавлено after 2 minutes 32 seconds:
Точнее как правильно использовать дефайн и как потом обращаться, например:
#define Led1 LATAbits.LATA10;

далее Led1=0; вылетает ошибка

Re: MPLAB X IDE

Чт ноя 11, 2021 10:47:36

Вместо вот этого :
Код:
sbit Chip_Select at LATF0_bit;
sbit Chip_Select_Direction at TRISF0_bit;
напишите дефайнами :
Код:
#define Chip_Select LATFbits.LATF0
#define Chip_Select_Direction TRISF0bits.TRISF0


Добавлено after 1 minute 12 seconds:
#define Led1 LATAbits.LATA10;
далее Led1=0; вылетает ошибка
Тут у Вас классическая ошибка синтаксиса. Попробуйте сами найти :)

Re: MPLAB X IDE

Чт ноя 11, 2021 10:54:59

Спасибо, вопрос такой: на сколько сильно синтаксис ХС8 отличается от ХС32 поскольку материала на ХС32 почти нет а на ХС8 что то можно найти.

Re: MPLAB X IDE

Чт ноя 11, 2021 10:59:35

Да ничем, в принципе, не отличается. Придерживайтесь синтаксису языка Си, и всё будет в порядке :)

Добавлено after 1 minute 34 seconds:
PS: XC32 - это GCC компилятор.

Re: MPLAB X IDE

Чт ноя 11, 2021 11:06:10

Позволю не согласиться, в XC32 delay не добавили, согласен функция ламерская но в простых набросках для тестирования самое оно.

Re: MPLAB X IDE

Чт ноя 11, 2021 12:14:09

alex_ писал(а):в XC32 delay не добавили
Потому, что на этой платформе сделать его невозможно :)
Ещё раз:
Придерживайтесь синтаксису языка Си, и всё будет в порядке
:)

Нет никаких дэлэев в языке Си :))
Ответить