zHz00 Untitled

среда, 09 ноября 2016
23:59 Аппендикс
Мне дали готовый проект для микроконтроллера когда-то. И вот понадобилось добавить туда поддержку SPI (последовательный аппаратный интерфейс для связи с внешними устройствами). Проект на Си, контроллер LPC.

Обычно есть готовые библиотеки для работы с частями контроллера. А у контроллера поддержка SPI была. Но заголовочного файла для SPI почему-то не было. Однако файлы имели имена типа lpc_model_device.h, где model -- модель устройства, а device -- подсистема контроллера. Например, lpc_1111_usart.h -- поддержка USART.

Забиваю в гугл -- lpc_1111_spi.h -- и нахожу библиотеку, из которой были стырены заголовочные файлы проекта, который мне дали. Библиотека от производителя -- NXP. Беру нужные два файла (заголовочный и сишный), качаю, добавляю в проект, пытаюсь собрать.

Вижу сообщение об ошибке:

LPC_SPI_BASE: identifier not found.

Как же так. Открываю "базовый" заголовочный файл, содержащий идентификаторы всех устройств (lpc_1111_cgu.h). Он имеет ту же дату, что и файл в интернете. Но в файле в интернете этот идентификатор есть! А в моём его нет.

Смотрю, что написано в моём:

enum DEVICES
{
LPC_DEV1_BASE=0,
//...
LPC_SSP_BASE,
LPC_I2S_BASE=LPC_SSP_BASE+2,
///...
};

В файле из интернета же после SSP_BASE расположен SPI_BASE. То есть авторы проекта его зачем-то не просто вырезали из готовых исходников, но и даже подправили нумерацию, чтобы не сбилась. То есть, это было сделано сознательно. Зачем -- ещё предстоит выяснить.

@темы: Программирование, Борьба с техникой

URL
Зачем нужны друзья? .... Они порой делают слишком больно....
[*]www.wreckedexotics.com/index2.html Вы когда-нибудь ...
[*]Очень приятный сайт. И флэша никакого не надо.
19 июня 1997 года. ГАИшники диву давались, когда им ...
Великолепная погода. Великолепный день. Настроение н...
Тест, губящий во мне человека: - девушка, говорящая при...
Добавить комментарий

Расширенная форма

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail