Хочу отконфигурировать пин как вход с пуллапом.
Камень STM32F103.
CODE
void GpioInit(void)
{
//PORTC Settings
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
}
И потом проверяю.
CODE
int main(void)
{
GlobalInit();
UsartSendString("Start\r"); // to check we are still alive
while(1)
{
if(GPIOC->IDR & GPIO_IDR_IDR0==0)
{
delay_100us(); //debounce
if(GPIOC->IDR & GPIO_IDR_IDR0==0)
{
UsartSendString("Button 0\r");
}
}
}
Вроде все сделал правильно но не работает. На пине 0 вольт, хотя должно быть 3.3V.