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でもその増えていく様子がわかるってもの。




コメント

このブログの人気の投稿

Attiny85とAQM0802A(LCD)のI2C接続

CH9329で日本語キーボード109で正しく表示する方法