MPLAB X IDE

Поклонники продукции Microchip Technology Inc тусуются тут.
pokk
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Re: MPLAB X IDE

Сообщение pokk »

Как добавить C h файлы с относительными путями ? Что бы при переносе из оной папки проекта в другую, MPLAB открывал файлы проекта куда он был скопирован
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: MPLAB X IDE

Сообщение Аlex »

При добавлении есть такой выбор. Смотрите в окне выбора файла.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: MPLAB X IDE

Сообщение serg_svd »

Первый раз попробовал написать программу для микроконтроллеров PIC. До этого был небольшой опыт с AVR.
Скачал MPLAB X IDE + компилятор XC8. Программку написать удалось, но не без приключений.
Что бесит по-сравнению с Atmel Studio. В MPLAB X IDE я не нашел где активируется автоподстановка. Мало того, что просто операторы языка СИ не предлагает дописать по первым буквам, хотя в настройках вроде прописана подстановка при написании начальных букв. Но самая главная головная боль - не выдает подсказки по уже написанным именам функций, переменных, дефайнов и тп. Приходится или ручками выписывать на листик, или лазить по коду впоисках нужного написания имен и путем копировать - вставить переносить в код.Это долго и неудобно.
Я не программист, поэтому терминологией не владею, но надеюсь понятно написал. В общем как это исправить?
И второй момент, касающийся имен регистров (конкретно для пробы пера PIC16F88) их написание не совпадало с даташитом (Пример: даташит T0IE, XC8 - TMR0IE).
Плюс непонятный момент по записи битов регистра. Работает как прямая запись TMR0IE=1; Так и найденное в интернете OPTION_REGbits.TMR0IE=1; Причем в user guide на компилятор я не нашел, как правильно.
PS и последнее, была проблема с русскими комментариями пока не нашел, где меняется кодовая страница. Но вот мнения в интернете разделились. Что лучше использовать: win-1251 или koi-8R?
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
-=Vovka=-
Опытный кот
Сообщения: 844
Зарегистрирован: Пн апр 11, 2011 10:08:52

Re: MPLAB X IDE

Сообщение -=Vovka=- »

2. в *.h-файле с именем как у микроконтроллера есть все define

На мой взгляд лучше использовать кодировку windows-1251
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: MPLAB X IDE

Сообщение serg_svd »

-=Vovka=-, я этот хидер чисто случайно нашел. А так я устал разворачивать xc.h в поисках нужных файлов. Жутко неудобно. Проще было найти поиском в самой папке компилятора XC8.
Остался пока непонятный момент с авто подстановкой. Неужели ее совсем нет? Это же жутко неудобно помнить все назначаемые имена переменных и функций
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
driver_gv
Потрогал лапой паяльник
Сообщения: 399
Зарегистрирован: Сб авг 08, 2009 23:02:57
Откуда: Ростов-на-Дону
Контактная информация:

Re: MPLAB X IDE

Сообщение driver_gv »

MPLAB-X это IDE NetBeans
По этому команды аналогичны.
Читать например тут https://netbeans.org/kb/73/java/editor- ... ce_ru.html
Авто дополнение - ALT+Пробел
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: MPLAB X IDE

Сообщение serg_svd »

[uquote="driver_gv",url="/forum/viewtopic.php?p=3668066#p3668066"]Читать например тут https://netbeans.org/kb/73/java/editor- ... ce_ru.html
Авто дополнение - ALT+Пробел[/uquote]
Спасибо! Только сработало Ctrl+Пробел. Полуавтомат уже лучше, чем совсем ничего.
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
driver_gv
Потрогал лапой паяльник
Сообщения: 399
Зарегистрирован: Сб авг 08, 2009 23:02:57
Откуда: Ростов-на-Дону
Контактная информация:

Re: MPLAB X IDE

Сообщение driver_gv »

Да , CTRL + Space - набираю автоматом сейчас специально посмотрел, что пальцы нажимают....
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: MPLAB X IDE

Сообщение serg_svd »

Еще вопрос по симулятору. Оптимизация 0 стоит в настройках компилятора. Ставлю точку остановки, она активна. Но при запуске симулятора ее изображение выглядит разбитым и в дебаг консоли выдает ошибку Break point at line 155 in file .... cannot be resolved to a valid program memory address
Судя по запросам в интернете - ошибка распространенная. Решения пока не нашел. Watcdog не активен. Да и не знаю, влияет он или нет
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25199
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: MPLAB X IDE

Сообщение КРАМ »

[uquote="serg_svd",url="/forum/viewtopic.php?p=3668317#p3668317"]Еще вопрос по симулятору[/uquote]
Стоит привести фрагмент кода с указанием места брекпойнта. А так разговор ни о чем.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: MPLAB X IDE

Сообщение serg_svd »

[uquote="КРАМ",url="/forum/viewtopic.php?p=3668331#p3668331"]А так разговор ни о чем.[/uquote]
Согласен с замечанием.
Приведу часть кода.

Код: Выделить всё

#include <xc.h>

void init(void)
{
    ANSEL=0x00; // Analog comparator OFF
    WDT_init();
}
//.... и тд.

int main(void)
{ 
    init();

    while(1)
   {
    }
}
Это начальные строки реального кода. Я пробовал ставить брекпоинт на:
1) init();
2) ANSEL=0x00;
3) Пробовал ставить брекпоинт на NOP(); который записывал после init();

Изучал этот хэлп https://microchipdeveloper.com/mplabx:debugging. Пока не пойму в чем проблема с отказом симулятора

Добавлено after 2 minutes 48 seconds:
PS. еще проблема вылезла с нежеланием мплаб Х работать с программатором PICkit2. Программатор самодельный, но собран по оригинальной схеме из даташита. С родным софтом программатора проблем нет
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25199
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: MPLAB X IDE

Сообщение КРАМ »

Понятно... Предлагаю открыть в MPLABX листинг дизасма и посмотреть что там сгенерировано на месте init(). Не исключено, что компилятор эту функцию инлайнил. Ноп он мог вообще выкинуть, поскольку это симулятор, как и регистр неподдерживаемой в симуляторе периферии.
ЗЫ. ПИКкит2 в МПЛАБ Х не поддерживается. Вообще не поддерживается (отмечен в списке тулзов красным цветом). С ним только в 8-ку.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: MPLAB X IDE

Сообщение serg_svd »

[uquote="КРАМ",url="/forum/viewtopic.php?p=3668841#p3668841"]Понятно... Предлагаю открыть в MPLABX листинг дизасма и посмотреть что там сгенерировано на месте init().[/uquote]
С дизасмом пока не разбирался. Нет опыта, поэтому потребуется время на изучение.

[uquote="КРАМ",url="/forum/viewtopic.php?p=3668841#p3668841"]Не исключено, что компилятор эту функцию инлайнил. Ноп он мог вообще выкинуть, поскольку это симулятор, как и регистр неподдерживаемой в симуляторе периферии.[/uquote]
Хорошо, пусть init(); он пропустил. Но ANSEL=0x00; - это прямая запись в регистр и компилятор ее никак не мог игнорировать. Как и симулятор. Я пробовал ставить брекпоинты на подобных строках, где либо изменяется значение регистра, либо изменяется значение переменной. Результат тоже никакой. У меня подозрение, что я неправильно настроил симулятор или что-то недоустановил при установке программы. Возможно какой-то плагин?
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25199
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: MPLAB X IDE

Сообщение КРАМ »

[uquote="serg_svd",url="/forum/viewtopic.php?p=3670086#p3670086"]С дизасмом пока не разбирался. Нет опыта, поэтому потребуется время на изучение.[/uquote]
Настраиваем свойства проекта:
Правой кнопкой мыши по имени проекта в дереве проектов:
Properties - Левое окно Conf:Loading - ставим галку на Load symbols when programming... - Сохраняем и закрываем окно.
Компилируем.
Получаем листинг:
Window - Debugging - Output - Disassemly Listing File
При работе в дебаге активируем дизасм трассируемый листинг:
После входа в дебаг открываем Window - Debugging - Disassemly
Получаем вот такую картинку:
Изображение
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: MPLAB X IDE

Сообщение serg_svd »

[uquote="КРАМ",url="/forum/viewtopic.php?p=3670220#p3670220"]Получаем вот такую картинку:[/uquote]
Проделал все выше описанное, но на этом моменте вместо упомянутого окна получил
!Source not found, file: <путь к файлу> main.c
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25199
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: MPLAB X IDE

Сообщение КРАМ »

А листинг без трассировки получили?
И в дебаге код проходит ПО ШАГАМ через проблемные строки?
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: MPLAB X IDE

Сообщение serg_svd »

[uquote="КРАМ",url="/forum/viewtopic.php?p=3670550#p3670550"]А листинг без трассировки получили?[/uquote]
Листинг получил.
И в дебаге код проходит ПО ШАГАМ через проблемные строки?
В дебаге после запуска и нажатия иконки ПАУЗА код вообще по шагам не ходит. Даже курсор не становится на строчку, где произошел останов. Но это я говорю за листинг на СИ. Листнга на Ассемблере после входа в дебаг через Window - Debugging - Disassemly кода нет как у Вас на картинке. Есть только строка с ошибкой !Source not found, file: <путь к файлу> main.c
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25199
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: MPLAB X IDE

Сообщение КРАМ »

А Вы файл исходника в проект включили? Покажите скрин дерева проектов с открытым содержанием папок.
Как вообще Вы создавали файл исходника в проекте?
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: MPLAB X IDE

Сообщение serg_svd »

Изображение
КРАМ писал(а):Как вообще Вы создавали файл исходника в проекте?
В дереве проектов - правая кнопка мышки - NEW - main.c Создал файл main.
Дополнительные файлы уже подключал. Причем пробовал сейчас прям переделать расположение файлов либо в папке Source Files, либо в корне (физически на диске они в корне проекта в любом случае находятся). Но на отладку это не влияет. Как и на компиляцию файла

Добавлено after 17 minutes 49 seconds:
Разобрался. Проблема оказалась в русских буквах в папках, где лежал проект. Переместил проект для проверки в папку Test, которую расположил в корневом каталоге диска и все заработало
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25199
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: MPLAB X IDE

Сообщение КРАМ »

[uquote="serg_svd",url="/forum/viewtopic.php?p=3670582#p3670582"]Проблема оказалась в русских буквах[/uquote]
Это одна из старейших причин неработоспособности проектов в МПЛАБе. Русские буквы - табу. В любом месте пути к файлу и его имени.
Ответить

Вернуться в «PIC»