Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PIC18F45K22 and MCC18
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
bornbash
Доброго времени суток!
Перехожу с 16 на 18 архитектуру. В качестве компилятора остановился на Microchip C18. МК - 18F45K22. Проблема состоит в том, что с компилятором (версия 3,36) не идут библиотеки для архитектуры F4(2)xK22, хотя необходимый файл линкера и заголовочный есть. Как можно выйти из положения? Куда копать, чтобы прикрутить уже существующие бибилиотеки (например, от 18F45K20)?

зы: С только начинаю осваивать
Redguy
Не знаю точно, но на первый взгляд стандартные библиотеки периферии настраиваются в файле "pconfig.h", например:
CODE
#ifdef __18F45K20
/*############################################################*/
/* Configuration for device = 'PIC18F45K20' */
/*############################################################*/

/* ADC */
#define ADC_V8

/* ECC */
/*No configuration chosen for this peripheral*/

/* CC */
#define CC_V2

/* EPWM */
#define PWM_V11

/* PWM */
#define PWM_V10

/* PCPWM */
/*No configuration chosen for this peripheral*/

/* USART */
#define EAUSART_V5

/* SPI */
#define SPI_V1

/* I2C */
#define I2C_V1

/* TIMERS */
#define TMR_V2

/* EEPROM */
#define EEP_V2

/* PORT_B */
#define PTB_V1

/* ANCOMP */
#define ANCOM_V5

/* MWIRE */
#define MWIRE_V1

/* CTMU */
/*No configuration chosen for this peripheral*/

/* PPS */
/*No configuration chosen for this peripheral*/

/* RTCC */
/*No configuration chosen for this peripheral*/

/* DPSLP */
/*No configuration chosen for this peripheral*/

/* PMP */
/*No configuration chosen for this peripheral*/

/* FLASH */
#define FLASH_V1_2

#endif


а вот какие версии отдельных модулей периферии в каком контроллере неизвестно.

Там, кстати, есть ещё одна интересная строчка:
/* This file is auto generated by the Library Configuration tool. */
Попробуй её найти.
Danis
Цитата(bornbash @ Apr 12 2011, 12:49) *
В качестве компилятора остановился на Microchip C18.


oops, а вот это зря.
bornbash
Цитата(Danis @ Apr 12 2011, 15:56) *
oops, а вот это зря.

Почему? В качестве альтернативы рассматривал еще MicroC - уж очень там сама среда удобна, да и примеров много, но компилер от фирмы-разработчика, прикрученный к мплабу показался надежнее что ли sm.gif
Danis
Цитата(bornbash @ Apr 14 2011, 10:36) *
но компилер от фирмы-разработчика, прикрученный к мплабу показался надежнее что ли sm.gif


Нет, к сожалению не надежный! По началу может и ничего. Как напишите сотню, другую строк кода, обязательно какой ни будь глюк словите. Искать и устранять его придется часами. C Microchip C18 сталкивался только 1 раз, когда стек TCP от Microchip перенес на PIC18F66J60. Помучился – помучился и поставил крест на С18. Очень уж гав#о.
Применяйте лучше Hi-Tech PIC C-compiler если хотите нормально и продуктивно поработать. Этот компилятор нормально в MPLAB встраивается. Но и в этом случае пользоваться периферийной библиотекой не рекомендую, заполнить регистры вручную не так уж и проблематично.

http://www.torrenthound.com/hash/668cb0938...piler-v9-60-rar

http://www.microchip.com/stellent/idcplg?I...ocName=en542861
testerplus
Цитата(Danis @ Apr 15 2011, 08:32) *
Применяйте лучше Hi-Tech PIC C-compiler если хотите нормально и продуктивно поработать.


Просто для информации: http://caxapa.ru/236584.html
bornbash
Всем спасибо. Ну уж первый проект допишу на С18, а там и хайтек попробую...
Ruslan1
Цитата(bornbash @ Apr 16 2011, 17:06) *
Всем спасибо. Ну уж первый проект допишу на С18, а там и хайтек попробую...


угу. А потом при переходе к dsPIC или PIC32 обратно на майкрочиповский C придется переходить.
Так что думайте, освоить одно и дальше продолжать в том же ключе или метаться.

А насчет глючности MCC18 сомневаюсь честно говоря, но в перепалку по этому поводу вступать не буду, для 18-х использовал только хайтек. Кстати компилятор тоже не без греха. Были заморочки с некоторыми версиями, но бочку катить не буду, может все-таки ручки у меня кривоваты.

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

Кстати, Вы не сказали, на чем ездили когда сидели на 16-й архитектуре. неужто на мпасме?
bornbash
Цитата(Ruslan1 @ Apr 16 2011, 23:54) *
угу. А потом при переходе к dsPIC или PIC32 обратно на майкрочиповский C придется переходить.
Так что думайте, освоить одно и дальше продолжать в том же ключе или метаться.

А насчет глючности MCC18 сомневаюсь честно говоря, но в перепалку по этому поводу вступать не буду, для 18-х использовал только хайтек. Кстати компилятор тоже не без греха. Были заморочки с некоторыми версиями, но бочку катить не буду, может все-таки ручки у меня кривоваты.

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

Кстати, Вы не сказали, на чем ездили когда сидели на 16-й архитектуре. неужто на мпасме?


1. Касательно перехода на хайтек - соображение интересное. Но я имел ввиду "пощупаю", а не перейду - ведь пока сам не попробуешь, сложно что-то утверждать.
2. Ага, именно ассемблер. И очень здорово все было )).

Ruslan1
Цитата(bornbash @ Apr 18 2011, 08:41) *
1. Касательно перехода на хайтек - соображение интересное. Но я имел ввиду "пощупаю", а не перейду - ведь пока сам не попробуешь, сложно что-то утверждать.
2. Ага, именно ассемблер. И очень здорово все было )).

Да что тут щупать, относитесь как к молотку. Гвозди удобно забивать- вот и хорошо. А из какого этот молоток сплава- лично мне уже сугубо фиолетово sm.gif Ну, разве что в образовательных целях или для копания в чужих исходниках.
Ассемблер. Искренне сочувствую и рекомендую использовать ассемблер только тогда, когда Си не справляется. И не иначе. Я много лет на ассме сидел, базы данных с индексацией и свои библиотеки плавучки на PIC16C74/C77 писал. Так вот сейчас это все вспоминается с некоторой грустью, очень много времени было потеряно без должной аргументации "нафуа это надо?". Не те времена, и тогда и сейчас, всегда можно взять процессор, позволяющий сделать задачу на Си. Остальные случаи можно посчитать на пальцах одной руки фрезеровщика со стажем.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.