Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Вопросы начинающих

Вопросы начинающих Прежде чем задать вопрос, стоит воспользоваться поиском

Ответ
 
Опции темы Опции просмотра
Старый 13.02.2018, 14:29   #1
VladG
Junior Member
 
Регистрация: 16.02.2009
Сообщений: 17
Вес репутации: 100/37
VladG will become famous soon enoughVladG will become famous soon enough
По умолчанию MPLAB X IDE мультифайловый проект

Доброго всем!
MPLAB X IDE 4.05

Есть исходный test_0.zip однофайловый проект. Компилируется и работает (на смысл не смотрите). Вопросов нет.

Но хотелось бы перейти к многофайловому проекту. Те разбить исходный файл на четыре:
main_test - собственно сама программа
macro_test - куда бы скинуть все макросы и определения констант
init_test - стартовая инициализация чипа - порты, периферия
sub_test - подпрограммы

Чтение доков и курение тырнета - смог запихнуть в отдельный файл только подпрограммы, проект Test.zip. А все остальное ни как не выходит, как у Данилы-мастера. Да и то, похоже, выбор банка памяти компилятор делает сам, я типа не причем тут. Хотелось бы банк выбирать самостоятельно.
Собственно и вопрос - мои хотелки можно реализовать? Если да, подскажите, а то уже идей нет.
VladG вне форума   Ответить с цитированием
Старый 13.02.2018, 16:46   #2
masterok999
Senior Member
 
Регистрация: 28.07.2015
Адрес: NA
Возраст: 54
Сообщений: 190
Вес репутации: 660/20
masterok999 is a splendid one to beholdmasterok999 is a splendid one to beholdmasterok999 is a splendid one to beholdmasterok999 is a splendid one to beholdmasterok999 is a splendid one to beholdmasterok999 is a splendid one to behold
По умолчанию Re: MPLAB X IDE мультифайловый проект

Так в чем проблема, выдирайте необходимые куски,
создавайте из них отдельные файлы, объявляйте их в основной программе.
Только макросы нужно выносить в самый верх, иначе не будет доступа к ним из того что окажется выше.
Например кое что я делаю так:
Код:
    INCLUDE    _B_MACRO_SET.inc
    INCLUDE    _B_CONF_LOADER.inc
    INCLUDE    _B_SPI_18_SOFT_WB.inc
    INCLUDE    _B_PREPROG.inc
    INCLUDE    _B_FLASH_WORKS.inc
все эти файлы должны быть в директории рядом с основным "main.asm", или должны быть явно указаны пути к ним.
Да, расширение не имеет значения, хоть .txt
У меня настроена подсветка синтаксиса в Emeditor на .inc ...

Последний раз редактировалось masterok999; 13.02.2018 в 16:55.
masterok999 вне форума   Ответить с цитированием
Старый 13.02.2018, 17:26   #3
VladG
Junior Member
 
Регистрация: 16.02.2009
Сообщений: 17
Вес репутации: 100/37
VladG will become famous soon enoughVladG will become famous soon enough
По умолчанию Re: MPLAB X IDE мультифайловый проект

Перенес макросы с определением констант в отдельный файл, поставил #include. Теперь компилируется без ошибок, но не работает - не светится светодиёдик.
Если не затруднит, не взгляните по test_3.zip как оно вышло по оформлению.
VladG вне форума   Ответить с цитированием
Старый 13.02.2018, 18:10   #4
masterok999
Senior Member
 
Регистрация: 28.07.2015
Адрес: NA
Возраст: 54
Сообщений: 190
Вес репутации: 660/20
masterok999 is a splendid one to beholdmasterok999 is a splendid one to beholdmasterok999 is a splendid one to beholdmasterok999 is a splendid one to beholdmasterok999 is a splendid one to beholdmasterok999 is a splendid one to behold
По умолчанию Re: MPLAB X IDE мультифайловый проект

Недоделано, не все включено в основной файл из исходного после "#include <P16F887.inc>"...

Код:
    list P=16F887
    #include <P16F887.inc> 
    #include "macro_test.asm"
    
    global port_d
         
    code
     
port_d
        bank_0
        clrf PORTD
        nop
        bsf PORTD,0
        return
        
    end
Отсутствует этот фрагмент до определения макросов:

Код:
 __CONFIG _CONFIG1, _FOSC_INTRC_NOCLKOUT & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_ON & _IESO_ON & _FCMEN_ON & _LVP_OFF
 __CONFIG _CONFIG2, _BOR4V_BOR40V & _WRT_OFF
 
    cblock 0x20
       temp
    endc
и фрагмент после них:
Код:
       org 0x0000
       goto start                ;вектор сброса
       org 0x0004                ;вектор прерывания
       goto start
       retfie
        
start
;**********настройка
       bank_1 
       movlw B'11111111'
       movwf TRISA
       
       movlw B'11111111'
       movwf TRISB
       
       movlw B'11111111'            
       movwf TRISC
       
       movlw B'11110111'            
       movwf TRISD
       
       movlw B'11111111'
       movwf TRISE
;**********окончание настройки
Естественно без этих фрагментов ничего мигать не будет.
Для понимания сути включенных файлов, это тот же кусок кода, который ассемблер тупо встраивает в основной при компиляции
в той же последовательности в которой кусок включен by INCLUDE.
Нет включенного фрагмента - код будет кастрированным по отношению к исходному который нарезан.

Да, еще только сейчас заметил, зачем в макросе директива:
end

там программа и закончится....

Последний раз редактировалось masterok999; 13.02.2018 в 18:16.
masterok999 вне форума   Ответить с цитированием
Старый 13.02.2018, 21:07   #5
dosikus
Senior Member
 
Аватар для dosikus
 
Регистрация: 05.06.2007
Возраст: 46
Сообщений: 3,744
Вес репутации: 6161/140
dosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond reputedosikus has a reputation beyond repute
По умолчанию Re: MPLAB X IDE мультифайловый проект

Але изобреДатели , начните читать уважаемого tester, затем плавно переходите к чтению мануала на компиль...
dosikus вне форума   Ответить с цитированием
Старый 14.02.2018, 09:41   #6
VladG
Junior Member
 
Регистрация: 16.02.2009
Сообщений: 17
Вес репутации: 100/37
VladG will become famous soon enoughVladG will become famous soon enough
По умолчанию Re: MPLAB X IDE мультифайловый проект

masterok999 Спасибо Вам! Немного понятно, есть от чего оттолкнуться.
Наложилось еще: прошиваю из IDE, не светится диёдик, тот же hex-ник из IPE - светится, глюки третьих версий, вторые работали устойчивей. Шаманство эпической силы....
VladG вне форума   Ответить с цитированием
Старый 23.02.2018, 07:12   #7
siargy
Senior Member
 
Аватар для siargy
 
Регистрация: 03.07.2007
Адрес: Минск
Возраст: 39
Сообщений: 868
Вес репутации: 1338/63
siargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud of
По умолчанию Re: MPLAB X IDE мультифайловый проект

Цитата:
Сообщение от dosikus Посмотреть сообщение
начните читать уважаемого tester, затем плавно переходите к чтению мануала на компиль...
начинающему весьма кстати подошли бы пруфы на уважаемого tester-а
и без вымогания припоя жэлательно
Миниатюры
mpasm.pdf   MPASM_formatting.pdf  
__________________
Построил тепличку, посеял литопсы, вырастил кактусы
siargy вне форума   Ответить с цитированием
Старый 23.02.2018, 07:42   #8
siargy
Senior Member
 
Аватар для siargy
 
Регистрация: 03.07.2007
Адрес: Минск
Возраст: 39
Сообщений: 868
Вес репутации: 1338/63
siargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud of
Arrow Re: MPLAB X IDE мультифайловый проект

Цитата:
Сообщение от VladG
Если не затруднит, не взгляните по Вложение 11098 как оно вышло по оформлению.
после компиляции исходного проекта заглянул в хекс


Цитата:
Сообщение от VladG Посмотреть сообщение
main_test - собственно сама программа
Цитата:
macro_test - куда бы скинуть все макросы и определения констант
Код:
bank_0  macro 
    bcf STATUS, RP0
    nop
    bcf STATUS, RP1
    endm
    
bank_1  macro 
    bsf STATUS, RP0
    nop
    bcf STATUS, RP1
    endm
    
    end
если делать правильно, то пусть макросы лежат в файле macros.inc
и естественно без энда
а переменные в файле variable.asm
Код:
    cblock 0x20
    temp
    endc
    global temp
соответственно в файле где переменная используется надо добавить
Код:
 EXTERN temp
Цитата:

init_test - стартовая инициализация чипа - порты, периферия
sub_test - подпрограммы
трохи поправил во вложении
Миниатюры
Обрезать_3.jpg  
Вложения
Тип файла: zip test_3s.zip (48.3 Кб, 5 просмотров)
__________________
Построил тепличку, посеял литопсы, вырастил кактусы
siargy вне форума   Ответить с цитированием
Старый 23.02.2018, 15:44   #9
_WIL_
Senior Member
 
