BASIC4MCU | 질문게시판 | while loop 실행 속도
페이지 정보
작성자 412904 작성일2023-03-12 16:12 조회2,321회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=22343
본문
while 루프 실행 속도 관련해서 질문 드립니다.
16MHz의 MCU를 사용했을 경우
이상적으로는 main 함수 내의 while 루프가 62.5ns에 한 번씩 돌아가지 않나요?
그런데 실제로 실행 주기를 측정했을 떄 16MHz가 나오지 않는 이유는 무엇인가요?
댓글 1
조회수 2,321master님의 댓글
master 작성일
어셈블리어에 비해서 c언어는 코드가 깁니다.
그 때문에 실행시간도 길어지죠
와일문의 실행코드도 시간이 걸리지만 토글출력함수도 시간이 꽤깁니다.
와일문의 실행시간이 걸리지 않는다고 억지로 가정하고, 토글출력에도 1클럭밖에 소모되지 않는다고 하더라도
8MHz밖에 안나옵니다.
AVRStudio로 시뮬레이션하면 어떤 명령어들로 구성되는지 어셈블리어 레벨로 볼 수 있고
1회 와일문 실행 시간을 측정 할 수 있습니다.
https://cafe.naver.com/circuitsmanual/31102