[Harman 세미콘 아카데미] 47일차 - ARM 및 RTOS 활용(Interrupt, DMA, PWM)
[Interrupt] void JoyStick(int op) { HAL_ADC_Start(&hadc1); HAL_ADC_PollForConversion(&hadc1, 100); xVal = HAL_ADC_GetValue(&hadc1); HAL_ADC_PollForConversion(&hadc1, 100); yVal = HAL_ADC_GetValue(&hadc1); HAL_ADC_Stop(&hadc1); zVal = !(HAL_GPIO_ReadPin(z_Value_GPIO_Port, z_Value_Pin)); if(op)printf("x : %5d, y : %5d, z : %d \r\n", xVal, yVal, zVal); } 우리가 만든 JoyStick 함수는 소프트웨어 컨버젼 방식이기 때문에, 함수를 ..
2023. 8. 31.
[Harman 세미콘 아카데미] 43일차 - ARM & RTOS 활용(Timer, EXTI, DMA)
[Timer] Review 1. clock 발생 주기 계산법 Timer Interrupt 활용 /* USER CODE BEGIN PV */ int xVal=0, yVal=0, zVal=0; // 조이스틱 및 버튼 상태 변수 int cnt = 0; // ADC 변환 카운트 변수 int dir = 0; // 방향 변수 // 방향 문자열 배열 char *dirs[] = {"Front ", "Front-Left ", "Left ", "Back-Left ", "Back " , "Back-Right ", "Right ", "Front-Right", "Push", " "}; /* USER CODE END PV */ /* Private function prototypes --------------------------..
2023. 8. 25.