본문 바로가기

STM32/touchGFX_STM32

touchGFX 입력 키패드(1)

728x90

목표

1) 숫자 키패드 버튼을 통한 입력 => 화면 출력 4자리

2) Enter 버튼 -> UART통신을 통한 PC화면에 데이터 출력

3) Delete 버튼 -> 값 초기화

 

 

1. UI 화면 작업

 

2. 숫자 키패드의 화면 출력

- 버튼 클릭 인터랙션 생성 (숫자 0 ~ 9)

- 자릿수와 숫자 값 저장을 위한 구조체

 

typedef struct {
 uint8_t ct1;   // 자릿수 위치
 uint16_t tb;   // 숫자 값
} TEN_User_InitTypeDef;

 

TEN_User_InitTypeDef ten;   // ten이라는 이름의 구조체 생성

 

<Screen2View.hpp>

protected:
    typedef struct {
     uint8_t ct1;
     uint16_t tb;
    } TEN_User_InitTypeDef;
    TEN_User_InitTypeDef ten;

    void btn0_click();
    void btn1_click();
    void btn2_click();
    void btn3_click();
    void btn4_click();
    void btn5_click();
    void btn6_click();
    void btn7_click();
    void btn8_click();
    void btn9_click();
    void btnD_click();   // delete 버튼
    void btnE_click();    // enter 버튼

    void set_num(uint8_t);
    void dsp_edit();
};

 

<Screen2View.cpp>

 

- 숫자 버튼 클릭 시 set_num() 함수 호출

void Screen2View::btn0_click() { set_num(0); }
void Screen2View::btn1_click() { set_num(1); }
void Screen2View::btn2_click() { set_num(2); }
void Screen2View::btn3_click() { set_num(3); }
void Screen2View::btn4_click() { set_num(4); }
void Screen2View::btn5_click() { set_num(5); }
void Screen2View::btn6_click() { set_num(6); }
void Screen2View::btn7_click() { set_num(7); }
void Screen2View::btn8_click() { set_num(8); }
void Screen2View::btn9_click() { set_num(9); }

 

- set_num 함수에서 자릿수 고려한 후 dsp_edit 함수 호출

- 화면 출력 새로고침

TEXTAREA1_SIZE = 5로 설정. 숫자는 4자리지만 1 크게 설정해야함.

 

3. DELETE 기능 - 숫자 초기화

 

728x90

'STM32 > touchGFX_STM32' 카테고리의 다른 글

[stm32F746] 2. EXTI (외부인터럽트)  (0) 2020.08.31
[stm32F746] 1. 타이머 만들기  (0) 2020.08.31
[touchGFX] Font 추가  (0) 2020.08.31
[touchGFX] UART Transmit  (0) 2020.08.28
touchGFX_textArea 출력하기  (0) 2020.08.26