Страница 4 из 20
Re: MPLAB X IDE
Добавлено: Вт окт 26, 2021 23:24:29
Аlex
Впервые слышу о такой "фичи".
Re: MPLAB X IDE
Добавлено: Ср окт 27, 2021 00:32:27
Asmodey
А я уже в который раз с ней борюсь, да все безуспешно.
Возможно, это какая-то опция отладки - прокручивать текст к месту установки курсора. Как с зеленой стрелочкой, на которой фокусируется экран в режиме пошагового Debug. Но, какого хрена она тогда работает в режиме редактирования, при не запущенном дебагере?
Re: MPLAB X IDE
Добавлено: Ср окт 27, 2021 00:40:20
Аlex
Сколько лет работаю в MPLAB, ни разу не встречал такого

Re: MPLAB X IDE
Добавлено: Ср окт 27, 2021 01:46:11
Asmodey
Наверное зависит от перечня установленных на ПК программ, вероятно, что-то в самой ОС заставляет MPLAB вести себя таким образом. У меня уже много лет почти одни и те же проги на рабочих компах стоят, ну разве что версии обновляются и редко добавляются новые приложения. И вот сразу после переустановки ОС и установки MPLAB все нормально. А в какой-то момент начинается. Вероятно, после установки какой-то другой проги. Но вряд ли я смогу вспомнить, какой именно.
Ну да ладно, переживу как-нибудь. Плохо, что в редакторе MPLAB нет автопрокрутки по нажатию средней кнопки и смещению мыши. Приходится прибегать к полосам прокрутки, а там такая лажа.
Re: MPLAB X IDE
Добавлено: Ср окт 27, 2021 14:54:48
serg_svd
Кто знает, почему этот компилятор выдаёт предупреждения в листинге типа "Unable to resolve identifier XXX"? Где XXX любой регистр микроконтроллера. Даже на строчку
#include <xc.h> ругается. Программу и компилятор переустанавливал, проблему пытался искать в интернете, но там быстро заблудился по англоязычным форумам. Пытался удалять папку кэша, как советовали, не помогло.
Из-за этой беды нет ни автоподсказки по регистрам микроконтроллера, да и весь код престрит предупреждениями, хотя компилируется нормально и без ошибок.
Еще проблема. К примеру такая запись установки битов регистра раньше была легальна и работала.
OPTION_REGbits.nGPPU = 1;
То есть после установки точки компилятор мне подсказывал имена битов регистра. Сейчас этого нет. Я и так с даташником не расстаюсь, чтобы все время нырять в него за подобной информацией. А тут еще и подсказки все сломались.

Re: MPLAB X IDE
Добавлено: Ср окт 27, 2021 17:43:49
КРАМ
[uquote="serg_svd",url="/forum/viewtopic.php?p=4112051#p4112051"]А тут еще и подсказки все сломались.[/uquote]
Есть такое мнение, что DFP (Device Family Pack) не соответствует версии компилятора.
Re: MPLAB X IDE
Добавлено: Чт окт 28, 2021 10:31:11
serg_svd
[uquote="КРАМ",url="/forum/viewtopic.php?p=4112108#p4112108"]Есть такое мнение, что DFP (Device Family Pack) не соответствует версии компилятора.[/uquote]
прошивка для PIC12F683

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

Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 09:56:22
КРАМ
[uquote="alex_",url="/forum/viewtopic.php?p=4119760#p4119760"]Что то видел через дефайн но пока не раскурил, а есть ли вариант без дефайнов?

[/uquote]
Вообще то нет. Все определения имен регистров и пинов сделаны через дефайны.
Может стоит просто Си изучать?
Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 10:16:45
alex_
Да на си много уже чего написано, в том числе на микроси, если бы он мне весь мозг не выклевал на нём бы и остался, оптимизатор постоянно оптимизирует участки кода, когда что то правишь, то обязательно что то отваливается
Добавлено after 4 minutes 37 seconds:
Когда код маленький то проблем нет, когда код уже более менее значительный то начинается полная дичь, то что было отлажено ранее начинает просто сыпаться.
Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 10:19:37
КРАМ
[uquote="alex_",url="/forum/viewtopic.php?p=4119774#p4119774"]Когда код маленький то проблем нет, когда код уже более менее значительный то начинается полная дичь, то что было отлажено ранее начинает просто сыпаться.[/uquote]
Это лишь говорит о качестве кода.

Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 10:29:49
Аlex
alex_ писал(а):PORTBbits.RB1->CSN
А что это такое ? Расшифруйте, пожалуйста
PORTBbits.RB1 - есть такая запись. И
RB1 - это битовое поле структуры
PORTBbits. А вот чтобы оно ещё было и указателем - волшебство
PS: Я с ХС32 достаточно давно работаю, всё чинно-блинно, никаких проблем ... Юзаю его как С++.
Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 10:33:45
alex_
Я понимаю к чему клоните, но не в данном случае. Параллельно пишу на стареньком билдере 6. Там таких проблем нет, если функцию отладил то железно к ней больше прикасаться не потребуется, я в ней уверен. В микроси же оптимизатор пол функции может просто выкинуть.
Добавлено after 2 minutes 58 seconds:
Аlex, Это я условно обозначил, но исходя из синтаксиса это косяк.
Имелось в виду чтобы по названию CSN обращаться к биту порта PORTBbits.RB1(например)
Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 10:40:36
Аlex
alex_ писал(а):чтобы по названию CSN обращаться к биту порта PORTBbits.RB1
Не очень понял о чём речь.
Но, если Вам нужно дать пину RB1 своё имя в программе, то используйте классический
#define.
Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 10:45:36
alex_
Вот простенький пример, как он будет выглядеть в 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
Аlex
Вместо вот этого :
Код: Выделить всё
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:
[uquote="alex_",url="/forum/viewtopic.php?p=4119792#p4119792"]#define Led1 LATAbits.LATA10;
далее Led1=0; вылетает ошибка[/uquote]Тут у Вас классическая ошибка синтаксиса. Попробуйте сами найти

Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 10:54:59
alex_
Спасибо, вопрос такой: на сколько сильно синтаксис ХС8 отличается от ХС32 поскольку материала на ХС32 почти нет а на ХС8 что то можно найти.
Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 10:59:35
Аlex
Да ничем, в принципе, не отличается. Придерживайтесь синтаксису языка Си, и всё будет в порядке
Добавлено after 1 minute 34 seconds:
PS: XC32 - это GCC компилятор.
Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 11:06:10
alex_
Позволю не согласиться, в XC32 delay не добавили, согласен функция ламерская но в простых набросках для тестирования самое оно.
Re: MPLAB X IDE
Добавлено: Чт ноя 11, 2021 12:14:09
Аlex
alex_ писал(а):в XC32 delay не добавили
Потому, что на этой платформе сделать его невозможно

Ещё раз:
Придерживайтесь синтаксису языка Си, и всё будет в порядке
Нет никаких дэлэев в языке Си
