질문게시판 > 답변 : AVR에서 이렇게 코딩하면....

TODAY498 TOTAL3,166,026
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 답변 : AVR에서 이렇게 코딩하면....

페이지 정보

작성자 master 작성일2018-06-05 03:37 조회10,693회 댓글0건

본문

	

 

#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
//
unsigned char index=0;
unsigned char dir=0;
unsigned char led=0;
//
int main(void){
  DDRA=0xFF;
  while(1){
    if(dir==0)PORTA=0x01<<index;
    else      PORTA=0x20>>index;
    PORTA=PORTA | (led<<7); // 이부분에서 l(?맞나요)이 의미하는게 뭔지 궁금합니다
    _delay_ms(100);
    index++;
    index=index%6;
    if(index==0)dir=dir^0x01;
    led=led^0x01// 이부분도 뭔지도 궁금합니다.
  }
}

 

 

PORTA=PORTA l(led<<7); // 이부분에서 l(?맞나요)이 의미하는게 뭔지 궁금합니다

 

또는 1은 아닙니다.

| 연산자입니다.

비트7을 무조건 1로 만들기 위한 연산이죠

 

led7=led7^0x01// 이부분도 뭔지도 궁금합니다.

 

led 변수의 비트0을 토글 시키기 위한 연산입니다. 

^는 xor 연산자이며

위 연산의 결과는 0 또는 1로서, 비트0만 반전됩니다.

 

    if(dir==0)PORTA=0x01<<index;
    else      PORTA=0x20>>index;

위 연산 결과에서 비트7은 항상 0 입니다.

 

    PORTA=PORTA | (led<<7);

바로 아래에서 비트7을 출력해주는 것인데

led 변수의 비트0 을 포트A의 비트7에 출력해주는 것이죠

 

 

    led^=0x80;
    PORTA|=led;

코드를 좀 더 간단히 하려면 이렇게하면 되겠죠

 

 

// DateTime : 2018-06-05 오전 3:40:10
// by Ok-Hyun Park
//
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
//
char index=0,dir=0,led=0;
//
int main(void){
  DDRA=0xFF;
  while(1){
    if(dir)PORTA=0x20>>index;
    else   PORTA=0x01<<index;
    led^=0x80;
    PORTA|=led;
    if(++index>5){ index=0dir^=1; }
    _delay_ms(100);
  }
}

 

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 0

조회수 10,693

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
답변 답변글 답변 4: 아두이노 시리얼 통신 질문 ( 하드웨어 충돌 원인 추정 ) master 18-07-17 9660
질문 전기주전자 사용시 콘센트 꺼짐 질문 master 18-07-17 9346
질문 로크너트 구입 질문 master 18-07-17 11384
질문 전자공작 새싹 회원 입니다.댓글[2] 비공개 18-07-16 14447
질문 아두이노와 TFT LCD 2.8 inch 사용 질문 master 18-07-16 11858
질문 아두이노간 시리얼통신 질문 master 18-07-16 12206
질문 암페어와 전압의 이해 (토글스위치연결) 질문 master 18-07-16 11397
질문 질문드립니다. 드론 소스 코드 관련댓글[5] 첨부파일 이호 18-07-16 22216
질문 앱인벤터 질문.댓글[3] 비공개 18-07-15 15467
질문 아두이노 조도센서와 네오픽셀 코딩방법 이미지첨부파일 asfdasfd 18-07-14 11958
답변 답변글 답변 : 아두이노 조도센서와 네오픽셀 코딩방법 master 18-07-14 12714
질문 아두이노 코딩 관련 추가 질문 master 18-07-14 13257
질문 아두이노 코드 합치기 질문 master 18-07-14 10212
질문 LM35, 74LS47 를 이용한 온도계 회로 질문 master 18-07-14 10559
질문 자이로센서 질문입니다.댓글[1] 이미지 승후 18-07-13 11889
질문 아두이노 시리얼 통신 질문 아두초보 18-07-13 10682
답변 답변글 답변 : 아두이노 시리얼 통신 질문 master 18-07-13 10057
질문 자동차 PID제어 질문 master 18-07-13 9626
질문 아두이노 외부전압 질문 master 18-07-13 11299
질문 아두이노 코드 질문입니다 zxxuxvmau 18-07-12 9960
답변 답변글 답변 : 아두이노 코드 질문입니다 master 18-07-12 9785
질문 아두이노 키트 질문드립니다.댓글[4] 밥솥 18-07-12 19786
질문 모터 제어 질문 뽕보 18-07-11 9457
답변 답변글 답변 : 모터 제어 질문 master 18-07-11 9279
답변 답변글 답변 : 답변 : 모터 제어 질문댓글[1] 뽕보 18-07-11 12350
질문 아두이노와 라즈베리파이 중 어떤 것을 하는것이 좋을까요? master 18-07-11 9307
질문 pic16f877a 외부 인터럽트 질문 master 18-07-11 9212
질문 아두이노 코딩 합치기 질문 master 18-07-11 11695
질문 아두이노 코딩 질문입니다댓글[1] 비공개 18-07-10 10266
질문 스탭모터 제어 뽕보 18-07-10 9477
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기