BASIC4MCU | 질문게시판 | 답변 : 코드비젼 바이트 단위에서는 비트 마스크를 사용하면 됩니다.
페이지 정보
작성자 master 작성일2018-06-12 00:27 조회7,049회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=1749
본문
// 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
조회수 7,049등록된 댓글이 없습니다.