BASIC4MCU | 질문게시판 | 답변 : stm32f103 질문 드립니다.
페이지 정보
작성자 master 작성일2018-01-19 17:54 조회6,256회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=116
본문
char flag=0; //전역변수로 선언
do{
//센서에 안걸린 상태면모터 굴림if(HAL_GPIO_ReadPin(motor1SENSOR_PORT, motor1_PIN)==GPIO_PIN_SET)flag|=1;
else flag&=~1;
if(HAL_GPIO_ReadPin(motor2SENSOR_PORT, motor2_PIN)==GPIO_PIN_SET)flag|=2;
else flag&=~2;
}while(HAL_GPIO_ReadPin(motor1SENSOR_PORT,motor1_PIN)||HAL_GPIO_ReadPin(motor2SENSOR_PORT,motor2_PIN)!=GPIO_PIN_RESET);
타이머 인터럽트 함수(){ // 1ms 주기
if(flag&1){
HAL_GPIO_WritePin(motor1_STEP_PORT, motor1_STEP_PIN, GPIO_PIN_SET);
HAL_GPIO_WritePin(motor1_STEP_PORT, motor1_STEP_PIN, GPIO_PIN_RESET);}
if(flag&2){
HAL_GPIO_WritePinmotor2_STEP_PORT, motor2_STEP_PIN, GPIO_PIN_SET);
HAL_GPIO_WritePin(motor2_STEP_PORT, motor2_STEP_PIN, GPIO_PIN_RESET);}
}
타이머를 사용한다고하면 이런식으로 구성하면 됩니다.
댓글 1
조회수 6,256몽규님의 댓글
몽규 작성일이런 방법도 있군요. 감사합니다!