Тема: Купа питань початкового рівня про STM32 та програмування під то
Вітаю. Маю STM32F103C8T6 та програматор St-link v2.
На даний момент моя мета - це зробити так, аби я міг отримувати якийсь сигнал ззовні, якось його обробляти, та якось видавати результат обробки.
Якщо я правильно зрозумів, то кожен пін може приймати якийсь сигнал. Я спробував отримати сигнал на пін A0, і коли він є, то підсвічувати зелений діод, а коли немає - гасити той діод.
Ось конфігурація A0
І ось мій код
while (1)
{
if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0)) {
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
} else {
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
}
}
воно ніби і працює. Коли я пихаю свого тоненького металевого щупа прямо в дірочку A0 - зелений діод підсвічується, і коли витягую щупа - діод згасає, але це відбувається не завжди так, як очікується. Іноді діод згасає не відразу після того, як щуп витягнутий, а через ~2 секунди.
В мене є лише два питання на даний момент:
1. Чому достатньо просто запхнути щось металеве в дірку A0? Хіба це металеве не повинно подавати якусь напругу?
2. Чому діод іноді згасає лише через ~2 секунди, а не відразу після того, як я витягую з піна металевий стержень?