MementoMori 4 14 ноября, 2012 Опубликовано 14 ноября, 2012 · Жалоба Скачал с официального сайта указанную библиотеку. Сделал все по инструкции 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spectral1989 0 15 ноября, 2012 Опубликовано 15 ноября, 2012 · Жалоба у вас header контроллера и std periph библиотека разных версий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 15 ноября, 2012 Опубликовано 15 ноября, 2012 · Жалоба Исправил. Все равно выдает ту же ошибку. TEST.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
011119xx 0 15 ноября, 2012 Опубликовано 15 ноября, 2012 · Жалоба В 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. Поэтому возникает ошибка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 15 ноября, 2012 Опубликовано 15 ноября, 2012 · Жалоба скачал заново все одной версии, скомпилировал, заработало. Появился еще вопрос. Инициализирую порт: 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 МГц, то его нужно сначала обнулить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spectral1989 0 16 ноября, 2012 Опубликовано 16 ноября, 2012 · Жалоба То есть, если я хочу включить 10 МГц, до этого у меня были нули (вывод на вход), то это сработает. А если был режим 50 МГц, то его нужно сначала обнулить? верно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться