Цитата(Genadi Zawidowski @ Sep 9 2013, 15:36)

Я конфигурировал.
see
https://188.134.5.254/export/378/trunk/hardware.c, функция arm_hardware_pioa_inputs, например. Используется макрос arm_stm32f10x_hardware_pio_prog
Про приоритет операций в проверке состояния входного пина Вы зря не слушаете... Но к установке PullUp не относится.
я слушаю - я не понимаю, в чем фишка

а понял - скобки не поставил, как то пропустил по невнимательностию
Genadi Zawidowski,
если я иду на использование макроса
CODE
#define arm_stm32f10x_hardware_pio_prog(gpio, iomask, cnf, mode) \
do { \
const portholder_t lo = power4((iomask) >> 0); \
const portholder_t hi = power4((iomask) >> 8); \
(gpio)->CRL = ((gpio)->CRL & ~ ((GPIO_CRL_MODE0 | GPIO_CRL_CNF0) * lo)) | (((GPIO_CRL_MODE0_0 * (mode)) | (GPIO_CRL_CNF0_0 * (cnf))) * lo); \
(gpio)->CRH = ((gpio)->CRH & ~ ((GPIO_CRH_MODE8 | GPIO_CRH_CNF8) * hi)) | (((GPIO_CRH_MODE8_0 * (mode)) | (GPIO_CRH_CNF8_0 * (cnf))) * hi); \
} while (0)
то почему не воспользоваться стандартной библиотекой? я изначально отказался от всяких наворотов, хочу работать напрямую с регистрами, тем более в инициализации, где один раз написал и забыл. в атмеле работа напрямую с регистрами позволяла мне писать довольно эффективный код.
необходимый и достаточный код для входа с пулапом
CODE
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; //GPIO portC clocking
GPIOC->CRL = GPIO_CRL_CNF0_1; //PC0 input with pull-up/pull-down resistor
GPIOC->BSRR |= GPIO_BSRR_BS0; //set pull-up on PC0
найден эмпирическим путем
Сообщение отредактировал Jenya7 - Sep 9 2013, 12:25