Регистрация: 26.11.2009
Адрес: Беларусь
Сообщений: 709
Вес репутации: 1181/51
_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of
По умолчанию Re: MPLAB X IDE мультифайловый проект

Цитата:
Сообщение от siargy Посмотреть сообщение
начинающему весьма кстати подошли бы пруфы на уважаемого tester-а
и без вымогания припоя жэлательно
http://www.pic24.ru/doku.php/articles/list
_WIL_ вне форума   Ответить с цитированием
Старый 26.02.2018, 12:26   #10
VladG
Junior Member
 
Регистрация: 16.02.2009
Сообщений: 17
Вес репутации: 100/37
VladG will become famous soon enoughVladG will become famous soon enough
По умолчанию Re: MPLAB X IDE мультифайловый проект

Цитата:
Сообщение от siargy Посмотреть сообщение
уважаемого tester-а
В данном случае методичка не совсем к месту. Но для общего развития полезна.

Спасибо! Раскидал текст по двум файлам - основная и подпрограммы с макросами, переменными. Устраивает.
VladG вне форума   Ответить с цитированием
Старый 26.02.2018, 13:30   #11
siargy
Senior Member
 
Аватар для siargy
 
Регистрация: 03.07.2007
Адрес: Минск
Возраст: 39
Сообщений: 868
Вес репутации: 1338/63
siargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud of
По умолчанию Re: MPLAB X IDE мультифайловый проект

поскольку у вас отсуствуют базовые понятия, начинать всежэ надо с методичек и примеров.
__________________
Построил тепличку, посеял литопсы, вырастил кактусы
siargy вне форума   Ответить с цитированием
Старый 01.03.2018, 22:19   #12
CERGEI
Senior Member
 
Аватар для CERGEI
 
Регистрация: 11.07.2009
Возраст: 36
Сообщений: 526
Вес репутации: 183/41
CERGEI has a spectacular aura aboutCERGEI has a spectacular aura about
По умолчанию Re: MPLAB X IDE мультифайловый проект

Цитата:
Сообщение от VladG Посмотреть сообщение
В данном случае методичка не совсем к месту.
Вот так людям и помогай
CERGEI вне форума   Ответить с цитированием
Старый 02.03.2018, 09:41   #13
siargy
Senior Member
 
Аватар для siargy
 
Регистрация: 03.07.2007
Адрес: Минск
Возраст: 39
Сообщений: 868
Вес репутации: 1338/63
siargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud of
По умолчанию Re: MPLAB X IDE мультифайловый проект

ну да, чел не понял что многофайловый проект это не інклуд асмов в одін.

опятьжэ для переключенія банков есть встроенныя діректіва banksel
__________________
Построил тепличку, посеял литопсы, вырастил кактусы
siargy вне форума   Ответить с цитированием
Старый 02.03.2018, 14:59   #14
NVIC
Member
 
Аватар для NVIC
 
Регистрация: 26.02.2007
Сообщений: 54
Вес репутации: 100/44
NVIC will become famous soon enoughNVIC will become famous soon enough
Отправить сообщение для NVIC с помощью ICQ
По умолчанию Re: MPLAB X IDE мультифайловый проект

Вот тебе для примера всё разжевано
Вложения
Тип файла: rar test887.X.rar (46.8 Кб, 13 просмотров)
NVIC вне форума   Ответить с цитированием
Старый 07.03.2018, 09:20   #15
VladG
Junior Member
 
Регистрация: 16.02.2009
Сообщений: 17
Вес репутации: 100/37
VladG will become famous soon enoughVladG will become famous soon enough
По умолчанию Re: MPLAB X IDE мультифайловый проект

NVIC Спасибо!
Еще раз спасибо всем ответившим!

Не надо боятся ответить, вы становитесь выше в любом случае. Это вопрошающий глупеет, поскольку.... постольку, понятно, что сам не разобрался.
VladG вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MIcrochip Solutions. Проблема с компиляцией примеров. Леонид Продукция MICROCHIP 10 12.11.2017 01:30
Не компилируется проект MPLAB X IDE Beta7.12 AlexanderMeg Продукция MICROCHIP 4 06.08.2013 19:05
Не компилируется проект в MPLAB X IDE v1.10. aleator Вопросы начинающих 9 08.07.2012 23:48
ICD2 VladG Продукция MICROCHIP 25 05.05.2009 11:26
не могу скомпелировать проект в MPLAB IDE Ilya85 Продукция MICROCHIP 5 11.06.2007 17:47


Часовой пояс GMT +3, время: 05:12.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot