Page 565 - MDP2020-1
P. 565
················································································ 명장양성프로젝트 【MDP】 과제발표회 자료집 Ⅰ | 559
{
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_6)==GPIO_PIN_SET&&HAL_GPIO_ReadPin(GPIOA,
GPIO_PIN_5)==GPIO_PIN_SET ) //압력센서의 값과 근접센서의 값이 모두 1일 때 ON
HAL_GPIO_WritePin(GPIOG,GPIO_PIN_3,GPIO_PIN_SET);
else //압력센서의 출력값과 근접센서의 출력값중 하나라도 0이면 OFF
HAL_GPIO_WritePin(GPIOG,GPIO_PIN_3,GPIO_PIN_RESET);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
**********SENSER_TEST_END*************
**********MOTOR_TEST_START*************
int main(void)
{
/* USER CODE BEGIN 1 */
int motor_flag = 0, cnt = 0;
/* USER CODE END 1 */
HAL_Init();
/* Configure the system clock */
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_TIM2_Init();
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1); //PWM모드로 펄스 만듦
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13) == GPIO_PIN_SET &&
motor_flag == 0) { //신호가 ON되고 모터 플레그가 0일경우
motor_flag = 1;
TIM2 ->CCR1 = 180-1; //CCR값은 0부터 카운트됨으로 -1
}
else if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13) == GPIO_PIN_RESET