BASIC4MCU | 질문게시판 | C언어 map함수 질문
페이지 정보
작성자 master 작성일2018-09-01 09:09 조회12,138회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=2881
본문
C언어 map함수 질문이요~~
map함수가 어떤 의미인가요??
map(value,fromlow, fromhigh, tolow,tohigh)구조에서 각각 어떻게 되는건가요~~
//
아두이노 map 함수 질문인가요?
file:///D:/!!!!!!C%EB%B0%94%ED%83%95%ED%99%94%EB%A9%B4/%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8/arduino-1.6.8/reference/www.arduino.cc/en/Reference/Map.html이 글에 있는 내용을 적어드리죠void loop(){int val = analogRead(0); // 0~1023 아나로그 입력을 받아서val = map(val, 0, 1023, 0, 255); // 0~1023 을 --> 0~255 로 변환analogWrite(9, val); // PWM 핀에 출력}
AppendixFor the mathematically inclined,here's the whole function//long map(long x,long in_min,long in_max,long out_min,long out_max){return(x-in_min)*(out_max-out_min)/(in_max-in_min)+out_min;}함수는 이렇게 생겼고요
위 예제는 min값이 입력이나 출력이나 모두 0입니다.
void loop(){int val = analogRead(A0); // 0~1023 아나로그 입력을 받아서val = (float)val*255.0/1023.0; // 0~1023 을 --> 0~255 로 변환analogWrite(9, val); // PWM 핀에 출력}산술 연산으로 한다면 이렇게 하면 되고요
void loop(){int val = analogRead(A0); // 0~1023 아나로그 입력을 받아서val = val>>2; // 0~1023 을 --> 0~255 로 변환analogWrite(9, val); // PWM 핀에 출력}또, 10비트에서 8비트로 줄이는 것이므로 2의n승에 해당하므로 비트(쉬프트) 연산으로도 가능합니다.
void loop(){analogWrite(9,analogRead(A0)>>2); // 0~1023 을 --> 0~255 로 변환, PWM 출력}간단하게 1라인으로도 만들 수 있죠
댓글 0
조회수 12,138등록된 댓글이 없습니다.