Перейти к содержанию
    

Не компилируется StdPeriph

Скачал с официального сайта указанную библиотеку.

Сделал все по инструкции http://amberclan.clan.su/publ/uroki_po_pro...periph/7-1-0-81

 

Не компилируется, выдает ошибку "STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c(2870): error: #20: identifier "TIM_CCER_CC4NP" is undefined "

 

Что делать и кто виноват?

TEST.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В stm32f10x.h такое определение:

#define  TIM_CCER_CC4E                       ((uint16_t)0x1000)            /*!<Capture/Compare 4 output enable */
#define  TIM_CCER_CC4P                       ((uint16_t)0x2000)            /*!<Capture/Compare 4 output Polarity */

А stm32f10x_tim.c использует TIM_CCER_CC4NP. Поэтому возникает ошибка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

скачал заново все одной версии, скомпилировал, заработало.

 

Появился еще вопрос.

Инициализирую порт:

RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;

GPIOA->CRL &= ~GPIO_CRL_CNF3;

GPIOA->CRL |= GPIO_CRL_MODE3_0; // 10 МГц

 

Объясните, почему для CNF используется операция &= ~, а для Mode - операция ИЛИ ?

Я так понял, что операция, производимая с CNF3 приведет к обнулению соответствующих битов, чему бы они раньше не равнялись. А операция с Mode3_0 не затронет бит Mode3_1?

 

То есть, если я хочу включить 10 МГц, до этого у меня были нули (вывод на вход), то это сработает.

А если был режим 50 МГц, то его нужно сначала обнулить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То есть, если я хочу включить 10 МГц, до этого у меня были нули (вывод на вход), то это сработает.

А если был режим 50 МГц, то его нужно сначала обнулить?

верно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...