본문 바로가기

프로그래밍/STM324

button(버튼) / Key(키) 이벤트 처리(핸들링) MCU (Embbeded) 시스템에 Button 입력 처리는 아래의 github에 코드를 참조하면 도움이 됩니다. github : https://github.com/taraskornuta/Button GitHub - taraskornuta/Button: Embedded MCU library to handle buttons pressing Embedded MCU library to handle buttons pressing. Contribute to taraskornuta/Button development by creating an account on GitHub. github.com This is a high-level abstraction layer library which provides easy t.. 2023. 7. 26.
STM32 GPIO 설정 (Configuration) STM32의 GPIO 설정에 대한 설명은 아래 와 같습니다. GPIO_MODE_INPUT GPIO_MODE_INPUT은 GPIO 핀의 동작 모드를 디지털 입력 모드로 설정하는 것을 의미합니다. 이 모드에서 GPIO 핀은 디지털 신호를 읽어오는 데 사용 GPIO_MODE_ANALOG GPIO_MODE_ANALOG는 GPIO 핀의 동작 모드를 아날로그 입력 모드로 설정하는 것을 의미합니다. 이 모드에서 GPIO 핀은 아날로그 신호를 측정하기 위해 사용 GPIO_MODE_OUTPUT_OD -출력 핀은 두 가지 상태로 구성됩니다. 첫 번째는 출력이 '1'로 설정되었을 때, 출력 핀은 높은 임피던스 상태로 유지 따라서 별도 외부에 풀업 회로 등 구성 필요 GPIO_MODE_OUTPUT_PP GPIO_MODE_OU.. 2023. 7. 18.
Free RTOS (Timer) Example Free RTOS의 TIMER를 사용하는 방법입니다. #define configUSE_TIMERS 1 // Required #define configTIMER_TASK_PRIORITY 6 #define configTIMER_QUEUE_LENGTH 10 #define configTIMER_TASK_STACK_DEPTH configMINIMAL_STACK_SIZE osTimerId TimerHandle; void TimerHandler(void const * arg) { printf("TimerHandler\r\n"); } osTimerDef(TS_Timer, TimerHandler); TimerHandle = osTimerCreate(osTimer(TS_Timer), osTimerPeriodic, NULL.. 2023. 7. 13.
Free RTOS (Message Queue) Example Task간 동기화및 메시지 송수신을 위한 메시지 Queue 사용예입니다. TaskHandle_t myTask1Handle = NULL; TaskHandle_t myTask2Handle = NULL; QueueHandle_t myQueue; void myTask1(void *pvParameters) { TickType_t xDelay = pdMS_TO_TICKS(1000); TickType_t myLastUnblock; myLastUnblock = xTaskGetTickCount(); char myTxBuff[30]; myQueue = xQueueCreate( 5 , sizeof(myTxBuff) ); //size of queue (number of block), size of each block spri.. 2023. 7. 12.