Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Заголовочные файлы для Keil
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
adnega
Добрый день!

Два исходника из примеров, идущих с Keil:

1. Для AT
#include <91M40800.H> /* AT91M40800 definitions */
#define CR 0x0D
void init_serial (void) { /* Initialize Serial Interface */
PIO_PDR = (1<<PIORXD0) | (1<<PIOTXD0); /* Enable RXD0 and TXD0 */
US0_MR = US_CHRL_8 | US_PAR_NO; /* 8 bits, no Parity, 1 Stop bit */
US0_BRGR = 260; /* 9600 Baud Rate @ 40 MHz Clock */
US0_CR = US_RXEN | US_TXEN; /* Enable RX and TX */
}

2. Для LPC
#include <LPC21xx.H> /* LPC21xx definitions */
#define CR 0x0D
oid init_serial (void) { /* Initialize Serial Interface */
PINSEL0 = 0x00050000; /* Enable RxD1 and TxD1 */
U1LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */
U1DLL = 97; /* 9600 Baud Rate @ 15MHz VPB Clock */
U1LCR = 0x03; /* DLAB = 0 */
}

Как избавиться от "нелепых" констант?
1. Можно забить свой заголовочник для каждого чипа.
2. Для инициализации "железа" можно воспользоваться Conf Wizard`ом, а как быть в обработчиках прерываний.

Что посоветуете?
zltigo
Цитата(adnega @ Aug 24 2007, 12:49) *
Что посоветуете?

Воздать молитву о ниспослании милости в виде headers фиг знает кем и по какой логике написанного, думаю не поможет.
Цитата
1. Можно забить свой заголовочник для каждого чипа.

А вот это делайте постепенно в процессе написания. Какие проблемы???


Для затравки - смотрите приложение.
adnega
Если их в природе нет, то все понятно :-( - забью свои.
Только, понимаете, во-первых, не хочу разойтись с "внешним миром". А во-вторых, под новый камень переписать файлик, ну... мягко скажу, нелегко! И самый сложный момент придумать уникальное имя!
zltigo
Цитата(adnega @ Aug 24 2007, 13:27) *
И самый сложный момент придумать уникальное имя!

Имя чего, простите? Файла? Какие проблемы? А если регистров и битов, то их 'придумывать' категорически НЕ СОВЕТУЮ - они уже придуманы и обозваны в документации. Хорошо-ли плохо-ли, но обозваны Авторами - их и использовать.


Цитата(adnega @ Aug 24 2007, 13:27) *
А во-вторых, под новый камень переписать файлик, ну... мягко скажу, нелегко!

Чего сложного? Повторяюсь - не весь сразу а просто по мере необходимости в процессе работы и чтения документации. Приложенный так у меня и растет постепенно. 'Любезно' приложенные производителем компилятора лучше не пользовать - в большинстве случаев такая услуга выйдет боком при переходе на другой комнилятор.
vesago
Я когда начал писать в кейле тоже был огорчен хедерами особенно после яра авр. Выдрал кажись из кроссворкса или из яра то что касалось битов. Что не устраивало - поправил. Вместе с родным подключаю и свой. Можете сделат аналогично.
adnega
Спасибо за советы! :-)
И за библиотеки спасибо, правда, свои уже наработал ;-)
Хотелось бы иметь файлики от производителя, но увы... :-(
А по поводу названий - конечно же, беру из даташитоф, но имена получаются длинющие, например, для pin connect block.
И еще момент, практически забил все определения для LPC2148, а теперь появилась LPC2378...
zltigo
Цитата(adnega @ Aug 24 2007, 16:18) *
Хотелось бы иметь файлики от производителя, но увы... :-(

Если от производителя компиляторов, то уже писал - ЛУЧШЕ не брать. Если от производителей чипов, то обычно они совершенно не заточены под какой-то компилятор и хороши в использовании.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.