Page 472 - MDP2020-1
P. 472
| 인천전자마이스터고등학교 ·············································································································
466
/* Infinite loop */
/* USER CODE BEGIN WHILE */
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET); // 신호등 녹색
점등
while (1)
{
if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_0) == GPIO_PIN_RESET){ // 서보 모터 정
방향 회전
TIM1 -> CCR1 = 9;
// PWM 펄스 듀티비 하락 및
원상태 복귀
}
else if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_0) == GPIO_PIN_SET){
// 서보 모터 역방향 회전
TIM1 -> CCR1 = 299;
// PWM 펄스 듀티비 상승 및
회전
}
if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_1) == GPIO_PIN_RESET){ // 동작 신호
-> 정지 신호로 변경
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET); // 녹색등
멸등
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_RESET); // 적색등
멸등
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_1, GPIO_PIN_SET); // 황색등
점등
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_1, GPIO_PIN_RESET); // 황색등
멸등
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_SET); // 적색등
점등
}
if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_2) == GPIO_PIN_RESET){ // 정지
신호 -> 동작 신호로 변경
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_RESET); // 적색등
멸등