STM32 ArduinoでいうところのINPUT_PULLUP
ArduinoでいうところのINPUT_PULLUP
GPIOから、GPIO_InPutモードを選択して、それぞれの端子でGPIO Pull-up/Pull-downの項目でPull-upを選択決定する。あとは、結線上は、同じでGNDに落ちたら検出をする。
/*changing of set value by switch */
while(!HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_8)){
if ((Vset >= 0) && (Vset <= 1.499)) {
Vset=Vset+0.001;
sprintf(cdcBuffer, "Vset=%4f\n\r",Vset);
ssd1306_SetCursor(0, 8*3);
ssd1306_WriteString(cdcBuffer, Font_6x8, White);
HAL_Delay(1);
ssd1306_UpdateScreen();
}
上は、押している間、Vsetの値が0.001増え(長押し可能)、この例の場合はOLEDでもその増えていく様子がわかるってもの。
コメント
コメントを投稿