답변 : 코드비젼 바이트 단위에서는 비트 마스크를 사용하면 됩니다.
페이지 정보
작성자 master 작성일18-06-12 00:27 조회4,918회 댓글0건본문
// MCU BASIC: https://www.basic4mcu.com
// DateTime : 2018-06-12 오전 12:30:22
// by Ok-Hyun Park
//
제가 LCD와 버저를 이용하여서 프로그램을 작성하려고 합니다.
그런데 키트에 버져가 PORTG.4 에 납땜에 되어있어서
다음과 같은 형식으로 CTC 가 TOP 에 도달하였을때
아래의 OCR1A 에 설정된 주파수에 알맞게 PORTG를 토글 시켜서
G포트로 사운드를 출력시키는데 까지는 성공을 했습니다.
하지만 문제가 무엇이냐면 G포트의 0123 에 LCD 의 RS REN TX RX 가 납땜이 되어있어서
다음과같은 코드로 버져를 구동시키면 LCd에 영향을 끼친다는 점입니다.
따라서 PORTG.4 의 비트 하나만가지고 토글을 시키려고했는데
PORTG 는 비트연산이 불가능하다는것을 키트님의 강의자료를 보고 알게되었습니다.
PORTG.4 만 토글을 시키고싶은데 방법이 없을까요????
//
#include <mega128.h>
#include <delay.h>
//
int flag=0;
//
interrupt[TIM1_COMPA]void tim1comp(void){
PORTG^=0x10; // PG4 토글
}
//
void main(void){
DDRG=0xff; PORTG=0xff;
TCCR1A=1<<COM1A0; TCCR1B=1<<WGM12|1<<CS10; TIMSK=1<<OCIE1A;
SREG=0x80;
while(1){
OCR1AH=0x77; OCR1AL=0x70; delay_ms(500);
OCR1AH=0x5d; OCR1AL=0xd0; delay_ms(500);
OCR1AH=0x4f; OCR1AL=0xc0; delay_ms(500);
}
}
댓글 : 0
조회수 : 4,918
등록된 댓글이 없습니다.